SEOPress - Version 3.6

Version Description

  • NEW Using the pixel to calculate the length of title / meta description (beta)
  • NEW All translations are now maintained on TranslationsPress
  • NEW Remove static Shop page defined in WooCommerce settings from Breadcrumbs (PRO)
  • NEW Google Ads (SEO > Google Analytics > Tracking tab)
  • NEW Import redirects from Yoast Premium (PRO)
  • NEW Service schema (automatic and manual - PRO)
  • NEW "seopress_metaboxe_term_seo_priority" hook to filter SEO metabox priority in terms taxonomy
  • NEW "seopress_gtag_ua" hook to filter Google UA tag + features
  • NEW "seopress_gtag_ads" hook to filter Google Ads tag
  • NEW "seopress_pro_breadcrumbs_crumbs" hook to filter crumbs for breadcrumbs
  • NEW "seopress_sitemaps_html_cpt" hook to filter post types for HTML sitemap
  • NEW Add 'seopress_schemas_auto_service_html' hook to filter automatic service schema (PRO)
  • INFO Refactoring broken links checker feature (PRO)
  • INFO Remove stop words feature
  • INFO JSON-LD breadcrumbs is now automatically called in the head of your document (if enabled). No longer need to manually add the function in your theme.
  • INFO Improve UI for License page / displaying license error
  • INFO Improve UI for Tools page
  • INFO Improve CSS for Schemas
  • INFO Improve SEO metabox UI for term taxonomy
  • INFO Improve Content Analysis metabox UI
  • INFO Removal of the version number in the header of the SEO dashboard (too confusing)
  • INFO Significant performance improvement for Google Analytics widget in Dashboard
  • INFO Improve select values for automatic schemas
  • INFO Better Admin Columns PRO integration (thanks Stefan from ACPRO team @admincolumns)
  • INFO Minify some JS files to slightly improve performance
  • INFO Remove 100 CSS lines in seopress-pro.css
  • FIX Social meta tags for Shop Page (WooCommerce)
  • FIX Some translation strings
  • FIX Add a check to avoid displaying empty automatic schemas
  • FIX White Label: Remove SEOPress admin header
  • FIX SEO metabox position for term taxonomy is now using the setting defined in SEO > Advanced
  • FIX Undefined variable: article_img_height for article schema
  • FIX Undefined variable: article_img_width for article schema
  • FIX Redirections category filtering in backend
  • FIX JS error ctx is not defined when configuring Google Analytics widget in Dashboard
  • FIX Notice Only variables should be passed by reference in Import tool page
  • FIX CSS position sticky with Safari
  • FIX CSS for FAQ schema (Structured data types metabox)
  • FIX Display the searched keyword in the breadcrumb
  • FIX HTML Entities decode in placeholders for SEO metabox
  • FIX Product Global Identifiers type and value for manual Product schema
  • FIX Using WooCommerce product metas with automatic schemas
  • FIX Broken link checker percentage of completion
  • FIX Strip HTML comments in title / schemas (especially those of Gutenberg)
Download this release

Release Info

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

Code changes from version 3.5.8 to 3.6

Files changed (39) hide show
  1. assets/css/seopress.css +44 -1
  2. assets/css/seopress.min.css +1 -1
  3. assets/js/seopress-block-editor.js +0 -1
  4. assets/js/seopress-counters.js +187 -130
  5. assets/js/seopress-counters.min.js +1 -0
  6. assets/js/seopress-tabs8.js +29 -0
  7. contributors.txt +12 -6
  8. inc/admin/admin-header.php +1 -2
  9. inc/admin/admin-metaboxes-content-analysis-form.php +12 -5
  10. inc/admin/admin-metaboxes-form.php +26 -12
  11. inc/admin/admin-metaboxes.php +2 -2
  12. inc/admin/admin-term-metaboxes.php +36 -4
  13. inc/admin/admin-wizard.php +5 -5
  14. inc/admin/admin.php +663 -631
  15. inc/admin/ajax.php +0 -1
  16. inc/functions/options-advanced-admin-sw.php +0 -182
  17. inc/functions/options-google-analytics.php +24 -1
  18. inc/functions/options-import-export.php +52 -3
  19. inc/functions/options-sitemap.php +2 -0
  20. inc/functions/options-social.php +52 -14
  21. inc/functions/options-titles-metas.php +2 -2
  22. inc/functions/options.php +0 -6
  23. languages/wp-seopress-de_DE-formal.mo +0 -0
  24. languages/wp-seopress-de_DE-formal.po +0 -3881
  25. languages/wp-seopress-de_DE.mo +0 -0
  26. languages/wp-seopress-de_DE.po +0 -3382
  27. languages/wp-seopress-es_ES.mo +0 -0
  28. languages/wp-seopress-es_ES.po +0 -3329
  29. languages/wp-seopress-fr_FR.mo +0 -0
  30. languages/wp-seopress-fr_FR.po +0 -6145
  31. languages/wp-seopress-nl_NL.mo +0 -0
  32. languages/wp-seopress-nl_NL.po +0 -3422
  33. languages/wp-seopress-ru_RU.mo +0 -0
  34. languages/wp-seopress-ru_RU.po +0 -4255
  35. languages/wp-seopress.mo +0 -0
  36. languages/wp-seopress.po +0 -3934
  37. languages/wp-seopress.pot +888 -835
  38. readme.txt +68 -11
  39. seopress.php +10 -4
assets/css/seopress.css CHANGED
@@ -33,6 +33,37 @@
33
content: "\e800";
34
}
35
36
#seopress_content_analysis .wrap-seopress-analysis {
37
display: inline-block;
38
width: 100%;
@@ -137,6 +168,7 @@
137
#seopress_content_analysis .ui-tabs .ui-tabs-nav {
138
width: calc(100% + 24px);
139
margin: 0 0 0 -12px;
140
position: sticky;
141
top: 0;
142
}
@@ -192,6 +224,11 @@
192
}
193
194
#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 {
195
width: 100%;
196
}
197
@@ -325,8 +362,10 @@
325
text-align: right;
326
background: #eee;
327
padding: 2px 5px;
328
box-shadow: 0 1px 1px rgba(0,0,0,.2);
329
font-size: 12px;
330
}
331
332
#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 {
@@ -368,6 +407,7 @@
368
top: 2px;
369
padding: 0px 5px;
370
white-space: nowrap;
371
border: none;
372
background: 0 0;
373
}
@@ -382,7 +422,7 @@
382
}
383
384
#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
385
- margin-bottom: -2px;
386
padding-bottom: 1px;
387
}
388
@@ -548,6 +588,7 @@ body.seopress-styles {
548
font-weight: 700;
549
color: #3297d3;
550
text-transform: uppercase;
551
position: sticky;
552
top: 32px;
553
background: #fff;
@@ -1673,6 +1714,7 @@ body.seopress-styles {
1673
padding: 0 10px;
1674
line-height: inherit;
1675
background: #fff;
1676
position: sticky;
1677
top: 102px;
1678
width: calc(100% + 12px);
@@ -1687,6 +1729,7 @@ body.seopress-styles {
1687
border-bottom: 0;
1688
padding: 0;
1689
line-height: inherit;
1690
position: sticky;
1691
background: #f8fafd;
1692
z-index: 100;
33
content: "\e800";
34
}
35
36
+ .sp-tooltip {
37
+ position: relative;
38
+ margin-left: 5px;
39
+ display: inline-block;
40
+ cursor: help;
41
+ }
42
+
43
+ .sp-tooltip .dashicons {
44
+ color: #666;
45
+ }
46
+
47
+ .sp-tooltip .sp-tooltiptext {
48
+ visibility: hidden;
49
+ position: absolute;
50
+ z-index: 999999999;
51
+ color: #fff;
52
+ font-size: .8em;
53
+ background: #333;
54
+ text-align: center;
55
+ width: 240px;
56
+ right: 0px;
57
+ border-radius: 3px;
58
+ padding: .618em 1em;
59
+ box-shadow: 0 1px 3px rgba(0,0,0,.2);
60
+ top: 25px;
61
+ }
62
+
63
+ .sp-tooltip:hover .sp-tooltiptext {
64
+ visibility: visible;
65
+ }
66
+
67
#seopress_content_analysis .wrap-seopress-analysis {
68
display: inline-block;
69
width: 100%;
168
#seopress_content_analysis .ui-tabs .ui-tabs-nav {
169
width: calc(100% + 24px);
170
margin: 0 0 0 -12px;
171
+ position: -webkit-sticky; /* Required for Safari */
172
position: sticky;
173
top: 0;
174
}
224
}
225
226
#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 {
227
+ width: 90%;
228
+ display: inline-block;
229
+ }
230
+
231
+ #seopress_cpt #tabs-1 input {
232
width: 100%;
233
}
234
362
text-align: right;
363
background: #eee;
364
padding: 2px 5px;
365
+ display: flex;
366
box-shadow: 0 1px 1px rgba(0,0,0,.2);
367
font-size: 12px;
368
+ justify-content: flex-end;
369
}
370
371
#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 {
407
top: 2px;
408
padding: 0px 5px;
409
white-space: nowrap;
410
+ margin: 0;
411
border: none;
412
background: 0 0;
413
}
422
}
423
424
#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
425
+ margin-bottom: 2px;
426
padding-bottom: 1px;
427
}
428
588
font-weight: 700;
589
color: #3297d3;
590
text-transform: uppercase;
591
+ position: -webkit-sticky; /* Required for Safari */
592
position: sticky;
593
top: 32px;
594
background: #fff;
1714
padding: 0 10px;
1715
line-height: inherit;
1716
background: #fff;
1717
+ position: -webkit-sticky; /* Required for Safari */
1718
position: sticky;
1719
top: 102px;
1720
width: calc(100% + 12px);
1729
border-bottom: 0;
1730
padding: 0;
1731
line-height: inherit;
1732
+ position: -webkit-sticky; /* Required for Safari */
1733
position: sticky;
1734
background: #f8fafd;
1735
z-index: 100;
assets/css/seopress.min.css CHANGED
@@ -1 +1 @@
1
- #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format('embedded-opentype'),url(../fonts/seopress.woff?81521271) format('woff2'),url(../fonts/seopress.woff?81521271) format('woff'),url(../fonts/seopress.ttf?81521271) format('truetype'),url(../fonts/seopress.svg?81521271#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}.icon-seopress-seopress:before{content:"\e800"}#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:square;margin:5px;display:inline-block;background:#f1f1f1;padding:5px}#seopress_launch_analysis{float:left}#seopress_analysis_results_state{background:rgba(74,184,102,.75);color:#fff;padding:5px 25px 5px 20px;border-radius:100px;font-style:italic;position:relative;width:auto;display:inline-block;margin:0 0 0 20px;clear:both}#seopress_content_analysis h3{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;cursor:default}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress_cpt .inside{margin:0;padding:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav,#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_content_analysis .ui-tabs .ui-tabs-nav{width:calc(100% + 24px);margin:0 0 0 -12px;position:sticky;top:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav{margin-top:15px}#seopress_content_analysis .ui-helper-clearfix:after,#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_content_analysis .ui-tabs .ui-tabs-panel,#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_content_analysis .ui-tabs-anchor,#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:13px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#eee;padding:2px 5px;box-shadow:0 1px 1px rgba(0,0,0,.2);font-size:12px}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:5%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:10%}#seopress_content_analysis .ui-tabs,#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;border:none;background:0 0}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-2px;padding-bottom:1px}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-loading a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_content_analysis .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height: 40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a .dashicons,#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_content_analysis .ui-tabs .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-content a{color:#3297d3}#seopress-content a:hover{color:#106598}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;position:sticky;top:32px;background:#fff;z-index:100;padding:10px 0}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:50%;padding:10px;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);margin-left:20px}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:0;position:relative}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0;background:#f8fafd}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px;display:inline-block}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:53rem;box-sizing:border-box;position:relative}#seopress-header{margin:0 auto;position:relative;width:100%}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:relative;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:block;width:53rem;top:0;visibility:hidden;cursor:auto}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{padding:20px;margin:0;float:left;width:100%;box-sizing:border-box}#seopress-header #seopress-admin h1 .seopress-quick-access li{text-decoration:none;display:inline-block;width:50%;margin:0;float:left;padding:10px 0}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#444;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;height:100%;max-width:53rem;margin:20px auto 0}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:1.5rem;display:none}#seopress-tabs .seopress-tab.active{display:inline-block}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-page-list .seopress-feature,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 200px,#fff 0,#fff);margin:0 auto 20px;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.2);max-width:50rem;padding:1.5rem;width:100%;border-radius:4px}#seopress-notifications-center,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 400px,#fff 0,#fff)}.seopress-page-list .seopress-feature{padding:0 1.5rem;position:relative;overflow:hidden;transition-duration:.15s}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:100px;width:100px;background:#c4f0ff;position:absolute;border-radius:50%;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);top:calc(50% - 50px);left:20px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:60px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 30px);left:calc(50% - 30px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:block;padding:2rem 0 2rem 120px}.seopress-page-list .seopress-feature h3{margin:0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:#6a7c94;position:relative;height:auto}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .button{background:#fff;border:none;color:#6b7c93;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin-bottom:10px;border-radius:4px;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);vertical-align:baseline}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:35px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{float:right;margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:0;display:inline-block;margin:0 10px 10px 5px;border-bottom:1px solid #e6ebf1;width:calc(100% - 30px);position:relative;transition:all 150ms ease}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .seopress-alert p{display:inline-block}#seopress-notifications-center .seopress-alert .impact{padding:4px 5px;color:#fff;text-transform:uppercase;font-weight:700;font-size:10px;border-radius:4px}#seopress-notifications-center .seopress-alert .impact.low{background:#ffde24;color:#6b6543}#seopress-notifications-center .seopress-alert .impact.medium{background:#e39f48}#seopress-notifications-center .seopress-alert .impact.high{background:#e25950}#seopress-notifications-center .seopress-alert .impact.high.info{background:#0085ba}#seopress-notifications-center .seopress-alert .dashicons{color:#ffc82c}#seopress-notifications-center .dashicons.remove-notice{position:absolute;right:-55px;color:#6b7c93;font-size:30px;height:30px;width:30px;top:2px;padding:5px;transition:all .3s linear}#seopress-notifications-center .dashicons.remove-notice:hover{background:#e25950;color:#fff;cursor:pointer;border-radius:4px}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;width:inherit;height:inherit;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:12px;display:inline-block;background:rgba(0,140,135,.1);padding:5px 12px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}#seopress_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress_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-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-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:21px;padding:7px 14px 9px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank{margin:0 0 10px;width:100%;box-sizing:border-box;display:block}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_reach{font-size:30px;font-weight:700;display:inline-block;width:100%;padding:0 0 20px;text-align:right}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_reach .highlight{display:inline-block;font-size:16px;background:inherit;width:100%;margin-bottom:10px}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_delta{font-size:14px;display:inline-block;vertical-align:top;text-align:left;margin:0 20px 0 0}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_delta{width:100%;text-align:right;font-size:18px;font-style:italic}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank{text-align:left}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country .highlight,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank .highlight{background:0 0;font-weight:700}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country{margin-right:0}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank{margin-left:5px}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .minus .dashicons,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .plus .dashicons{font-style:italic}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .plus{color:green}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .minus{color:red}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0}#seopress-content input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:30px;width:50px;border-radius:15px}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:50px;background:rgba(19,191,17,1)}#seopress-content input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px rgba(19,191,17,1),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:14px;text-align:center;border-radius:50px;background:rgba(74,184,102,.75);top:50px;right:20px;z-index:500}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{border-bottom:1px solid RGB(238,238,238);margin:0 0 0 -16px;padding:0 10px;line-height:inherit;background:#fff;position:sticky;top:102px;width:calc(100% + 12px);z-index:95;font-weight:400}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:53rem;width:100%;border-bottom:0;padding:0;line-height:inherit;position:sticky;background:#f8fafd;z-index:100;top:31px;font-weight:400}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0}#seopress-admin-tabs .nav-tab,.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:8px 8px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{background:0 0;opacity:1;outline:0;font-weight:600;position:relative}.seopress-option .nav-tab-active::after{border-bottom:2px solid #0085ba;content:'';position:absolute;width:100%;bottom:0;left:0;display:block}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}#section-export-redirects,#section-import-redirects{margin-top:-120px;padding-top:120px}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:'';background:#dedede;height:1px;width:100%;display:block}#tab_seopress_social_accounts .help-social{position:relative;right:0;width:30%}#tab_seopress_social_accounts .form-table{float:left;width:70%}
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format('embedded-opentype'),url(../fonts/seopress.woff?81521271) format('woff2'),url(../fonts/seopress.woff?81521271) format('woff'),url(../fonts/seopress.ttf?81521271) format('truetype'),url(../fonts/seopress.svg?81521271#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;color:#fff;font-size:.8em;background:#333;text-align:center;width:240px;right:0;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);top:25px}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:square;margin:5px;display:inline-block;background:#f1f1f1;padding:5px}#seopress_launch_analysis{float:left}#seopress_analysis_results_state{background:rgba(74,184,102,.75);color:#fff;padding:5px 25px 5px 20px;border-radius:100px;font-style:italic;position:relative;width:auto;display:inline-block;margin:0 0 0 20px;clear:both}#seopress_content_analysis h3{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;cursor:default}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress_cpt .inside{margin:0;padding:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav,#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_content_analysis .ui-tabs .ui-tabs-nav{width:calc(100% + 24px);margin:0 0 0 -12px;position:-webkit-sticky;position:sticky;top:0}#seopress_content_analysis .ui-tabs .ui-tabs-nav{margin-top:15px}#seopress_content_analysis .ui-helper-clearfix:after,#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_content_analysis .ui-tabs .ui-tabs-panel,#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_content_analysis .ui-tabs-anchor,#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:90%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:13px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#eee;padding:2px 5px;display:flex;box-shadow:0 1px 1px rgba(0,0,0,.2);font-size:12px;justify-content: flex-end}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:5%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:10%}#seopress_content_analysis .ui-tabs,#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-loading a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_content_analysis .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_content_analysis .ui-tabs .ui-tabs-nav li a .dashicons,#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_content_analysis .ui-tabs .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .ui-tabs .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-content a{color:#3297d3}#seopress-content a:hover{color:#106598}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;position:-webkit-sticky;position:sticky;top:32px;background:#fff;z-index:100;padding:10px 0}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:50%;padding:10px;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);margin-left:20px}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:0;position:relative}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0;background:#f8fafd}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px;display:inline-block}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:53rem;box-sizing:border-box;position:relative}#seopress-header{margin:0 auto;position:relative;width:100%}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:relative;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:block;width:53rem;top:0;visibility:hidden;cursor:auto}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{padding:20px;margin:0;float:left;width:100%;box-sizing:border-box}#seopress-header #seopress-admin h1 .seopress-quick-access li{text-decoration:none;display:inline-block;width:50%;margin:0;float:left;padding:10px 0}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#444;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;height:100%;max-width:53rem;margin:20px auto 0}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:1.5rem;display:none}#seopress-tabs .seopress-tab.active{display:inline-block}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-page-list .seopress-feature,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 200px,#fff 0,#fff);margin:0 auto 20px;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.2);max-width:50rem;padding:1.5rem;width:100%;border-radius:4px}#seopress-notifications-center,.seopress-useful-tools{background:linear-gradient(172deg,#f5f7fa,#f5f7fa 400px,#fff 0,#fff)}.seopress-page-list .seopress-feature{padding:0 1.5rem;position:relative;overflow:hidden;transition-duration:.15s}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:100px;width:100px;background:#c4f0ff;position:absolute;border-radius:50%;box-shadow:0 4px 6px rgba(50,50,93,.1),0 1px 3px rgba(0,0,0,.1);top:calc(50% - 50px);left:20px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:60px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 30px);left:calc(50% - 30px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:block;padding:2rem 0 2rem 120px}.seopress-page-list .seopress-feature h3{margin:0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:#6a7c94;position:relative;height:auto}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-option .button{background:#fff;border:none;color:#6b7c93;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin-bottom:10px;border-radius:4px;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);vertical-align:baseline}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:35px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{float:right;margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:0;display:inline-block;margin:0 10px 10px 5px;border-bottom:1px solid #e6ebf1;width:calc(100% - 30px);position:relative;transition:all 150ms ease}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .seopress-alert p{display:inline-block}#seopress-notifications-center .seopress-alert .impact{padding:4px 5px;color:#fff;text-transform:uppercase;font-weight:700;font-size:10px;border-radius:4px}#seopress-notifications-center .seopress-alert .impact.low{background:#ffde24;color:#6b6543}#seopress-notifications-center .seopress-alert .impact.medium{background:#e39f48}#seopress-notifications-center .seopress-alert .impact.high{background:#e25950}#seopress-notifications-center .seopress-alert .impact.high.info{background:#0085ba}#seopress-notifications-center .seopress-alert .dashicons{color:#ffc82c}#seopress-notifications-center .dashicons.remove-notice{position:absolute;right:-55px;color:#6b7c93;font-size:30px;height:30px;width:30px;top:2px;padding:5px;transition:all .3s linear}#seopress-notifications-center .dashicons.remove-notice:hover{background:#e25950;color:#fff;cursor:pointer;border-radius:4px}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;width:inherit;height:inherit;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:12px;display:inline-block;background:rgba(0,140,135,.1);padding:5px 12px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}#seopress_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress_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-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-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:21px;padding:7px 14px 9px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank{margin:0 0 10px;width:100%;box-sizing:border-box;display:block}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_reach{font-size:30px;font-weight:700;display:inline-block;width:100%;padding:0 0 20px;text-align:right}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_reach .highlight{display:inline-block;font-size:16px;background:inherit;width:100%;margin-bottom:10px}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_delta{font-size:14px;display:inline-block;vertical-align:top;text-align:left;margin:0 20px 0 0}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_delta{width:100%;text-align:right;font-size:18px;font-style:italic}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank{text-align:left}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country .highlight,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank .highlight{background:0 0;font-weight:700}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country{margin-right:0}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .seopress_alexa_rank_country_rank{margin-left:5px}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .minus .dashicons,#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .plus .dashicons{font-style:italic}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .plus{color:green}#seopress-content .seopress-useful-tools .widget-alexa .wrap-alexa-rank .minus{color:red}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0}#seopress-content input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:30px;width:50px;border-radius:15px}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:30px;width:30px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:50px;background:rgba(19,191,17,1)}#seopress-content input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px rgba(19,191,17,1),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:14px;text-align:center;border-radius:50px;background:rgba(74,184,102,.75);top:50px;right:20px;z-index:500}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{border-bottom:1px solid RGB(238,238,238);margin:0 0 0 -16px;padding:0 10px;line-height:inherit;background:#fff;position:-webkit-sticky;position:sticky;top:102px;width:calc(100% + 12px);z-index:95;font-weight:400}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:53rem;width:100%;border-bottom:0;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f8fafd;z-index:100;top:31px;font-weight:400}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0}#seopress-admin-tabs .nav-tab,.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:8px 8px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{background:0 0;opacity:1;outline:0;font-weight:600;position:relative}.seopress-option .nav-tab-active::after{border-bottom:2px solid #0085ba;content:'';position:absolute;width:100%;bottom:0;left:0;display:block}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}#section-export-redirects,#section-import-redirects{margin-top:-120px;padding-top:120px}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:'';background:#dedede;height:1px;width:100%;display:block}#tab_seopress_social_accounts .help-social{position:relative;right:0;width:30%}#tab_seopress_social_accounts .form-table{float:left;width:70%}
assets/js/seopress-block-editor.js CHANGED
@@ -9,7 +9,6 @@ let hasSaved = false;
9
const isSaved = editor && editor.didPostSaveRequestSucceed();
10
11
if ( ! hasSaved && isSaved ) {
12
-
13
jQuery.ajax({
14
method : 'GET',
15
url : seopressAjaxRealPreview.seopress_real_preview,
9
const isSaved = editor && editor.didPostSaveRequestSucceed();
10
11
if ( ! hasSaved && isSaved ) {
12
jQuery.ajax({
13
method : 'GET',
14
url : seopressAjaxRealPreview.seopress_real_preview,
assets/js/seopress-counters.js CHANGED
@@ -1,141 +1,198 @@
1
//Title tag counters / live preview
2
function sp_titles_counters(){
3
- jQuery("#seopress_titles_title_counters").after("<div id=\"seopress_titles_title_counters_val\">/ 60</div>");
4
-
5
- if(jQuery('#seopress_titles_title_meta').val().length > 0) {
6
- jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
7
- } else if(jQuery('#seopress_titles_title_meta').attr('placeholder').length) {
8
- jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").attr('placeholder').length);
9
- }
10
-
11
- if(jQuery('#seopress_titles_title_meta').val().length > 60){
12
- jQuery('#seopress_titles_title_counters').css('color', 'red');
13
- } else if(jQuery('#seopress_titles_title_meta').attr('placeholder').length > 60) {
14
- jQuery('#seopress_titles_title_counters').css('color', 'red');
15
- }
16
- jQuery("#seopress_titles_title_meta").keyup(function(event) {
17
- jQuery('#seopress_titles_title_counters').css('color', 'inherit');
18
- if(jQuery(this).val().length > 60){
19
- jQuery('#seopress_titles_title_counters').css('color', 'red');
20
- }
21
- if(jQuery('#seopress_titles_title_meta').val().length > 0) {
22
- jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
23
- } else if(jQuery('#seopress_titles_title_meta').attr('placeholder').length) {
24
- jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").attr('placeholder').length);
25
- }
26
-
27
- if(jQuery(this).val().length > 0){
28
- jQuery(".snippet-title-custom").text(event.target.value);
29
- jQuery(".snippet-title").css('display', 'none');
30
- jQuery(".snippet-title-custom").css('display', 'block');
31
- jQuery(".snippet-title-default").css('display', 'none');
32
- } else if(jQuery(this).val().length == 0) {
33
- jQuery(".snippet-title-default").css('display', 'block');
34
- jQuery(".snippet-title-custom").css('display', 'none');
35
- jQuery(".snippet-title").css('display', 'none');
36
- };
37
- });
38
};
39
40
//Meta description counters / live preview
41
function sp_meta_desc_counters(){
42
- jQuery("#seopress_titles_desc_counters").after("<div id=\"seopress_titles_desc_counters_val\">/ 160</div>");
43
-
44
- if(jQuery('#seopress_titles_desc_meta').val().length > 0) {
45
- jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
46
- } else if(jQuery('#seopress_titles_desc_meta').attr('placeholder').length) {
47
- jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").attr('placeholder').length);
48
- }
49
-
50
- if(jQuery('#seopress_titles_desc_meta').val().length > 160){
51
- jQuery('#seopress_titles_desc_counters').css('color', 'red');
52
- } else if(jQuery('#seopress_titles_desc_meta').attr('placeholder').length > 160) {
53
- jQuery('#seopress_titles_desc_counters').css('color', 'red');
54
- }
55
-
56
- jQuery("#seopress_titles_desc_meta").keyup(function(event) {
57
- jQuery('#seopress_titles_desc_counters').css('color', 'inherit');
58
- if(jQuery(this).val().length > 160){
59
- jQuery('#seopress_titles_desc_counters').css('color', 'red');
60
- }
61
-
62
- if(jQuery('#seopress_titles_desc_meta').val().length > 0) {
63
- jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
64
- } else if(jQuery('#seopress_titles_desc_meta').attr('placeholder').length) {
65
- jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").attr('placeholder').length);
66
- }
67
-
68
- if(jQuery(this).val().length > 0){
69
- jQuery(".snippet-description-custom").text(event.target.value);
70
- jQuery(".snippet-description").css('display', 'none');
71
- jQuery(".snippet-description-custom").css('display', 'inline');
72
- jQuery(".snippet-description-default").css('display', 'none');
73
- } else if(jQuery(this).val().length == 0) {
74
- jQuery(".snippet-description-default").css('display', 'inline');
75
- jQuery(".snippet-description-custom").css('display', 'none');
76
- jQuery(".snippet-description").css('display', 'none');
77
- };
78
- });
79
-
80
- jQuery("#excerpt").keyup(function(event) {
81
- if(jQuery('#seopress_titles_desc_meta').val().length == 0){
82
- if (jQuery(".snippet-description-custom").val().length == 0) {
83
- jQuery(".snippet-description-custom").text(event.target.value);
84
- jQuery(".snippet-description").css('display', 'none');
85
- jQuery(".snippet-description-custom").css('display', 'inline');
86
- jQuery(".snippet-description-default").css('display', 'none');
87
- }
88
- }
89
- });
90
};
91
92
//Real Preview / Content Analysis
93
jQuery(document).ready(function(){
94
- //Tabs
95
- jQuery("#seopress-analysis-tabs .hidden").removeClass('hidden');
96
- jQuery("#seopress-analysis-tabs").tabs();
97
- //Real Preview
98
- function seopress_real_preview() {
99
- jQuery.ajax({
100
- method : 'GET',
101
- url : seopressAjaxRealPreview.seopress_real_preview,
102
- data: {
103
- action: 'seopress_do_real_preview',
104
- post_id: jQuery('#seopress-tabs').attr('data_id'),
105
- tax_name: jQuery('#seopress-tabs').attr('data_tax'),
106
- origin: jQuery('#seopress-tabs').attr('data_origin'),
107
- post_type: jQuery('#seopress_launch_analysis').attr('data_post_type'),
108
- seopress_analysis_target_kw: jQuery('#seopress_analysis_target_kw_meta').val(),
109
- _ajax_nonce: seopressAjaxRealPreview.seopress_nonce,
110
- },
111
- success : function( data ) {
112
- jQuery( '#seopress_cpt .google-snippet-preview .snippet-title' ).html(data.data.title);
113
- jQuery( '#seopress_cpt .google-snippet-preview .snippet-title-default' ).html(data.data.title);
114
- jQuery( '#seopress_titles_title_meta' ).attr("placeholder", data.data.title);
115
- jQuery( '#seopress_cpt .google-snippet-preview .snippet-description' ).html(data.data.meta_desc);
116
- jQuery( '#seopress_cpt .google-snippet-preview .snippet-description-default' ).html(data.data.meta_desc);
117
- jQuery( '#seopress_titles_desc_meta' ).attr("placeholder", data.data.meta_desc);
118
- jQuery( '#seopress_cpt #seopress_social_fb_title_meta' ).attr("placeholder", data.data.og_title);
119
- jQuery( '#seopress_cpt #seopress_social_fb_desc_meta' ).attr("placeholder", data.data.og_desc);
120
- jQuery( '#seopress_cpt #seopress_social_fb_img_meta' ).attr("placeholder", data.data.og_img);
121
- jQuery( '#seopress_cpt #seopress_social_twitter_title_meta' ).attr("placeholder", data.data.tw_title);
122
- jQuery( '#seopress_cpt #seopress_social_twitter_desc_meta' ).attr("placeholder", data.data.tw_desc);
123
- jQuery( '#seopress_cpt #seopress_social_twitter_img_meta' ).attr("placeholder", data.data.tw_img);
124
- jQuery( '#seopress_analysis_results_state' ).fadeIn().css('display', 'inline-block');
125
- jQuery( '#seopress_analysis_results_state' ).delay(3500).fadeOut();
126
- jQuery( '#seopress-analysis-tabs-1' ).load(' #seopress-analysis-tabs-1');
127
- jQuery( '#seopress-analysis-tabs-2' ).load(' #seopress-analysis-tabs-2');
128
- jQuery( '#seopress-analysis-tabs-3' ).load(' #seopress-analysis-tabs-3');
129
- jQuery( '#seopress-analysis-tabs-4' ).load(' #seopress-analysis-tabs-4');
130
- jQuery(' #seopress_titles_title_counters_val' ).remove();
131
- jQuery(' #seopress_titles_desc_counters_val' ).remove();
132
- sp_titles_counters();
133
- sp_meta_desc_counters();
134
- },
135
- });
136
- };
137
- seopress_real_preview();
138
- jQuery('#seopress_launch_analysis').on('click', function() {
139
- seopress_real_preview();
140
- });
141
});
1
//Title tag counters / live preview
2
function sp_titles_counters(){
3
+ jQuery("#seopress_titles_title_counters").after("<div id=\"seopress_titles_title_counters_val\">/ 60</div>");
4
+
5
+ //Init values
6
+ if(jQuery('#seopress_titles_title_meta').val().length > 0) {
7
+ jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
8
+ jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").val()));
9
+ } else if(jQuery('#seopress_titles_title_meta').attr('placeholder').length) {
10
+ jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").attr('placeholder').length);
11
+ jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").attr('placeholder')));
12
+ }
13
+
14
+ if(jQuery('#seopress_titles_title_meta').val().length > 60){
15
+ jQuery('#seopress_titles_title_counters').css('color', 'red');
16
+ } else if(jQuery('#seopress_titles_title_meta').attr('placeholder').length > 60) {
17
+ jQuery('#seopress_titles_title_counters').css('color', 'red');
18
+ }
19
+
20
+ //Pixels
21
+ if(pixelTitle(jQuery('#seopress_titles_title_meta').val()) > 568){
22
+ jQuery('#seopress_titles_title_pixel').css('color', 'red');
23
+ } else if(pixelTitle(jQuery('#seopress_titles_title_meta').attr('placeholder')) > 568) {
24
+ jQuery('#seopress_titles_title_pixel').css('color', 'red');
25
+ }
26
+
27
+ jQuery("#seopress_titles_title_meta").keyup(function(event) {
28
+ jQuery('#seopress_titles_title_counters').css('color', 'inherit');
29
+ jQuery('#seopress_titles_title_pixel').css('color', 'inherit');
30
+
31
+ if(jQuery(this).val().length > 60){
32
+ jQuery('#seopress_titles_title_counters').css('color', 'red');
33
+ }
34
+
35
+ if(pixelTitle(jQuery(this).val()) > 568){
36
+ jQuery('#seopress_titles_title_pixel').css('color', 'red');
37
+ }
38
+
39
+ if(jQuery('#seopress_titles_title_meta').val().length > 0) {
40
+ jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length);
41
+ jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").val()));
42
+ } else if(jQuery('#seopress_titles_title_meta').attr('placeholder').length) {
43
+ jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").attr('placeholder').length);
44
+ jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").attr('placeholder')));
45
+ }
46
+
47
+ if(jQuery(this).val().length > 0){
48
+ jQuery(".snippet-title-custom").text(event.target.value);
49
+ jQuery(".snippet-title").css('display', 'none');
50
+ jQuery(".snippet-title-custom").css('display', 'block');
51
+ jQuery(".snippet-title-default").css('display', 'none');
52
+ } else if(jQuery(this).val().length == 0) {
53
+ jQuery(".snippet-title-default").css('display', 'block');
54
+ jQuery(".snippet-title-custom").css('display', 'none');
55
+ jQuery(".snippet-title").css('display', 'none');
56
+ };
57
+ });
58
};
59
60
//Meta description counters / live preview
61
function sp_meta_desc_counters(){
62
+ jQuery("#seopress_titles_desc_counters").after("<div id=\"seopress_titles_desc_counters_val\">/ 160</div>");
63
+
64
+ //Init values
65
+ if(jQuery('#seopress_titles_desc_meta').val().length > 0) {
66
+ jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
67
+ jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").val()));
68
+ } else if(jQuery('#seopress_titles_desc_meta').attr('placeholder').length) {
69
+ jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").attr('placeholder').length);
70
+ jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").attr('placeholder')));
71
+ }
72
+
73
+ if(jQuery('#seopress_titles_desc_meta').val().length > 160){
74
+ jQuery('#seopress_titles_desc_counters').css('color', 'red');
75
+ } else if(jQuery('#seopress_titles_desc_meta').attr('placeholder').length > 160) {
76
+ jQuery('#seopress_titles_desc_counters').css('color', 'red');
77
+ }
78
+
79
+ //Pixels
80
+ if(pixelTitle(jQuery('#seopress_titles_desc_meta').val()) > 940){
81
+ jQuery('#seopress_titles_desc_pixel').css('color', 'red');
82
+ } else if(pixelTitle(jQuery('#seopress_titles_desc_meta').attr('placeholder')) > 940) {
83
+ jQuery('#seopress_titles_desc_pixel').css('color', 'red');
84
+ }
85
+
86
+ jQuery("#seopress_titles_desc_meta").keyup(function(event) {
87
+ jQuery('#seopress_titles_desc_counters').css('color', 'inherit');
88
+ if(jQuery(this).val().length > 160){
89
+ jQuery('#seopress_titles_desc_counters').css('color', 'red');
90
+ }
91
+
92
+ if(pixelTitle(jQuery(this).val()) > 940){
93
+ jQuery('#seopress_titles_desc_pixel').css('color', 'red');
94
+ }
95
+
96
+ if(jQuery('#seopress_titles_desc_meta').val().length > 0) {
97
+ jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length);
98
+ jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").val()));
99
+ } else if(jQuery('#seopress_titles_desc_meta').attr('placeholder').length) {
100
+ jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").attr('placeholder').length);
101
+ jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").attr('placeholder')));
102
+ }
103
+
104
+ if(jQuery(this).val().length > 0){
105
+ jQuery(".snippet-description-custom").text(event.target.value);
106
+ jQuery(".snippet-description").css('display', 'none');
107
+ jQuery(".snippet-description-custom").css('display', 'inline');
108
+ jQuery(".snippet-description-default").css('display', 'none');
109
+ } else if(jQuery(this).val().length == 0) {
110
+ jQuery(".snippet-description-default").css('display', 'inline');
111
+ jQuery(".snippet-description-custom").css('display', 'none');
112
+ jQuery(".snippet-description").css('display', 'none');
113
+ };
114
+ });
115
+
116
+ jQuery("#excerpt").keyup(function(event) {
117
+ if(jQuery('#seopress_titles_desc_meta').val().length == 0){
118
+ if (jQuery(".snippet-description-custom").val().length == 0) {
119
+ jQuery(".snippet-description-custom").text(event.target.value);
120
+ jQuery(".snippet-description").css('display', 'none');
121
+ jQuery(".snippet-description-custom").css('display', 'inline');
122
+ jQuery(".snippet-description-default").css('display', 'none');
123
+ }
124
+ }
125
+ });
126
};
127
128
+ /*
129
+ Title / meta desc length in Pixels
130
+ Credits: francois@gokam.co.uk + Benjamin Denis
131
+ Note: the first character is a nonbreaking space
132
+ */
133
+ function pixelTitle(input) {
134
+ var letter = ' ·˙・«»àô€ÀÈÊÉéèê !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuüvwxyz{|}~–\n\r‘’£';
135
+ var pixel = [5,6,6,18,10,10,10,10,10,12,12,12,12,10,10,10,5,5,6,10,10,16,12,3,6,6,7,11,5,6,5,5,10,10,10,10,10,10,10,10,10,10,5,5,11,11,11,10,18,12,12,13,13,12,11,14,13,5,9,12,10,15,13,14,12,14,13,12,11,13,12,17,12,12,11,5,5,5,8,10,6,10,10,9,10,10,5,10,10,4,4,9,4,15,10,10,10,10,6,9,9,5,10,9,13,9,9,9,6,5,6,11,10,0,0,4,4,10]
136
+ var total = 0;
137
+ for (var i = 0; i < input.length; i++) {
138
+ total = total + pixel[letter.indexOf(input.substring(i,i+1))];
139
+ }
140
+ return total;
141
+ }
142
+
143
//Real Preview / Content Analysis
144
jQuery(document).ready(function(){
145
+ //Tabs
146
+ jQuery("#seopress-analysis-tabs .hidden").removeClass('hidden');
147
+ jQuery("#seopress-analysis-tabs").tabs();
148
+ //Real Preview
149
+ function seopress_real_preview() {
150
+ jQuery.ajax({
151
+ method : 'GET',
152
+ url : seopressAjaxRealPreview.seopress_real_preview,
153
+ data: {
154
+ action: 'seopress_do_real_preview',
155
+ post_id: jQuery('#seopress-tabs').attr('data_id'),
156
+ tax_name: jQuery('#seopress-tabs').attr('data_tax'),
157
+ origin: jQuery('#seopress-tabs').attr('data_origin'),
158
+ post_type: jQuery('#seopress_launch_analysis').attr('data_post_type'),
159
+ seopress_analysis_target_kw: jQuery('#seopress_analysis_target_kw_meta').val(),
160
+ _ajax_nonce: seopressAjaxRealPreview.seopress_nonce,
161
+ },
162
+ success : function( data ) {
163
+ Object.keys(data.data).forEach(key => {
164
+ let a = document.createElement('textarea');
165
+ a.innerHTML = data.data[key];
166
+ data.data[key] = a.textContent;
167
+ });
168
+
169
+ jQuery( '#seopress_cpt .google-snippet-preview .snippet-title' ).html(data.data.title);
170
+ jQuery( '#seopress_cpt .google-snippet-preview .snippet-title-default' ).html(data.data.title);
171
+ jQuery( '#seopress_titles_title_meta' ).attr("placeholder", data.data.title);
172
+ jQuery( '#seopress_cpt .google-snippet-preview .snippet-description' ).html(data.data.meta_desc);
173
+ jQuery( '#seopress_cpt .google-snippet-preview .snippet-description-default' ).html(data.data.meta_desc);
174
+ jQuery( '#seopress_titles_desc_meta' ).attr("placeholder", data.data.meta_desc);
175
+ jQuery( '#seopress_cpt #seopress_social_fb_title_meta' ).attr("placeholder", data.data.og_title);
176
+ jQuery( '#seopress_cpt #seopress_social_fb_desc_meta' ).attr("placeholder", data.data.og_desc);
177
+ jQuery( '#seopress_cpt #seopress_social_fb_img_meta' ).attr("placeholder", data.data.og_img);
178
+ jQuery( '#seopress_cpt #seopress_social_twitter_title_meta' ).attr("placeholder", data.data.tw_title);
179
+ jQuery( '#seopress_cpt #seopress_social_twitter_desc_meta' ).attr("placeholder", data.data.tw_desc);
180
+ jQuery( '#seopress_cpt #seopress_social_twitter_img_meta' ).attr("placeholder", data.data.tw_img);
181
+ jQuery( '#seopress_analysis_results_state' ).fadeIn().css('display', 'inline-block');
182
+ jQuery( '#seopress_analysis_results_state' ).delay(3500).fadeOut();
183
+ jQuery( '#seopress-analysis-tabs-1' ).load(' #seopress-analysis-tabs-1');
184
+ jQuery( '#seopress-analysis-tabs-2' ).load(' #seopress-analysis-tabs-2');
185
+ jQuery( '#seopress-analysis-tabs-3' ).load(' #seopress-analysis-tabs-3');
186
+ jQuery( '#seopress-analysis-tabs-4' ).load(' #seopress-analysis-tabs-4');
187
+ jQuery(' #seopress_titles_title_counters_val' ).remove();
188
+ jQuery(' #seopress_titles_desc_counters_val' ).remove();
189
+ sp_titles_counters();
190
+ sp_meta_desc_counters();
191
+ },
192
+ });
193
+ };
194
+ seopress_real_preview();
195
+ jQuery('#seopress_launch_analysis').on('click', function() {
196
+ seopress_real_preview();
197
+ });
198
});
assets/js/seopress-counters.min.js ADDED
@@ -0,0 +1 @@
1
+ function sp_titles_counters(){jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),jQuery("#seopress_titles_title_meta").val().length>0?(jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").val()))):jQuery("#seopress_titles_title_meta").attr("placeholder").length&&(jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").attr("placeholder").length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").attr("placeholder")))),jQuery("#seopress_titles_title_meta").val().length>60?jQuery("#seopress_titles_title_counters").css("color","red"):jQuery("#seopress_titles_title_meta").attr("placeholder").length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(jQuery("#seopress_titles_title_meta").val())>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(jQuery("#seopress_titles_title_meta").attr("placeholder"))>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),jQuery("#seopress_titles_title_meta").keyup(function(e){jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),jQuery(this).val().length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(jQuery(this).val())>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),jQuery("#seopress_titles_title_meta").val().length>0?(jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").val().length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").val()))):jQuery("#seopress_titles_title_meta").attr("placeholder").length&&(jQuery("#seopress_titles_title_counters").text(jQuery("#seopress_titles_title_meta").attr("placeholder").length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(jQuery("#seopress_titles_title_meta").attr("placeholder")))),jQuery(this).val().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==jQuery(this).val().length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none"))})}function sp_meta_desc_counters(){jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),jQuery("#seopress_titles_desc_meta").val().length>0?(jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").val()))):jQuery("#seopress_titles_desc_meta").attr("placeholder").length&&(jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").attr("placeholder").length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").attr("placeholder")))),jQuery("#seopress_titles_desc_meta").val().length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):jQuery("#seopress_titles_desc_meta").attr("placeholder").length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(jQuery("#seopress_titles_desc_meta").val())>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelTitle(jQuery("#seopress_titles_desc_meta").attr("placeholder"))>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),jQuery("#seopress_titles_desc_meta").keyup(function(e){jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery(this).val().length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(jQuery(this).val())>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),jQuery("#seopress_titles_desc_meta").val().length>0?(jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").val().length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").val()))):jQuery("#seopress_titles_desc_meta").attr("placeholder").length&&(jQuery("#seopress_titles_desc_counters").text(jQuery("#seopress_titles_desc_meta").attr("placeholder").length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(jQuery("#seopress_titles_desc_meta").attr("placeholder")))),jQuery(this).val().length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==jQuery(this).val().length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none"))}),jQuery("#excerpt").keyup(function(e){0==jQuery("#seopress_titles_desc_meta").val().length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none"))})}function pixelTitle(e){for(var s=[5,10,10,10,10,10,12,12,12,12,10,10,10,5,5,6,10,10,16,12,3,6,6,7,11,5,6,5,5,10,10,10,10,10,10,10,10,10,10,5,5,11,11,11,10,18,12,12,13,13,12,11,14,13,5,9,12,10,15,13,14,12,14,13,12,11,13,12,17,12,12,11,5,5,5,8,10,6,10,10,9,10,10,5,10,10,4,4,9,4,15,10,10,10,10,6,9,5,10,9,13,9,9,9,6,5,6,11,10,0,0,4,4,10],t=0,r=0;r<e.length;r++)t+=s[" «»àô€ÀÈÊÉéèê !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~–\n\r‘’£".indexOf(e.substring(r,r+1))];return t}jQuery(document).ready(function(){function e(){jQuery.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:jQuery("#seopress-tabs").attr("data_id"),tax_name:jQuery("#seopress-tabs").attr("data_tax"),origin:jQuery("#seopress-tabs").attr("data_origin"),post_type:jQuery("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:jQuery("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},success:function(e){Object.keys(e.data).forEach(s=>{let t=document.createElement("textarea");t.innerHTML=e.data[s],e.data[s]=t.textContent}),jQuery("#seopress_cpt .google-snippet-preview .snippet-title").html(e.data.title),jQuery("#seopress_cpt .google-snippet-preview .snippet-title-default").html(e.data.title),jQuery("#seopress_titles_title_meta").attr("placeholder",e.data.title),jQuery("#seopress_cpt .google-snippet-preview .snippet-description").html(e.data.meta_desc),jQuery("#seopress_cpt .google-snippet-preview .snippet-description-default").html(e.data.meta_desc),jQuery("#seopress_titles_desc_meta").attr("placeholder",e.data.meta_desc),jQuery("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",e.data.og_title),jQuery("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",e.data.og_desc),jQuery("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",e.data.og_img),jQuery("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",e.data.tw_title),jQuery("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",e.data.tw_desc),jQuery("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",e.data.tw_img),jQuery("#seopress_analysis_results_state").fadeIn().css("display","inline-block"),jQuery("#seopress_analysis_results_state").delay(3500).fadeOut(),jQuery("#seopress-analysis-tabs-1").load(" #seopress-analysis-tabs-1"),jQuery("#seopress-analysis-tabs-2").load(" #seopress-analysis-tabs-2"),jQuery("#seopress-analysis-tabs-3").load(" #seopress-analysis-tabs-3"),jQuery("#seopress-analysis-tabs-4").load(" #seopress-analysis-tabs-4"),jQuery(" #seopress_titles_title_counters_val").remove(),jQuery(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters()}})}jQuery("#seopress-analysis-tabs .hidden").removeClass("hidden"),jQuery("#seopress-analysis-tabs").tabs(),e(),jQuery("#seopress_launch_analysis").on("click",function(){e()})});
assets/js/seopress-tabs8.js ADDED
@@ -0,0 +1,29 @@
1
+ jQuery(document).ready(function($) {
2
+ if(typeof sessionStorage!='undefined') {
3
+ var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_tool_settings");
4
+ if (seopress_tab_session_storage) {
5
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
+
8
+ jQuery('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
+ jQuery('#'+seopress_tab_session_storage).addClass("active");
10
+ } else {
11
+ //Default TAB
12
+ jQuery('#tab_seopress_tool_settings-tab').addClass("nav-tab-active");
13
+ jQuery('#tab_seopress_tool_settings').addClass("active");
14
+ }
15
+ };
16
+ jQuery("#seopress-tabs").find("a.nav-tab").click(function(e){
17
+ e.preventDefault();
18
+ var hash = jQuery(this).attr('href').split('#tab=')[1];
19
+
20
+ jQuery('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
21
+ jQuery('#'+hash+'-tab').addClass("nav-tab-active");
22
+
23
+
24
+ sessionStorage.setItem("tab_seopress_tool_settings", hash);
25
+
26
+ jQuery('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
27
+ jQuery('#'+hash).addClass("active");
28
+ });
29
+ });
contributors.txt CHANGED
@@ -12,20 +12,26 @@ A11Y:
12
13
Beta testers / feedbacks:
14
- Mickael Gris: mickael.gris@gmail.com / @mickaelgris
15
- - Aurélien Denis: contact@wp-alacarte.com / @wpchannel
16
- Sébastien Serre: @sebastienserre
17
- Ludovic Riaudel: @lriaudel
18
19
Translators:
20
- French: Didier Wolforg, @rainbowgeek, and Clément Polito + WP-Translations
21
- English: @rainbowgeek + WP-Translations
22
- Italian: Déborah Donnier @deborahdonnier
23
- - Spanish: Rafael Salguero + WP-Translations
24
- - German: @likemike2425 + WP-Translations
25
- - Japan: @s_tayama and @miccweb
26
- - Dutch: Sebastiaan Hendriks
27
- Vietnamese: Anh
28
- - Russian: @Dmitriy
29
- Tamil: Sankar Srinivasan
30
- Brazilian Portuguese: Daniel Pechmann
31
- Telugu: Manoj Kumar
12
13
Beta testers / feedbacks:
14
- Mickael Gris: mickael.gris@gmail.com / @mickaelgris
15
+ - Aurélien Denis: aurelien.denis@neticpro.fr / @wpchannel
16
- Sébastien Serre: @sebastienserre
17
- Ludovic Riaudel: @lriaudel
18
19
+ Integrations:
20
+ - The Admin Columns PRO team
21
+ - The Polylang team
22
+ - The WPML team
23
+ - The Weglot team
24
+
25
Translators:
26
- French: Didier Wolforg, @rainbowgeek, and Clément Polito + WP-Translations
27
- English: @rainbowgeek + WP-Translations
28
+ - Spanish: WP-Translations
29
+ - German: WP-Translations
30
+ - Japan: WP-Translations
31
+ - Dutch: WP-Translations
32
- Italian: Déborah Donnier @deborahdonnier
33
- Vietnamese: Anh
34
+ - Russian: WP-Translations
35
- Tamil: Sankar Srinivasan
36
- Brazilian Portuguese: Daniel Pechmann
37
- Telugu: Manoj Kumar
inc/admin/admin-header.php CHANGED
@@ -21,12 +21,11 @@ function seopress_admin_header() { ?>
21
<?php } else { ?>
22
<strong>
23
<?php _e('PRO', 'wp-seopress'); ?>
24
- <?php echo SEOPRESS_VERSION; ?>
25
</strong>
26
<?php } ?>
27
</span>
28
<?php } else { ?>
29
- <span class="seopress-info-version"><?php echo SEOPRESS_VERSION; ?></span>
30
<?php } ?>
31
<div class="seopress-quick-access">
32
<ul>
21
<?php } else { ?>
22
<strong>
23
<?php _e('PRO', 'wp-seopress'); ?>
24
</strong>
25
<?php } ?>
26
</span>
27
<?php } else { ?>
28
+ <span class="seopress-info-version"><?php _e('FREE', 'wp-seopress'); ?></span>
29
<?php } ?>
30
<div class="seopress-quick-access">
31
<ul>
inc/admin/admin-metaboxes-content-analysis-form.php CHANGED
@@ -8,7 +8,10 @@ echo '<div class="wrap-seopress-analysis">
8
<p>
9
<label for="seopress_analysis_target_kw_meta">'. __( 'Target keywords', 'wp-seopress' ) .'</label>
10
<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.'" />
11
- <span class="howto">'.__('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>
12
</p>';
13
if (empty($seopress_analysis_data)) {
14
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>';
@@ -21,10 +24,14 @@ echo '<div class="wrap-seopress-analysis">
21
echo '</div>';
22
if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
23
echo '<div class="col-right">
24
- <label for="seopress_google_suggest_kw_meta">'. __( 'Google suggestions', 'wp-seopress' ) .'</label>
25
- <input id="seopress_google_suggest_kw_meta" type="text" name="seopress_google_suggest_kw" placeholder="Get suggestions from Google" aria-label="Google suggestions" value="">
26
- <span class="howto">'.__('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>
27
- <br>
28
<button id="seopress_get_suggestions" class="button">'.__('Get suggestions!','wp-seopress').'</button>
29
';
30
echo "<ul id='seopress_suggestions'></ul>";
8
<p>
9
<label for="seopress_analysis_target_kw_meta">'. __( 'Target keywords', 'wp-seopress' ) .'</label>
10
<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.'" />
11
+ <span class="sp-tooltip">
12
+ <span class="dashicons dashicons-editor-help"></span>
13
+ <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>
14
+ </span>
15
</p>';
16
if (empty($seopress_analysis_data)) {
17
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>';
24
echo '</div>';
25
if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
26
echo '<div class="col-right">
27
+ <p>
28
+ <label for="seopress_google_suggest_kw_meta">'. __( 'Google suggestions', 'wp-seopress' ) .'</label>
29
+ <input id="seopress_google_suggest_kw_meta" type="text" name="seopress_google_suggest_kw" placeholder="Get suggestions from Google" aria-label="Google suggestions" value="">
30
+ <span class="sp-tooltip">
31
+ <span class="dashicons dashicons-editor-help"></span>
32
+ <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>
33
+ </span>
34
+ </p>
35
<button id="seopress_get_suggestions" class="button">'.__('Get suggestions!','wp-seopress').'</button>
36
';
37
echo "<ul id='seopress_suggestions'></ul>";
inc/admin/admin-metaboxes-form.php CHANGED
@@ -45,7 +45,7 @@ function seopress_redirections_value($seopress_redirections_value) {
45
if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
46
echo '
47
<tr id="term-seopress" class="form-field">
48
- <th scope="row">'.__('SEO','wp-seopress').'</th>
49
<td>
50
<div id="seopress_cpt">
51
<div class="inside">';
@@ -93,8 +93,10 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
93
<input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.esc_html__('Enter your title','wp-seopress').'" aria-label="'.__('Title','wp-seopress').'" value="'.$seopress_titles_title.'" />
94
</p>
95
<div class="wrap-seopress-counters">
96
<div id="seopress_titles_title_counters"></div>
97
- '.__('(maximum recommended limit)','wp-seopress').'
98
</div>
99
100
<div class="wrap-tags">
@@ -110,14 +112,21 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
110
<textarea id="seopress_titles_desc_meta" style="width:100%" rows="8" name="seopress_titles_desc" placeholder="'.esc_html__('Enter your meta description','wp-seopress').'" aria-label="'.__('Meta description','wp-seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
111
</p>
112
<div class="wrap-seopress-counters">
113
<div id="seopress_titles_desc_counters"></div>
114
- '.__('(maximum recommended limit)','wp-seopress').'
115
- </div>
116
-
117
- <div class="wrap-tags">
118
- <span id="seopress-tag-single-excerpt" data-tag="%%post_excerpt%%" class="tag-title"><span class="dashicons dashicons-plus"></span>'.__('Post Excerpt','wp-seopress').'</span>
119
- </div>
120
- </div>
121
<div class="box-right">
122
<div class="google-snippet-preview">
123
<h3>'.__('Google Snippet Preview','wp-seopress').'</h3>
@@ -185,7 +194,12 @@ echo '<div class="snippet-description">...</div>
185
<p>
186
<label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'wp-seopress' ) .'</label>
187
<input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.esc_html__('Default value: ','wp-seopress').htmlspecialchars(urldecode(get_permalink())).'" aria-label="'.__('Canonical URL','wp-seopress').'" value="'.$seopress_robots_canonical.'" />
188
</p>';
189
if ($typenow =='post' && ($pagenow == 'post.php' || $pagenow == 'post-new.php')) {
190
echo '<p>
191
<label for="seopress_robots_primary_cat_meta">'. __( 'Select a primary category', 'wp-seopress' ) .'</label>
@@ -226,7 +240,7 @@ echo '<div class="snippet-description">...</div>
226
<p>
227
<label for="seopress_social_fb_img_meta">'. __( 'Facebook Thumbnail', 'wp-seopress' ) .'</label>
228
<input id="seopress_social_fb_img_meta" type="text" name="seopress_social_fb_img" placeholder="'.esc_html__('Select your default thumbnail','wp-seopress').'" aria-label="'.__('Facebook Thumbnail','wp-seopress').'" value="'.$seopress_social_fb_img.'" />
229
- <span class="advise">'.__('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max.', 'wp-seopress').'</span>
230
<input id="seopress_social_fb_img_upload" class="button" type="button" value="'.__('Upload an Image','wp-seopress').'" />
231
</p>
232
<br/>
@@ -266,7 +280,7 @@ echo '<div class="snippet-description">...</div>
266
<option ' . selected( '410', $seopress_redirections_type, false ) . ' value="410">'. __( '410 Gone', 'wp-seopress' ) .'</option>
267
<option ' . selected( '451', $seopress_redirections_type, false ) . ' value="451">'. __( '451 Unavailable For Legal Reasons', 'wp-seopress' ) .'</option>
268
</select>
269
- <input id="seopress_redirections_value_meta" type="text" name="seopress_redirections_value" placeholder="'.esc_html__('Enter your new URL','wp-seopress').'" aria-label="'.__('URL redirection','wp-seopress').'" value="'.$seopress_redirections_value.'" />
270
<br><br>
271
</p>';
272
if ("seopress_404" == $typenow) {
@@ -275,7 +289,7 @@ echo '<div class="snippet-description">...</div>
275
<select name="seopress_redirections_param">
276
<option ' . selected( 'exact_match', $seopress_redirections_param, false ) . ' value="exact_match">'. __( 'Exact match with all parameters', 'wp-seopress' ) .'</option>
277
<option ' . selected( 'without_param', $seopress_redirections_param, false ) . ' value="without_param">'. __( 'Exclude all parameters', 'wp-seopress' ) .'</option>
278
- <option ' . selected( 'with_ignored_param', $seopress_redirections_param, false ) . ' value="with_ignored_param">'. __( 'Exclude all parameters and passed them to the redirection', 'wp-seopress' ) .'</option>
279
</select></p>';
280
}
281
echo '<p>';
45
if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
46
echo '
47
<tr id="term-seopress" class="form-field">
48
+ <th scope="row"><h2>'.__('SEO','wp-seopress').'</h2></th>
49
<td>
50
<div id="seopress_cpt">
51
<div class="inside">';
93
<input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.esc_html__('Enter your title','wp-seopress').'" aria-label="'.__('Title','wp-seopress').'" value="'.$seopress_titles_title.'" />
94
</p>
95
<div class="wrap-seopress-counters">
96
+ <div id="seopress_titles_title_pixel"></div>
97
+ <strong>'.__(' / 568 pixels - ','wp-seopress').'</strong>
98
<div id="seopress_titles_title_counters"></div>
99
+ '.__(' (maximum recommended limit)','wp-seopress').'
100
</div>
101
102
<div class="wrap-tags">
112
<textarea id="seopress_titles_desc_meta" style="width:100%" rows="8" name="seopress_titles_desc" placeholder="'.esc_html__('Enter your meta description','wp-seopress').'" aria-label="'.__('Meta description','wp-seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
113
</p>
114
<div class="wrap-seopress-counters">
115
+ <div id="seopress_titles_desc_pixel"></div>
116
+ <strong>'.__(' / 940 pixels - ','wp-seopress').'</strong>
117
<div id="seopress_titles_desc_counters"></div>
118
+ '.__(' (maximum recommended limit)','wp-seopress').'
119
+ </div>';
120
+ if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
121
+ echo '<div class="wrap-tags">
122
+ <span id="seopress-tag-single-excerpt" data-tag="%%_category_description%%" class="tag-title"><span class="dashicons dashicons-plus"></span>'.__('Category / term description','wp-seopress').'</span>
123
+ </div>';
124
+ } else {
125
+ echo '<div class="wrap-tags">
126
+ <span id="seopress-tag-single-excerpt" data-tag="%%post_excerpt%%" class="tag-title"><span class="dashicons dashicons-plus"></span>'.__('Post Excerpt','wp-seopress').'</span>
127
+ </div>';
128
+ }
129
+ echo '</div>
130
<div class="box-right">
131
<div class="google-snippet-preview">
132
<h3>'.__('Google Snippet Preview','wp-seopress').'</h3>
194
<p>
195
<label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'wp-seopress' ) .'</label>
196
<input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.esc_html__('Default value: ','wp-seopress').htmlspecialchars(urldecode(get_permalink())).'" aria-label="'.__('Canonical URL','wp-seopress').'" value="'.$seopress_robots_canonical.'" />
197
+ <span class="sp-tooltip"><span class="dashicons dashicons-editor-help"></span>
198
+ <span class="sp-tooltiptext">'.__('A canonical URL is the URL of the page that Google thinks is most representative from a set of duplicate pages on your site. For example, if you have URLs for the same page (for example: example.com?dress=1234 and example.com/dresses/1234), Google chooses one as canonical. Note that the pages do not need to be absolutely identical; minor changes in sorting or filtering of list pages do not make the page unique (for example, sorting by price or filtering by item color).
199
+ The canonical can be in a different domain than a duplicate.','wp-seopress').'</span>
200
+ </span>
201
</p>';
202
+
203
if ($typenow =='post' && ($pagenow == 'post.php' || $pagenow == 'post-new.php')) {
204
echo '<p>
205
<label for="seopress_robots_primary_cat_meta">'. __( 'Select a primary category', 'wp-seopress' ) .'</label>
240
<p>
241
<label for="seopress_social_fb_img_meta">'. __( 'Facebook Thumbnail', 'wp-seopress' ) .'</label>
242
<input id="seopress_social_fb_img_meta" type="text" name="seopress_social_fb_img" placeholder="'.esc_html__('Select your default thumbnail','wp-seopress').'" aria-label="'.__('Facebook Thumbnail','wp-seopress').'" value="'.$seopress_social_fb_img.'" />
243
+ <span class="advise">'.__('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens)', 'wp-seopress').'</span>
244
<input id="seopress_social_fb_img_upload" class="button" type="button" value="'.__('Upload an Image','wp-seopress').'" />
245
</p>
246
<br/>
280
<option ' . selected( '410', $seopress_redirections_type, false ) . ' value="410">'. __( '410 Gone', 'wp-seopress' ) .'</option>
281
<option ' . selected( '451', $seopress_redirections_type, false ) . ' value="451">'. __( '451 Unavailable For Legal Reasons', 'wp-seopress' ) .'</option>
282
</select>
283
+ <input id="seopress_redirections_value_meta" type="text" name="seopress_redirections_value" placeholder="'.esc_html__('Enter your new URL in absolute (eg: https://www.example.com/)','wp-seopress').'" aria-label="'.__('URL redirection','wp-seopress').'" value="'.$seopress_redirections_value.'" />
284
<br><br>
285
</p>';
286
if ("seopress_404" == $typenow) {
289
<select name="seopress_redirections_param">
290
<option ' . selected( 'exact_match', $seopress_redirections_param, false ) . ' value="exact_match">'. __( 'Exact match with all parameters', 'wp-seopress' ) .'</option>
291
<option ' . selected( 'without_param', $seopress_redirections_param, false ) . ' value="without_param">'. __( 'Exclude all parameters', 'wp-seopress' ) .'</option>
292
+ <option ' . selected( 'with_ignored_param', $seopress_redirections_param, false ) . ' value="with_ignored_param">'. __( 'Exclude all parameters and pass them to the redirection', 'wp-seopress' ) .'</option>
293
</select></p>';
294
}
295
echo '<p>';
inc/admin/admin-metaboxes.php CHANGED
@@ -179,7 +179,7 @@ function seopress_display_seo_metaboxe() {
179
wp_enqueue_script('jquery-ui-accordion');
180
181
//Register Google Snippet Preview / Content Analysis JS
182
- wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
183
184
//If Gutenberg ON
185
if (function_exists('get_current_screen')) {
@@ -404,7 +404,7 @@ function seopress_display_ca_metaboxe() {
404
}
405
406
function seopress_content_analysis($post) {
407
- wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
408
$seopress_real_preview = array(
409
'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
410
'seopress_real_preview' => admin_url('admin-ajax.php'),
179
wp_enqueue_script('jquery-ui-accordion');
180
181
//Register Google Snippet Preview / Content Analysis JS
182
+ wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.min.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
183
184
//If Gutenberg ON
185
if (function_exists('get_current_screen')) {
404
}
405
406
function seopress_content_analysis($post) {
407
+ wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.min.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
408
$seopress_real_preview = array(
409
'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
410
'seopress_real_preview' => admin_url('admin-ajax.php'),
inc/admin/admin-term-metaboxes.php CHANGED
@@ -129,6 +129,20 @@ if (!function_exists('seopress_titles_noimageindex_option')) {
129
}
130
}
131
132
///////////////////////////////////////////////////////////////////////////////////////////////////
133
//Display metabox in Custom Taxonomy
134
///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -138,14 +152,32 @@ function seopress_display_seo_term_metaboxe() {
138
139
function seopress_init_term_metabox() {
140
if (function_exists('seopress_get_taxonomies')) {
141
-
142
$seopress_get_taxonomies = seopress_get_taxonomies();
143
$seopress_get_taxonomies = apply_filters('seopress_metaboxe_term_seo', $seopress_get_taxonomies);
144
145
if (!empty($seopress_get_taxonomies)) {
146
foreach ($seopress_get_taxonomies as $key => $value) {
147
- add_action( $key.'_edit_form_fields', 'seopress_tax', 10, 2 ); //Edit term page
148
- add_action( 'edit_'.$key, 'seopress_tax_save_term', 10, 2 ); //Edit save term
149
}
150
}
151
}
@@ -161,7 +193,7 @@ function seopress_display_seo_term_metaboxe() {
161
162
if ("seopress_404" != $typenow) {
163
//Register Google Snippet Preview / Content Analysis JS
164
- wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
165
166
$seopress_real_preview = array(
167
'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
129
}
130
}
131
132
+ //Metaboxe position
133
+ if (!function_exists('seopress_advanced_appearance_term_metaboxe_position_option')) {
134
+ function seopress_advanced_appearance_term_metaboxe_position_option() {
135
+ $seopress_advanced_appearance_term_metaboxe_position_option = get_option("seopress_advanced_option_name");
136
+ if ( ! empty ( $seopress_advanced_appearance_term_metaboxe_position_option ) ) {
137
+ foreach ($seopress_advanced_appearance_term_metaboxe_position_option as $key => $seopress_advanced_appearance_term_metaboxe_position_value)
138
+ $options[$key] = $seopress_advanced_appearance_term_metaboxe_position_value;
139
+ if (isset($seopress_advanced_appearance_term_metaboxe_position_option['seopress_advanced_appearance_metaboxe_position'])) {
140
+ return $seopress_advanced_appearance_term_metaboxe_position_option['seopress_advanced_appearance_metaboxe_position'];
141
+ }
142
+ }
143
+ }
144
+ }
145
+
146
///////////////////////////////////////////////////////////////////////////////////////////////////
147
//Display metabox in Custom Taxonomy
148
///////////////////////////////////////////////////////////////////////////////////////////////////
152
153
function seopress_init_term_metabox() {
154
if (function_exists('seopress_get_taxonomies')) {
155
$seopress_get_taxonomies = seopress_get_taxonomies();
156
$seopress_get_taxonomies = apply_filters('seopress_metaboxe_term_seo', $seopress_get_taxonomies);
157
158
if (!empty($seopress_get_taxonomies)) {
159
+ if (function_exists('seopress_advanced_appearance_term_metaboxe_position_option')) {
160
+ switch (seopress_advanced_appearance_term_metaboxe_position_option()) {
161
+ case 'high':
162
+ $priority = 1;
163
+ break;
164
+ case 'default':
165
+ $priority = 10;
166
+ break;
167
+ case 'low':
168
+ $priority = 100;
169
+ break;
170
+ default:
171
+ $priority = 10;
172
+ break;
173
+ }
174
+ } else {
175
+ $priority = 10;
176
+ }
177
+ $priority = apply_filters('seopress_metaboxe_term_seo_priority', $priority);
178
foreach ($seopress_get_taxonomies as $key => $value) {
179
+ add_action( $key.'_edit_form', 'seopress_tax', $priority, 2 ); //Edit term page
180
+ add_action( 'edit_'.$key, 'seopress_tax_save_term', $priority, 2 ); //Edit save term
181
}
182
}
183
}
193
194
if ("seopress_404" != $typenow) {
195
//Register Google Snippet Preview / Content Analysis JS
196
+ wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.min.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
197
198
$seopress_real_preview = array(
199
'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
inc/admin/admin-wizard.php CHANGED
@@ -260,7 +260,7 @@ class SEOPRESS_Admin_Setup_Wizard {
260
<li><?php _e('Canonical URL','wp-seopress'); ?></li>
261
<li><?php _e('Focus keywords','wp-seopress'); ?></li>
262
</ul>
263
- <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 datas.', 'wp-seopress' ); ?></p>
264
<button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
265
<span class="spinner"></span>
266
<div class="log"></div>
@@ -277,7 +277,7 @@ class SEOPRESS_Admin_Setup_Wizard {
277
<li><?php _e('Twitter image thumbnail','wp-seopress'); ?></li>
278
<li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
279
</ul>
280
- <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 datas.', 'wp-seopress' ); ?></p>
281
<button id="seopress-aio-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
282
<span class="spinner"></span>
283
<div class="log"></div>
@@ -296,7 +296,7 @@ class SEOPRESS_Admin_Setup_Wizard {
296
<li><?php _e('Canonical URL','wp-seopress'); ?></li>
297
<li><?php _e('Redirect URL','wp-seopress'); ?></li>
298
</ul>
299
- <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 datas.', 'wp-seopress' ); ?></p>
300
<button id="seopress-seo-framework-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
301
<span class="spinner"></span>
302
<div class="log"></div>
@@ -315,7 +315,7 @@ class SEOPRESS_Admin_Setup_Wizard {
315
<li><?php _e('Canonical URL','wp-seopress'); ?></li>
316
<li><?php _e('Focus keywords','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 Rank Math datas.', 'wp-seopress' ); ?></p>
319
<button id="seopress-rk-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
320
<span class="spinner"></span>
321
<div class="log"></div>
@@ -752,7 +752,7 @@ class SEOPRESS_Admin_Setup_Wizard {
752
<div class="seopress-wizard-next-step-description">
753
<p class="next-step-heading"><?php esc_html_e("Next step","wp-seopress"); ?></p>
754
<h3 class="next-step-description"><?php esc_html_e("Create your XML sitemaps","wp-seopress"); ?></h3>
755
- <p class="next-step-extra-info"><?php esc_html_e("Build a custom XML sitemaps to improve Google crawling of your site.","wp-seopress"); ?></p>
756
</div>
757
<div class="seopress-wizard-next-step-action">
758
<p class="seopress-setup-actions step">
260
<li><?php _e('Canonical URL','wp-seopress'); ?></li>
261
<li><?php _e('Focus keywords','wp-seopress'); ?></li>
262
</ul>
263
+ <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>
264
<button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
265
<span class="spinner"></span>
266
<div class="log"></div>
277
<li><?php _e('Twitter image thumbnail','wp-seopress'); ?></li>
278
<li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
279
</ul>
280
+ <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>
281
<button id="seopress-aio-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
282
<span class="spinner"></span>
283
<div class="log"></div>
296
<li><?php _e('Canonical URL','wp-seopress'); ?></li>
297
<li><?php _e('Redirect URL','wp-seopress'); ?></li>
298
</ul>
299
+ <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>
300
<button id="seopress-seo-framework-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
301
<span class="spinner"></span>
302
<div class="log"></div>
315
<li><?php _e('Canonical URL','wp-seopress'); ?></li>
316
<li><?php _e('Focus keywords','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 Rank Math data.', 'wp-seopress' ); ?></p>
319
<button id="seopress-rk-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
320
<span class="spinner"></span>
321
<div class="log"></div>
752
<div class="seopress-wizard-next-step-description">
753
<p class="next-step-heading"><?php esc_html_e("Next step","wp-seopress"); ?></p>
754
<h3 class="next-step-description"><?php esc_html_e("Create your XML sitemaps","wp-seopress"); ?></h3>
755
+ <p class="next-step-extra-info"><?php esc_html_e("Build custom XML sitemaps to improve Google crawling of your site.","wp-seopress"); ?></p>
756
</div>
757
<div class="seopress-wizard-next-step-action">
758
<p class="seopress-setup-actions step">
inc/admin/admin.php CHANGED
@@ -648,207 +648,243 @@ class seopress_options
648
?>
649
<div class="seopress-option">
650
<?php global $wp_version, $title;
651
$tag = version_compare( $wp_version, '4.4' ) >= 0 ? 'h1' : 'h2';
652
echo '<'.$tag.'><span class="dashicons dashicons-admin-settings"></span>'.$title.'</'.$tag.'>';
653
?>
654
- <div class="metabox-holder">
655
- <div class="postbox section-tool">
656
- <h3><span><?php _e( 'Export plugin settings', 'wp-seopress' ); ?></span></h3>
657
- <div class="inside">
658
- <p><?php _e( 'Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site.', 'wp-seopress' ); ?></p>
659
- <form method="post">
660
- <p><input type="hidden" name="seopress_action" value="export_settings" /></p>
661
- <p>
662
- <?php wp_nonce_field( 'seopress_export_nonce', 'seopress_export_nonce' ); ?>
663
- <?php submit_button( __( 'Export', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
664
- </p>
665
- </form>
666
- </div><!-- .inside -->
667
- </div><!-- .postbox -->
668
-
669
- <div class="postbox section-tool">
670
- <h3><span><?php _e( 'Import plugin settings', 'wp-seopress' ); ?></span></h3>
671
- <div class="inside">
672
- <p><?php _e( 'Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.', 'wp-seopress' ); ?></p>
673
- <form method="post" enctype="multipart/form-data">
674
- <p>
675
- <input type="file" name="import_file"/>
676
- </p>
677
- <p>
678
- <input type="hidden" name="seopress_action" value="import_settings" />
679
- <?php wp_nonce_field( 'seopress_import_nonce', 'seopress_import_nonce' ); ?>
680
- <?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
681
- <?php if(!empty($_GET["success"]) && htmlspecialchars($_GET["success"]) =='true') {
682
- echo '<div class="log">'.__('Import completed!','wp-seopress').'</div>';
683
- }; ?>
684
- </p>
685
- </form>
686
- </div><!-- .inside -->
687
- </div><!-- .postbox -->
688
-
689
- <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
690
- <div id="section-import-redirects" class="postbox section-tool">
691
- <h3><span><?php _e( 'Import Redirections', 'wp-seopress' ); ?></span></h3>
692
<div class="inside">
693
- <p><?php _e( 'Import your own redirections from a .csv file (separator ";"). You must have 5 columns in this order: url to match (without your domain name), url to redirect in absolute, type of redirection (301, 302 or 307), yes to enable the redirect and the last one the query parameter ("exact_match" = Exact match with all parameters, "without_param" = Exclude all parameters or "with_ignored_param" = Exclude all parameters and passed them to the redirection). Leave it empty to disable the redirect.', 'wp-seopress' ); ?></p>
694
- <p>
695
- <a href="https://www.seopress.org/wp-content/uploads/csv/seopress-redirections-example.csv" target="_blank">
696
- <?php _e('Download a CSV example','wp-seopress'); ?>
697
- </a>
698
- </p>
699
<form method="post" enctype="multipart/form-data">
700
<p>
701
<input type="file" name="import_file"/>
702
</p>
703
<p>
704
- <input type="hidden" name="seopress_action" value="import_redirections_settings" />
705
- <?php wp_nonce_field( 'seopress_import_redirections_nonce', 'seopress_import_redirections_nonce' ); ?>
706
<?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
707
</p>
708
</form>
709
</div><!-- .inside -->
710
</div><!-- .postbox -->
711
- <div id="section-import-redirects-plugin" class="postbox section-tool">
712
- <h3><span><?php _e( 'Import Redirections from Redirections plugin', 'wp-seopress' ); ?></span></h3>
713
<div class="inside">
714
- <p><?php _e( 'Import your own redirections from a .json file generated by the Redirections plugin. Note that we do not support certain options like regex. Make sure you don\'t have duplicates between your file and existing redirects to avoid conflicts.', 'wp-seopress' ); ?></p>
715
- <form method="post" enctype="multipart/form-data">
716
<p>
717
- <input type="file" name="import_file"/>
718
</p>
719
<p>
720
- <input type="hidden" name="seopress_action" value="import_redirections_plugin_settings" />
721
- <?php wp_nonce_field( 'seopress_import_redirections_plugin_nonce', 'seopress_import_redirections_plugin_nonce' ); ?>
722
- <?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
723
</p>
724
</form>
725
</div><!-- .inside -->
726
</div><!-- .postbox -->
727
- <div id="section-export-redirects" class="postbox section-tool">
728
- <h3><span><?php _e( 'Export Redirections', 'wp-seopress' ); ?></span></h3>
729
<div class="inside">
730
- <p><?php _e( 'Export all redirections for this site as a .csv file. This allows you to easily import the redirections into another site, to Excel / Google Sheets...', 'wp-seopress' ); ?></p>
731
- <form method="post">
732
- <p><input type="hidden" name="seopress_action" value="export_redirections" /></p>
733
<p>
734
- <?php wp_nonce_field( 'seopress_export_redirections_nonce', 'seopress_export_redirections_nonce' ); ?>
735
- <?php submit_button( __( 'Export', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
736
</p>
737
</form>
738
</div><!-- .inside -->
739
</div><!-- .postbox -->
740
- <?php } ?>
741
-
742
- <!-- Yoast import tool -->
743
- <div id="yoast-migration-tool" class="postbox section-tool">
744
- <h3><span><?php _e( 'Import posts and terms metadata from Yoast', 'wp-seopress' ); ?></span></h3>
745
- <div class="inside">
746
- <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
747
- <ul>
748
- <li><?php _e('Title tags','wp-seopress'); ?></li>
749
- <li><?php _e('Meta description','wp-seopress'); ?></li>
750
- <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
751
- <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
752
- <li><?php _e('Meta Robots (noindex, nofollow...)','wp-seopress'); ?></li>
753
- <li><?php _e('Canonical URL','wp-seopress'); ?></li>
754
- <li><?php _e('Focus keywords','wp-seopress'); ?></li>
755
- </ul>
756
- <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 datas.', 'wp-seopress' ); ?></p>
757
- <button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
758
- <span class="spinner"></span>
759
- <div class="log"></div>
760
- </div><!-- .inside -->
761
- </div><!-- .postbox -->
762
-
763
- <!-- All In One import tool -->
764
- <div id="aio-migration-tool" class="postbox section-tool">
765
- <h3><span><?php _e( 'Import posts and terms metadata from All In One SEO', 'wp-seopress' ); ?></span></h3>
766
- <div class="inside">
767
- <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
768
- <ul>
769
- <li><?php _e('Title tags','wp-seopress'); ?></li>
770
- <li><?php _e('Meta description','wp-seopress'); ?></li>
771
- <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
772
- <li><?php _e('Twitter image thumbnail','wp-seopress'); ?></li>
773
- <li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
774
- </ul>
775
- <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 datas.', 'wp-seopress' ); ?></p>
776
- <button id="seopress-aio-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
777
- <span class="spinner"></span>
778
- <div class="log"></div>
779
- </div><!-- .inside -->
780
- </div><!-- .postbox -->
781
-
782
- <!-- SEO Framework import tool -->
783
- <div id="seo-framework-migration-tool" class="postbox section-tool">
784
- <h3><span><?php _e( 'Import posts and terms metadata from The SEO Framework', 'wp-seopress' ); ?></span></h3>
785
- <div class="inside">
786
- <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
787
- <ul>
788
- <li><?php _e('Title tags','wp-seopress'); ?></li>
789
- <li><?php _e('Meta description','wp-seopress'); ?></li>
790
- <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
791
- <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
792
- <li><?php _e('Meta Robots (noindex, nofollow, noarchive)','wp-seopress'); ?></li>
793
- <li><?php _e('Canonical URL','wp-seopress'); ?></li>
794
- <li><?php _e('Redirect URL','wp-seopress'); ?></li>
795
- </ul>
796
- <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 datas.', 'wp-seopress' ); ?></p>
797
- <button id="seopress-seo-framework-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
798
- <span class="spinner"></span>
799
- <div class="log"></div>
800
- </div><!-- .inside -->
801
- </div><!-- .postbox -->
802
-
803
- <!-- RK import tool -->
804
- <div id="rk-migration-tool" class="postbox section-tool">
805
- <h3><span><?php _e( 'Import posts and terms metadata from Rank Math', 'wp-seopress' ); ?></span></h3>
806
- <div class="inside">
807
- <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
808
- <ul>
809
- <li><?php _e('Title tags','wp-seopress'); ?></li>
810
- <li><?php _e('Meta description','wp-seopress'); ?></li>
811
- <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
812
- <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
813
- <li><?php _e('Meta Robots (noindex, nofollow, noarchive, noimageindex)','wp-seopress'); ?></li>
814
- <li><?php _e('Canonical URL','wp-seopress'); ?></li>
815
- <li><?php _e('Focus keywords','wp-seopress'); ?></li>
816
- </ul>
817
- <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 datas.', 'wp-seopress' ); ?></p>
818
- <button id="seopress-rk-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
819
- <span class="spinner"></span>
820
- <div class="log"></div>
821
- </div><!-- .inside -->
822
- </div><!-- .postbox -->
823
-
824
- <div class="postbox section-tool">
825
- <h3><span><?php _e( 'Reset All Notices From Notifications Center', 'wp-seopress' ); ?></span></h3>
826
- <div class="inside">
827
- <p><?php _e( 'By clicking Reset Notices, all notices in the notifications center will be set to their initial status.', 'wp-seopress' ); ?></p>
828
- <form method="post" enctype="multipart/form-data">
829
- <p>
830
- <input type="hidden" name="seopress_action" value="reset_notices_settings" />
831
- <?php wp_nonce_field( 'seopress_reset_notices_nonce', 'seopress_reset_notices_nonce' ); ?>
832
- <?php submit_button( __( 'Reset notices', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
833
- </p>
834
- </form>
835
- </div><!-- .inside -->
836
- </div><!-- .postbox -->
837
-
838
- <div class="postbox section-tool">
839
- <h3><span><?php _e( 'Reset All Settings', 'wp-seopress' ); ?></span></h3>
840
- <div class="inside">
841
- <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Delete all options related to SEOPress in your database AND set settings to their default values.', 'wp-seopress' ); ?></p>
842
- <form method="post" enctype="multipart/form-data">
843
- <p>
844
- <input type="hidden" name="seopress_action" value="reset_settings" />
845
- <?php wp_nonce_field( 'seopress_reset_nonce', 'seopress_reset_nonce' ); ?>
846
- <?php submit_button( __( 'Reset settings', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
847
- </p>
848
- </form>
849
- </div><!-- .inside -->
850
- </div><!-- .postbox -->
851
- </div><!-- .metabox-holder -->
852
</div>
853
<?php
854
}
@@ -901,518 +937,522 @@ class seopress_options
901
}
902
}
903
?>
904
-
905
- <div id="seopress-admin-tabs" class="wrap">
906
- <?php
907
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
908
- $dashboard_settings_tabs = array(
909
- 'tab_seopress_notifications' => __( "Notifications Center", "wp-seopress" ),
910
- 'tab_seopress_seo_tools' => __( "SEO Tools", "wp-seopress" ),
911
- 'tab_seopress_links' => __( "Useful links", "wp-seopress" )
912
- );
913
- } else {
914
- $dashboard_settings_tabs = array(
915
- 'tab_seopress_notifications' => __( "Notifications Center", "wp-seopress" ),
916
- 'tab_seopress_links' => __( "Useful links", "wp-seopress" )
917
- );
918
- }
919
920
- if (seopress_advanced_appearance_notifications_option() !='') {
921
- unset($dashboard_settings_tabs['tab_seopress_notifications']);
922
- }
923
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
924
- if (seopress_advanced_appearance_seo_tools_option() !='') {
925
- unset($dashboard_settings_tabs['tab_seopress_seo_tools']);
926
}
927
- }
928
- if (seopress_advanced_appearance_useful_links_option() !='') {
929
- unset($dashboard_settings_tabs['tab_seopress_links']);
930
- }
931
-
932
- echo '<div class="nav-tab-wrapper">';
933
- foreach ( $dashboard_settings_tabs as $tab_key => $tab_caption ) {
934
- echo '<a id="'. $tab_key .'-tab" class="nav-tab" href="?page=seopress-option#tab=' . $tab_key . '">' . $tab_caption . '</a>';
935
- }
936
- echo '</div>';
937
- ?>
938
-
939
- <div class="wrap-seopress-tab-content">
940
- <?php if(seopress_advanced_appearance_notifications_option() !='1') { ?>
941
- <div id="tab_seopress_notifications" class="seopress-tab <?php if ($current_tab == 'tab_seopress_notifications') { echo 'active'; } ?>">
942
- <div id="seopress-notifications-center">
943
- <?php
944
- function seopress_get_hidden_notices_wizard_option() {
945
- $seopress_get_hidden_notices_wizard_option = get_option("seopress_notices");
946
- if ( ! empty ( $seopress_get_hidden_notices_wizard_option ) ) {
947
- foreach ($seopress_get_hidden_notices_wizard_option as $key => $seopress_get_hidden_notices_wizard_value)
948
- $options[$key] = $seopress_get_hidden_notices_wizard_value;
949
- if (isset($seopress_get_hidden_notices_wizard_option['notice-wizard'])) {
950
- return $seopress_get_hidden_notices_wizard_option['notice-wizard'];
951
- }
952
}
953
- }
954
- if(seopress_get_hidden_notices_wizard_option() =='1') {
955
- //do nothing
956
- } else { ?>
957
- <div id="notice-wizard-alert" class="seopress-alert deleteable">
958
<p>
959
<span class="dashicons dashicons-warning"></span>
960
- <strong><?php _e('Configure SEOPress in a few minutes thanks to our installation wizard','wp-seopress'); ?></strong>
961
</p>
962
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-setup' ); ?>"><?php _e('Start the wizard','wp-seopress'); ?></a>
963
- <span name="notice-wizard" id="notice-wizard" class="dashicons dashicons-trash remove-notice" data-notice="notice-wizard"></span>
964
</div>
965
- <?php }
966
- ?>
967
- <?php if (get_theme_support('title-tag') !='1') {
968
- function seopress_get_hidden_notices_title_tag_option() {
969
- $seopress_get_hidden_notices_title_tag_option = get_option("seopress_notices");
970
- if ( !empty ( $seopress_get_hidden_notices_title_tag_option ) ) {
971
- foreach ($seopress_get_hidden_notices_title_tag_option as $key => $seopress_get_hidden_notices_title_tag_value)
972
- $options[$key] = $seopress_get_hidden_notices_title_tag_value;
973
- if (isset($seopress_get_hidden_notices_title_tag_option['notice-title-tag'])) {
974
- return $seopress_get_hidden_notices_title_tag_option['notice-title-tag'];
975
- }
976
- }
977
- }
978
- if(seopress_get_hidden_notices_title_tag_option() =='1') {
979
- //do nothing
980
- } else { ?>
981
- <div id="notice-title-tag-alert" class="seopress-alert deleteable">
982
<p>
983
<span class="dashicons dashicons-warning"></span>
984
- <?php _e('Your theme doesn\'t use <strong>add_theme_support(\'title-tag\');</strong>','wp-seopress'); ?>
985
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
986
-
987
</p>
988
-
989
- <?php
990
- if (function_exists('seopress_get_locale')) {
991
- if (seopress_get_locale() =='fr') {
992
- $seopress_docs_link['support']['title-tag'] = 'https://www.seopress.org/fr/support/guides/resoudre-add_theme_support-manquant-dans-votre-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
993
- } else {
994
- $seopress_docs_link['support']['title-tag'] = 'https://www.seopress.org/support/guides/fixing-missing-add_theme_support-in-your-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
995
- }
996
- } ?>
997
- <?php echo '<a class="button-primary" href="'.$seopress_docs_link['support']['title-tag'].'" target="_blank">'.__('Learn more','wp-seopress').'</a>'; ?>
998
- <span name="notice-title-tag" id="notice-title-tag" class="dashicons dashicons-trash remove-notice" data-notice="notice-title-tag"></span>
999
</div>
1000
- <?php }
1001
- } ?>
1002
- <?php if (is_plugin_active('wordpress-seo/wp-seo.php') || is_plugin_active('wordpress-seo-premium/wp-seo-premium.php')) { ?>
1003
- <div class="seopress-alert">
1004
- <p>
1005
- <span class="dashicons dashicons-warning"></span>
1006
- <?php _e('We notice that you use <strong>Yoast SEO</strong> plugin. <br>Do you want to migrate all your posts metadata to SEOPress?','wp-seopress'); ?>
1007
- </p>
1008
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-import-export#yoast-migration-tool' ); ?>"><?php _e('Migrate!','wp-seopress'); ?></a>
1009
- </div>
1010
- <?php } ?>
1011
- <?php if (is_plugin_active('all-in-one-seo-pack/all_in_one_seo_pack.php')) { ?>
1012
- <div class="seopress-alert">
1013
- <p>
1014
- <span class="dashicons dashicons-warning"></span>
1015
- <?php _e('We notice that you use <strong>All In One SEO Pack</strong> plugin. <br>Do you want to migrate all your posts metadata to SEOPress?','wp-seopress'); ?>
1016
- </p>
1017
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-import-export#aio-migration-tool' ); ?>"><?php _e('Migrate!','wp-seopress'); ?></a>
1018
- </div>
1019
- <?php } ?>
1020
- <?php if (is_plugin_active('seo-ultimate/seo-ultimate.php') || is_plugin_active('autodescription/autodescription.php') || is_plugin_active('squirrly-seo/squirrly.php') || is_plugin_active('premium-seo-pack/index.php') || is_plugin_active('wp-meta-seo/wp-meta-seo.php')) { ?>
1021
- <div class="seopress-alert">
1022
- <p>
1023
- <span class="dashicons dashicons-warning"></span>
1024
- <?php _e('We notice that you use another SEO plugin. <br>Do not use multiple SEO plugins at once to avoid conflicts!','wp-seopress'); ?>
1025
- </p>
1026
- </div>
1027
- <?php } ?>
1028
- <?php
1029
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
1030
- if (seopress_404_cleaning_option() == 1 && !wp_next_scheduled('seopress_404_cron_cleaning')) { ?>
1031
<div class="seopress-alert">
1032
<p>
1033
<span class="dashicons dashicons-warning"></span>
1034
- <?php _e('You have enabled 404 cleaning BUT the scheduled task is not running. <br>To solve this, please disable and enable SEOPress PRO.','wp-seopress'); ?>
1035
</p>
1036
</div>
1037
- <?php }
1038
- } ?>
1039
- <?php if (!is_ssl()) { ?>
1040
<?php
1041
- function seopress_get_hidden_notices_ssl_option() {
1042
- $seopress_get_hidden_notices_ssl_option = get_option("seopress_notices");
1043
- if ( ! empty ( $seopress_get_hidden_notices_ssl_option ) ) {
1044
- foreach ($seopress_get_hidden_notices_ssl_option as $key => $seopress_get_hidden_notices_ssl_value)
1045
- $options[$key] = $seopress_get_hidden_notices_ssl_value;
1046
- if (isset($seopress_get_hidden_notices_ssl_option['notice-ssl'])) {
1047
- return $seopress_get_hidden_notices_ssl_option['notice-ssl'];
1048
- }
1049
}
1050
- }
1051
- if(seopress_get_hidden_notices_ssl_option() =='1') {
1052
- //do nothing
1053
- } else { ?>
1054
- <div id="notice-ssl-alert" class="seopress-alert deleteable">
1055
<p>
1056
<span class="dashicons dashicons-warning"></span>
1057
- <?php _e('Your site doesn\'t use an SSL certificate!','wp-seopress'); ?>
1058
- <a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html" target="_blank"><?php _e('Learn more','wp-seopress'); ?></a>
1059
- <span class="impact low"><?php _e('Low impact','wp-seopress'); ?></span>
1060
</p>
1061
- <a class="button-primary" href="https://www.namecheap.com/?aff=105841" target="_blank"><?php _e('Buy an SSL!','wp-seopress'); ?></a>
1062
- <span name="notice-ssl" id="notice-ssl" class="dashicons dashicons-trash remove-notice" data-notice="notice-ssl"></span>
1063
</div>
1064
- <?php }
1065
- ?>
1066
- <?php } ?>
1067
- <?php if (get_option('blog_public') !='1') { ?>
1068
- <div class="seopress-alert">
1069
- <p>
1070
- <span class="dashicons dashicons-warning"></span>
1071
- <?php _e('Your site is not visible to Search Engines!','wp-seopress'); ?>
1072
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
1073
- </p>
1074
- <a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1075
- </div>
1076
- <?php } ?>
1077
- <?php if (get_option('blogname') =='') { ?>
1078
- <div class="seopress-alert">
1079
- <p>
1080
- <span class="dashicons dashicons-warning"></span>
1081
- <?php _e('Your site title is empty!','wp-seopress'); ?>
1082
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
1083
- </p>
1084
- <a class="button-primary" href="<?php echo admin_url( 'options-general.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1085
- </div>
1086
- <?php } ?>
1087
- <?php if (get_option('permalink_structure') =='') { ?>
1088
- <div class="seopress-alert">
1089
- <p>
1090
- <span class="dashicons dashicons-warning"></span>
1091
- <?php _e('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.','wp-seopress'); ?>
1092
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
1093
- </p>
1094
- <a class="button-primary" href="<?php echo admin_url( 'options-permalink.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1095
- </div>
1096
- <?php } ?>
1097
- <?php
1098
- if(get_option('rss_use_excerpt') =='0') {
1099
- function seopress_get_hidden_notices_rss_use_excerpt_option() {
1100
- $seopress_get_hidden_notices_rss_use_excerpt_option = get_option("seopress_notices");
1101
- if ( ! empty ( $seopress_get_hidden_notices_rss_use_excerpt_option ) ) {
1102
- foreach ($seopress_get_hidden_notices_rss_use_excerpt_option as $key => $seopress_get_hidden_notices_rss_use_excerpt_value)
1103
- $options[$key] = $seopress_get_hidden_notices_rss_use_excerpt_value;
1104
- if (isset($seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'])) {
1105
- return $seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'];
1106
}
1107
}
1108
}
1109
- if(seopress_get_hidden_notices_rss_use_excerpt_option() =='1') {
1110
//do nothing
1111
} else { ?>
1112
- <div id="notice-rss-use-excerpt-alert" class="seopress-alert deleteable">
1113
<p>
1114
<span class="dashicons dashicons-warning"></span>
1115
- <?php _e('Your RSS feed show full text!','wp-seopress'); ?>
1116
- <span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
1117
</p>
1118
- <a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1119
- <span name="notice-rss-use-excerpt" id="notice-rss-use-excerpt" class="dashicons dashicons-trash remove-notice" data-notice="notice-rss-use-excerpt"></span>
1120
</div>
1121
<?php }
1122
- }
1123
- ?>
1124
- <?php
1125
- function seopress_get_hidden_notices_review_option() {
1126
- $seopress_get_hidden_notices_review_option = get_option("seopress_notices");
1127
- if ( ! empty ( $seopress_get_hidden_notices_review_option ) ) {
1128
- foreach ($seopress_get_hidden_notices_review_option as $key => $seopress_get_hidden_notices_review_value)
1129
- $options[$key] = $seopress_get_hidden_notices_review_value;
1130
- if (isset($seopress_get_hidden_notices_review_option['notice-review'])) {
1131
- return $seopress_get_hidden_notices_review_option['notice-review'];
1132
}
1133
}
1134
- }
1135
- if(seopress_get_hidden_notices_review_option() =='1') {
1136
- //do nothing
1137
- } else { ?>
1138
- <div id="notice-review-alert" class="seopress-alert deleteable">
1139
<p>
1140
<span class="dashicons dashicons-warning"></span>
1141
- <?php _e('You like SEOPress? Please help us by rating us 5 stars!','wp-seopress'); ?>
1142
</p>
1143
- <a class="button-primary" href="https://wordpress.org/support/view/plugin-reviews/wp-seopress?rate=5#postform" target="_blank"><?php _e('Rate us!','wp-seopress'); ?></a>
1144
- <span name="notice-review" id="notice-review" class="dashicons dashicons-trash remove-notice" data-notice="notice-review"></span>
1145
</div>
1146
- <?php }
1147
-
1148
- ?>
1149
- <?php
1150
- if(get_option('page_comments') =='1') {
1151
- function seopress_get_hidden_notices_divide_comments_option() {
1152
- $seopress_get_hidden_notices_divide_comments_option = get_option("seopress_notices");
1153
- if ( ! empty ( $seopress_get_hidden_notices_divide_comments_option ) ) {
1154
- foreach ($seopress_get_hidden_notices_divide_comments_option as $key => $seopress_get_hidden_notices_divide_comments_value)
1155
- $options[$key] = $seopress_get_hidden_notices_divide_comments_value;
1156
- if (isset($seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'])) {
1157
- return $seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'];
1158
- }
1159
}
1160
}
1161
- if(seopress_get_hidden_notices_divide_comments_option() =='1') {
1162
//do nothing
1163
} else { ?>
1164
- <div id="notice-divide-comments-alert" class="seopress-alert deleteable">
1165
<p>
1166
<span class="dashicons dashicons-warning"></span>
1167
- <?php _e('Break comments into pages is ON!','wp-seopress'); ?>
1168
<span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
1169
</p>
1170
- <a class="button-primary" href="<?php echo admin_url( 'options-discussion.php' ); ?>"><?php _e('Disable this!','wp-seopress'); ?></a>
1171
- <span name="notice-divide-comments" id="notice-divide-comments" class="dashicons dashicons-trash remove-notice" data-notice="notice-divide-comments"></span>
1172
</div>
1173
<?php }
1174
- }
1175
- ?>
1176
- <?php
1177
- if(get_option('posts_per_page') < '16') {
1178
- function seopress_get_hidden_notices_posts_number_option() {
1179
- $seopress_get_hidden_notices_posts_number_option = get_option("seopress_notices");
1180
- if ( ! empty ( $seopress_get_hidden_notices_posts_number_option ) ) {
1181
- foreach ($seopress_get_hidden_notices_posts_number_option as $key => $seopress_get_hidden_notices_posts_number_value)
1182
- $options[$key] = $seopress_get_hidden_notices_posts_number_value;
1183
- if (isset($seopress_get_hidden_notices_posts_number_option['notice-posts-number'])) {
1184
- return $seopress_get_hidden_notices_posts_number_option['notice-posts-number'];
1185
- }
1186
}
1187
}
1188
- if(seopress_get_hidden_notices_posts_number_option() =='1') {
1189
//do nothing
1190
- } else { ?>
1191
- <div id="notice-posts-number-alert" class="seopress-alert deleteable">
1192
<p>
1193
<span class="dashicons dashicons-warning"></span>
1194
- <?php _e('Display more posts per page on homepage and archives','wp-seopress'); ?>
1195
- <span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
1196
</p>
1197
- <a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1198
- <span name="notice-posts-number" id="notice-posts-number" class="dashicons dashicons-trash remove-notice" data-notice="notice-posts-number"></span>
1199
</div>
1200
<?php }
1201
- }
1202
- ?>
1203
- <?php if (seopress_xml_sitemap_general_enable_option() !='1') { ?>
1204
- <div class="seopress-alert">
1205
- <p>
1206
- <span class="dashicons dashicons-warning"></span>
1207
- <?php _e('You don\'t have an XML Sitemap!','wp-seopress'); ?>
1208
- <span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
1209
- </p>
1210
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-xml-sitemap' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1211
- </div>
1212
- <?php } ?>
1213
-
1214
- <?php
1215
- function seopress_get_hidden_notices_google_business_option() {
1216
- $seopress_get_hidden_notices_google_business_option = get_option("seopress_notices");
1217
- if ( ! empty ( $seopress_get_hidden_notices_google_business_option ) ) {
1218
- foreach ($seopress_get_hidden_notices_google_business_option as $key => $seopress_get_hidden_notices_google_business_value)
1219
- $options[$key] = $seopress_get_hidden_notices_google_business_value;
1220
- if (isset($seopress_get_hidden_notices_google_business_option['notice-google-business'])) {
1221
- return $seopress_get_hidden_notices_google_business_option['notice-google-business'];
1222
- }
1223
- }
1224
- }
1225
- if(seopress_get_hidden_notices_google_business_option() =='1') {
1226
- //do nothing
1227
- } else { ?>
1228
- <div id="notice-google-business-alert" class="seopress-alert deleteable">
1229
- <p>
1230
- <span class="dashicons dashicons-warning"></span>
1231
- <?php _e('Do you have a Google My Business page? It\'s free!','wp-seopress'); ?>
1232
- <span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
1233
- </p>
1234
- <a class="button-primary" href="https://www.google.com/business/go/" target="_blank"><?php _e('Create your page now!','wp-seopress'); ?></a>
1235
- <span name="notice-google-business" id="notice-google-business" class="dashicons dashicons-trash remove-notice" data-notice="notice-google-business"></span>
1236
- </div>
1237
- <?php }
1238
- ?>
1239
1240
- <?php
1241
- function seopress_get_hidden_notices_search_console_option() {
1242
- $seopress_get_hidden_notices_search_console_option = get_option("seopress_notices");
1243
- if ( ! empty ( $seopress_get_hidden_notices_search_console_option ) ) {
1244
- foreach ($seopress_get_hidden_notices_search_console_option as $key => $seopress_get_hidden_notices_search_console_value)
1245
- $options[$key] = $seopress_get_hidden_notices_search_console_value;
1246
- if (isset($seopress_get_hidden_notices_search_console_option['notice-search-console'])) {
1247
- return $seopress_get_hidden_notices_search_console_option['notice-search-console'];
1248
- }
1249
- }
1250
- }
1251
- function seopress_get_google_site_verification_option() {
1252
- $seopress_get_google_site_verification_option = get_option("seopress_advanced_option_name");
1253
- if ( ! empty ( $seopress_get_google_site_verification_option ) ) {
1254
- foreach ($seopress_get_google_site_verification_option as $key => $seopress_get_google_site_verification_value)
1255
- $options[$key] = $seopress_get_google_site_verification_value;
1256
- if (isset($seopress_get_google_site_verification_option['seopress_advanced_advanced_google'])) {
1257
- return $seopress_get_google_site_verification_option['seopress_advanced_advanced_google'];
1258
- }
1259
- }
1260
- }
1261
- if(seopress_get_hidden_notices_search_console_option() =='1') {
1262
- //do nothing
1263
- } elseif(seopress_get_google_site_verification_option() =='') { ?>
1264
- <div id="notice-search-console-alert" class="seopress-alert deleteable">
1265
<p>
1266
<span class="dashicons dashicons-warning"></span>
1267
- <?php _e('Add your site to Google. It\'s free!','wp-seopress'); ?>
1268
- <span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
1269
</p>
1270
- <a class="button-primary" href="https://www.google.com/webmasters/tools/home" target="_blank"><?php _e('Add your site to Search Console!','wp-seopress'); ?></a>
1271
- <span name="notice-search-console" id="notice-search-console" class="dashicons dashicons-trash remove-notice" data-notice="notice-search-console"></span>
1272
</div>
1273
- <?php }
1274
- ?>
1275
1276
- <?php if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
1277
- <div class="seopress-alert">
1278
- <p>
1279
- <span class="dashicons dashicons-warning"></span>
1280
- <?php _e('You have to enter your licence key to get updates and support','wp-seopress'); ?>
1281
- <span class="impact high info"><?php _e('License','wp-seopress'); ?></span>
1282
- </p>
1283
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-license' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
1284
- </div>
1285
- <?php } ?>
1286
- </div><!--#seopress-notifications-center-->
1287
1288
- </div>
1289
- <?php } ?>
1290
-
1291
- <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
1292
- <div id="tab_seopress_seo_tools" class="seopress-tab seopress-useful-tools <?php if ($current_tab == 'tab_seopress_seo_tools') { echo 'active'; } ?>">
1293
-
1294
- <!-- Reverse -->
1295
- <div class="widget widget-reverse">
1296
- <h3 class="widget-title"><span class="dashicons dashicons-welcome-view-site"></span><?php _e('Check websites setup on your server','wp-seopress'); ?></h3>
1297
1298
- <p>
1299
- <?php
1300
- if ( get_transient( 'seopress_results_reverse' ) !='' ) {
1301
-
1302
- $seopress_results_reverse = (array)json_decode(get_transient( 'seopress_results_reverse' ));
1303
1304
- //Init
1305
- $seopress_results_reverse_remote_ip_address = __('Not found','wp-seopress');
1306
- if(isset($seopress_results_reverse['remoteIpAddress'])) {
1307
- $seopress_results_reverse_remote_ip_address = $seopress_results_reverse['remoteIpAddress'];
1308
- }
1309
1310
- $seopress_results_reverse_last_scrape = __('No scrape.','wp-seopress');
1311
- if(isset($seopress_results_reverse['lastScrape'])) {
1312
- $seopress_results_reverse_last_scrape = $seopress_results_reverse['lastScrape'];
1313
- }
1314
1315
- $seopress_results_reverse_domain_count = __('No domain found.','wp-seopress');
1316
- if(isset($seopress_results_reverse['domainCount'])) {
1317
- $seopress_results_reverse_domain_count = $seopress_results_reverse['domainCount'];
1318
- }
1319
1320
- $seopress_results_reverse_domain_array = '';
1321
- if(isset($seopress_results_reverse['domainArray'])) {
1322
- $seopress_results_reverse_domain_array = $seopress_results_reverse['domainArray'];
1323
- }
1324
-
1325
- echo '<p class="remote-ip"><strong>'.__('Server IP Address: ','wp-seopress').'</strong>'.$seopress_results_reverse_remote_ip_address.'</p>';
1326
-
1327
1328
- echo '<p class="last-scrape"><strong>'.__('Last scrape: ','wp-seopress').'</strong>'.$seopress_results_reverse_last_scrape.'</p>';
1329
- echo '<p class="domain-count"><strong>'.__('Number of websites on your server: ','wp-seopress').'</strong>'.$seopress_results_reverse_domain_count.'</p>';
1330
-
1331
- if ($seopress_results_reverse_domain_array !='') {
1332
- echo '<ul>';
1333
- foreach ($seopress_results_reverse_domain_array as $key => $value) {
1334
- echo '<li><span class="dashicons dashicons-minus"></span><a href="//'.preg_replace('#^https?://#', '', $value[0]).'" target="_blank">'.$value[0].'</a><span class="dashicons dashicons-external"></span></li>';
1335
- }
1336
- echo '</ul>';
1337
}
1338
- }
1339
- ?>
1340
- <br>
1341
- <button id="seopress-reverse-submit" class="button button-primary" name="submit">
1342
- <?php _e('Get list','wp-seopress'); ?>
1343
- </button>
1344
1345
- <span id="spinner-reverse" class="spinner"></span>
1346
- </div>
1347
1348
- <!-- Alexa -->
1349
- <div class="widget widget-alexa">
1350
- <h3 class="widget-title"><span class="dashicons dashicons-chart-area"></span><?php _e('Check your Alexa Rank (Amazon index)','wp-seopress'); ?></h3>
1351
1352
- <?php
1353
- if ( get_transient( 'seopress_results_alexa_rank' ) !='' ) {
1354
- echo '<div class="wrap-alexa-rank">';
1355
- $seopress_results_alexa_rank = get_transient( 'seopress_results_alexa_rank' );
1356
-
1357
- $seopress_alexa_rank_xml = simplexml_load_string($seopress_results_alexa_rank);
1358
- $seopress_alexa_rank_reach = $seopress_alexa_rank_xml->SD->REACH['RANK'];
1359
- $seopress_alexa_rank_delta = $seopress_alexa_rank_xml->SD->RANK['DELTA'];
1360
- $seopress_alexa_rank_country = $seopress_alexa_rank_xml->SD->COUNTRY['NAME'];
1361
- $seopress_alexa_rank_country_rank = $seopress_alexa_rank_xml->SD->COUNTRY['RANK'];
1362
-
1363
- if ($seopress_alexa_rank_reach !='') {
1364
- echo '<span class="seopress_alexa_rank_reach">
1365
- <span class="highlight">'.__('Your Alexa Rank','wp-seopress').'</span>'
1366
- .$seopress_alexa_rank_reach.'
1367
- </span>';
1368
- }
1369
- if ($seopress_alexa_rank_delta !='') {
1370
-
1371
- $seopress_alexa_rank_delta_sign = substr($seopress_alexa_rank_delta, 0, 1);
1372
- $seopress_alexa_rank_delta_num = substr($seopress_alexa_rank_delta, 1, 9999);
1373
-
1374
- if ($seopress_alexa_rank_delta_sign =='+') {
1375
- $seopress_alexa_rank_delta_css = '<span class="plus"><span class="dashicons dashicons-plus"></span></span>';
1376
- } elseif ($seopress_alexa_rank_delta_sign =='-') {
1377
- $seopress_alexa_rank_delta_css = '<span class="minus"><span class="dashicons dashicons-minus"></span></span>';
1378
}
1379
1380
- echo '<span class="seopress_alexa_rank_delta">
1381
- '.$seopress_alexa_rank_delta_css.$seopress_alexa_rank_delta_num.'
1382
- </span>';
1383
- }
1384
1385
- if ($seopress_alexa_rank_country !='') {
1386
- echo '<span class="seopress_alexa_rank_country">
1387
- <span class="highlight">'.__('Country Rank: ','wp-seopress').'</span>
1388
- '.$seopress_alexa_rank_country.'
1389
- </span>';
1390
- }
1391
- if ($seopress_alexa_rank_country_rank !='') {
1392
- echo '<span class="seopress_alexa_rank_country_rank"> - '.$seopress_alexa_rank_country_rank.'</span>';
1393
- }
1394
- echo '</div>';
1395
1396
- echo '<p><em>'._e('The lower, the best','wp-seopress').'</em></p>';
1397
- }
1398
- ?>
1399
1400
- <button id="seopress-request-alexa-rank" class="button-primary button" name="clear"><?php _e('Get Alexa Rank','wp-seopress'); ?></button>
1401
1402
- <span id="spinner-alexa" class="spinner"></span>
1403
</div>
1404
</div>
1405
- <?php } ?>
1406
- <div id="tab_seopress_links" class="seopress-tab seopress-useful-tools <?php if ($current_tab == 'tab_seopress_links') { echo 'active'; } ?>">
1407
- <ul>
1408
- <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://www.google.com/webmasters/tools/disavow-links-main" target="_blank"><?php _e('Upload a list of links to disavow to Google','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1409
- <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://trends.google.com/trends/" target="_blank"><?php _e('Google Trends','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1410
- <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://www.dareboost.com/en/home" target="_blank"><?php _e('Dareboost: Test, analyze and optimize your website','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1411
- <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://ga-dev-tools.appspot.com/campaign-url-builder/" target="_blank"><?php _e('Google Campaign URL Builder tool','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1412
- </ul>
1413
</div>
1414
</div>
1415
- </div>
1416
1417
<div class="seopress-page-list">
1418
<div id="seopress-notice-save" style="display: none"><span class="dashicons dashicons-yes"></span><span class="html"></span></div>
@@ -2794,6 +2834,14 @@ class seopress_options
2794
'seopress_setting_section_google_analytics_features' // Section
2795
);
2796
2797
add_settings_field(
2798
'seopress_google_analytics_other_tracking', // ID
2799
__("Add an additional tracking code (like Facebook Pixel, Hotjar...)","wp-seopress"), // Title
@@ -3013,15 +3061,7 @@ class seopress_options
3013
array( $this, 'seopress_advanced_advanced_tax_desc_editor_callback' ), // Callback
3014
'seopress-settings-admin-advanced-advanced', // Page
3015
'seopress_setting_section_advanced_advanced' // Section
3016
- );
3017
-
3018
- add_settings_field(
3019
- 'seopress_advanced_advanced_stop_words', // ID
3020
- __("Remove stop words from URL","wp-seopress"), // Title
3021
- array( $this, 'seopress_advanced_advanced_stop_words_callback' ), // Callback
3022
- 'seopress-settings-admin-advanced-advanced', // Page
3023
- 'seopress_setting_section_advanced_advanced' // Section
3024
- );
3025
3026
add_settings_field(
3027
'seopress_advanced_advanced_category_url', // ID
@@ -3299,7 +3339,7 @@ class seopress_options
3299
public function sanitize( $input )
3300
{
3301
3302
- $seopress_sanitize_fields = array('seopress_titles_sep','seopress_titles_home_site_title', 'seopress_titles_home_site_desc', 'seopress_titles_archives_author_title', 'seopress_titles_archives_author_desc', 'seopress_titles_archives_date_title', 'seopress_titles_archives_date_desc', 'seopress_titles_archives_search_title', 'seopress_titles_archives_search_desc', 'seopress_titles_archives_404_title', 'seopress_titles_archives_404_desc', 'seopress_xml_sitemap_html_exclude', 'seopress_social_knowledge_name', 'seopress_social_knowledge_img', 'seopress_social_knowledge_phone', 'seopress_social_accounts_facebook', 'seopress_social_accounts_twitter', 'seopress_social_accounts_pinterest', 'seopress_social_accounts_instagram', 'seopress_social_accounts_youtube', 'seopress_social_accounts_linkedin', 'seopress_social_accounts_myspace', 'seopress_social_accounts_soundcloud', 'seopress_social_accounts_tumblr', 'seopress_social_facebook_link_ownership_id', 'seopress_social_facebook_admin_id', 'seopress_social_facebook_app_id', 'seopress_google_analytics_ua', 'seopress_google_analytics_download_tracking','seopress_google_analytics_opt_out_msg', 'seopress_google_analytics_opt_out_msg_ok', 'seopress_google_analytics_other_tracking', 'seopress_google_analytics_optimize', 'seopress_google_analytics_cross_domain' );
3303
3304
$seopress_sanitize_site_verification = array('seopress_advanced_advanced_google', 'seopress_advanced_advanced_bing', 'seopress_advanced_advanced_pinterest', 'seopress_advanced_advanced_yandex' );
3305
@@ -3451,7 +3491,7 @@ class seopress_options
3451
3452
public function print_section_info_social_facebook()
3453
{
3454
- print __('<p>Manage Open Graph datas.</p>', 'wp-seopress');
3455
3456
echo __('<p>We generate the <strong>og:image</strong> meta following this order:</p>','wp-seopress');
3457
@@ -4849,7 +4889,7 @@ class seopress_options
4849
4850
<input id="seopress_social_fb_img_upload" class="button" type="button" value="'.__('Upload an Image','wp-seopress').'" />';
4851
4852
- echo '<p class="description">'.__('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max.', 'wp-seopress').'</p>';
4853
4854
if (isset($this->options['seopress_social_facebook_img'])) {
4855
esc_attr( $this->options['seopress_social_facebook_img']);
@@ -5117,6 +5157,15 @@ class seopress_options
5117
echo '<p class="description">'.__('Google Optimize offers A/B testing, website testing & personalization tools.','wp-seopress').'<a href="https://marketingplatform.google.com/about/optimize/" target="_blank">'.__('Learn more','wp-seopress').'</a></p>';
5118
}
5119
5120
public function seopress_google_analytics_other_tracking_callback()
5121
{
5122
$check = isset($this->options['seopress_google_analytics_other_tracking']) ? $this->options['seopress_google_analytics_other_tracking'] : NULL;
@@ -5826,23 +5875,6 @@ class seopress_options
5826
}
5827
}
5828
5829
- public function seopress_advanced_advanced_stop_words_callback()
5830
- {
5831
- $options = get_option( 'seopress_advanced_option_name' );
5832
-
5833
- $check = isset($options['seopress_advanced_advanced_stop_words']);
5834
-
5835
- echo '<input id="seopress_advanced_advanced_stop_words" name="seopress_advanced_option_name[seopress_advanced_advanced_stop_words]" type="checkbox"';
5836
- if ('1' == $check) echo 'checked="yes"';
5837
- echo ' value="1"/>';
5838
-
5839
- echo '<label for="seopress_advanced_advanced_stop_words">'. __( 'Remove stop words in permalinks', 'wp-seopress' ) .'</label><span class="dashicons dashicons-info" title="'.__('Setting based on site language. Supported language EN, FR, ES, DE, IT, PT.','wp-seopress').'"></span>';
5840
-
5841
- if (isset($this->options['seopress_advanced_advanced_stop_words'])) {
5842
- esc_attr( $this->options['seopress_advanced_advanced_stop_words']);
5843
- }
5844
- }
5845
-
5846
public function seopress_advanced_advanced_category_url_callback()
5847
{
5848
$options = get_option( 'seopress_advanced_option_name' );
648
?>
649
<div class="seopress-option">
650
<?php global $wp_version, $title;
651
+ $current_tab = '';
652
$tag = version_compare( $wp_version, '4.4' ) >= 0 ? 'h1' : 'h2';
653
echo '<'.$tag.'><span class="dashicons dashicons-admin-settings"></span>'.$title.'</'.$tag.'>';
654
?>
655
+ <div id="seopress-tabs" class="wrap">
656
+ <?php
657
+ $plugin_settings_tabs = array(
658
+ 'tab_seopress_tool_settings' => __( "Settings", "wp-seopress" ),
659
+ 'tab_seopress_tool_plugins' => __( "Plugins", "wp-seopress" ),
660
+ 'tab_seopress_tool_redirects' => __( "Redirections", "wp-seopress" ),
661
+ 'tab_seopress_tool_reset' => __( "Reset", "wp-seopress" ),
662
+ );
663
+
664
+ echo '<div class="nav-tab-wrapper">';
665
+ foreach ( $plugin_settings_tabs as $tab_key => $tab_caption ) {
666
+ echo '<a id="'. $tab_key .'-tab" class="nav-tab" href="?page=seopress-import-export#tab=' . $tab_key . '">' . $tab_caption . '</a>';
667
+ }
668
+ echo '</div>';
669
+ ?>
670
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_settings') { echo 'active'; } ?>" id="tab_seopress_tool_settings">
671
+ <div class="postbox section-tool">
672
<div class="inside">
673
+ <h3><span><?php _e( 'Export plugin settings', 'wp-seopress' ); ?></span></h3>
674
+ <p><?php _e( 'Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site.', 'wp-seopress' ); ?></p>
675
+ <form method="post">
676
+ <p><input type="hidden" name="seopress_action" value="export_settings" /></p>
677
+ <p>
678
+ <?php wp_nonce_field( 'seopress_export_nonce', 'seopress_export_nonce' ); ?>
679
+ <?php submit_button( __( 'Export', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
680
+ </p>
681
+ </form>
682
+ </div><!-- .inside -->
683
+ </div><!-- .postbox -->
684
+
685
+ <div class="postbox section-tool">
686
+ <div class="inside">
687
+ <h3><span><?php _e( 'Import plugin settings', 'wp-seopress' ); ?></span></h3>
688
+ <p><?php _e( 'Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above.', 'wp-seopress' ); ?></p>
689
<form method="post" enctype="multipart/form-data">
690
<p>
691
<input type="file" name="import_file"/>
692
</p>
693
<p>
694
+ <input type="hidden" name="seopress_action" value="import_settings" />
695
+ <?php wp_nonce_field( 'seopress_import_nonce', 'seopress_import_nonce' ); ?>
696
<?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
697
+ <?php if(!empty($_GET["success"]) && htmlspecialchars($_GET["success"]) =='true') {
698
+ echo '<div class="log">'.__('Import completed!','wp-seopress').'</div>';
699
+ }; ?>
700
</p>
701
</form>
702
</div><!-- .inside -->
703
</div><!-- .postbox -->
704
+ </div>
705
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_plugins') { echo 'active'; } ?>" id="tab_seopress_tool_plugins">
706
+ <!-- Yoast import tool -->
707
+ <div id="yoast-migration-tool" class="postbox section-tool">
708
<div class="inside">
709
+ <h3><span><?php _e( 'Import posts and terms metadata from Yoast', 'wp-seopress' ); ?></span></h3>
710
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
711
+ <ul>
712
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
713
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
714
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
715
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
716
+ <li><?php _e('Meta Robots (noindex, nofollow...)','wp-seopress'); ?></li>
717
+ <li><?php _e('Canonical URL','wp-seopress'); ?></li>
718
+ <li><?php _e('Focus keywords','wp-seopress'); ?></li>
719
+ </ul>
720
+ <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>
721
+ <button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
722
+ <span class="spinner"></span>
723
+ <div class="log"></div>
724
+ </div><!-- .inside -->
725
+ </div><!-- .postbox -->
726
+
727
+ <!-- All In One import tool -->
728
+ <div id="aio-migration-tool" class="postbox section-tool">
729
+ <div class="inside">
730
+ <h3><span><?php _e( 'Import posts and terms metadata from All In One SEO', 'wp-seopress' ); ?></span></h3>
731
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
732
+ <ul>
733
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
734
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
735
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
736
+ <li><?php _e('Twitter image thumbnail','wp-seopress'); ?></li>
737
+ <li><?php _e('Meta Robots (noindex, nofollow)','wp-seopress'); ?></li>
738
+ </ul>
739
+ <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>
740
+ <button id="seopress-aio-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
741
+ <span class="spinner"></span>
742
+ <div class="log"></div>
743
+ </div><!-- .inside -->
744
+ </div><!-- .postbox -->
745
+
746
+ <!-- SEO Framework import tool -->
747
+ <div id="seo-framework-migration-tool" class="postbox section-tool">
748
+ <div class="inside">
749
+ <h3><span><?php _e( 'Import posts and terms metadata from The SEO Framework', 'wp-seopress' ); ?></span></h3>
750
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
751
+ <ul>
752
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
753
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
754
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
755
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
756
+ <li><?php _e('Meta Robots (noindex, nofollow, noarchive)','wp-seopress'); ?></li>
757
+ <li><?php _e('Canonical URL','wp-seopress'); ?></li>
758
+ <li><?php _e('Redirect URL','wp-seopress'); ?></li>
759
+ </ul>
760
+ <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>
761
+ <button id="seopress-seo-framework-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
762
+ <span class="spinner"></span>
763
+ <div class="log"></div>
764
+ </div><!-- .inside -->
765
+ </div><!-- .postbox -->
766
+
767
+ <!-- RK import tool -->
768
+ <div id="rk-migration-tool" class="postbox section-tool">
769
+ <div class="inside">
770
+ <h3><span><?php _e( 'Import posts and terms metadata from Rank Math', 'wp-seopress' ); ?></span></h3>
771
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
772
+ <ul>
773
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
774
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
775
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
776
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
777
+ <li><?php _e('Meta Robots (noindex, nofollow, noarchive, noimageindex)','wp-seopress'); ?></li>
778
+ <li><?php _e('Canonical URL','wp-seopress'); ?></li>
779
+ <li><?php _e('Focus keywords','wp-seopress'); ?></li>
780
+ </ul>
781
+ <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>
782
+ <button id="seopress-rk-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
783
+ <span class="spinner"></span>
784
+ <div class="log"></div>
785
+ </div><!-- .inside -->
786
+ </div><!-- .postbox -->
787
+ </div>
788
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_redirects') { echo 'active'; } ?>" id="tab_seopress_tool_redirects">
789
+ <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
790
+ <div id="section-import-redirects" class="postbox section-tool">
791
+ <div class="inside">
792
+ <h3><span><?php _e( 'Import Redirections', 'wp-seopress' ); ?></span></h3>
793
+ <p><?php _e( 'Import your own redirections from a .csv file (separator ";"). You must have 5 columns in this order: <ul><li>url to match (without your domain name), </li><li>url to redirect in absolute, </li><li>type of redirection (301, 302 or 307), </li><li>yes to enable the redirect (leave it empty to disable the redirect) </li><li>and the last one the query parameter ("exact_match" = Exact match with all parameters, "without_param" = Exclude all parameters or "with_ignored_param" = Exclude all parameters and pass them to the redirection).</li></ul>', 'wp-seopress' ); ?></p>
794
<p>
795
+ <a href="https://www.seopress.org/wp-content/uploads/csv/seopress-redirections-example.csv" target="_blank">
796
+ <?php _e('Download a CSV example','wp-seopress'); ?>
797
+ </a>
798
</p>
799
+ <form method="post" enctype="multipart/form-data">
800
+ <p>
801
+ <input type="file" name="import_file"/>
802
+ </p>
803
+ <p>
804
+ <input type="hidden" name="seopress_action" value="import_redirections_settings" />
805
+ <?php wp_nonce_field( 'seopress_import_redirections_nonce', 'seopress_import_redirections_nonce' ); ?>
806
+ <?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
807
+ </p>
808
+ </form>
809
+ </div><!-- .inside -->
810
+ </div><!-- .postbox -->
811
+ <div id="section-import-redirects-plugin" class="postbox section-tool">
812
+ <div class="inside">
813
+ <h3><span><?php _e( 'Import Redirections from Redirections plugin', 'wp-seopress' ); ?></span></h3>
814
+ <p><?php _e( 'Import your own redirections from a .json file generated by the Redirections plugin. Note that we do not support certain options like regex. Make sure you don\'t have duplicates between your file and existing redirects to avoid conflicts.', 'wp-seopress' ); ?></p>
815
+ <form method="post" enctype="multipart/form-data">
816
+ <p>
817
+ <input type="file" name="import_file"/>
818
+ </p>
819
+ <p>
820
+ <input type="hidden" name="seopress_action" value="import_redirections_plugin_settings" />
821
+ <?php wp_nonce_field( 'seopress_import_redirections_plugin_nonce', 'seopress_import_redirections_plugin_nonce' ); ?>
822
+ <?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
823
+ </p>
824
+ </form>
825
+ </div><!-- .inside -->
826
+ </div><!-- .postbox -->
827
+ <div id="section-import-yoast-redirects" class="postbox section-tool">
828
+ <div class="inside">
829
+ <h3><span><?php _e( 'Import Redirections from Yoast Premium', 'wp-seopress' ); ?></span></h3>
830
+ <p><?php _e( 'Import your own redirections from a .csv file generated by Yoast Premium. Note that we do not support certain options like regex. Make sure you don\'t have duplicates between your file and existing redirects to avoid conflicts.', 'wp-seopress' ); ?></p>
831
+ <form method="post" enctype="multipart/form-data">
832
+ <p>
833
+ <input type="file" name="import_file"/>
834
+ </p>
835
+ <p>
836
+ <input type="hidden" name="seopress_action" value="import_yoast_redirections" />
837
+ <?php wp_nonce_field( 'seopress_import_yoast_redirections_nonce', 'seopress_import_yoast_redirections_nonce' ); ?>
838
+ <?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
839
+ </p>
840
+ </form>
841
+ </div><!-- .inside -->
842
+ </div><!-- .postbox -->
843
+ <div id="section-export-redirects" class="postbox section-tool">
844
+ <div class="inside">
845
+ <h3><span><?php _e( 'Export Redirections', 'wp-seopress' ); ?></span></h3>
846
+ <p><?php _e( 'Export all redirections for this site as a .csv file. This allows you to easily import the redirections into another site, to Excel / Google Sheets...', 'wp-seopress' ); ?></p>
847
+ <form method="post">
848
+ <p><input type="hidden" name="seopress_action" value="export_redirections" /></p>
849
+ <p>
850
+ <?php wp_nonce_field( 'seopress_export_redirections_nonce', 'seopress_export_redirections_nonce' ); ?>
851
+ <?php submit_button( __( 'Export', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
852
+ </p>
853
+ </form>
854
+ </div><!-- .inside -->
855
+ </div><!-- .postbox -->
856
+ <?php } ?>
857
+ </div>
858
+ <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_reset') { echo 'active'; } ?>" id="tab_seopress_tool_reset">
859
+ <div class="postbox section-tool">
860
+ <div class="inside">
861
+ <h3><span><?php _e( 'Reset All Notices From Notifications Center', 'wp-seopress' ); ?></span></h3>
862
+ <p><?php _e( 'By clicking Reset Notices, all notices in the notifications center will be set to their initial status.', 'wp-seopress' ); ?></p>
863
+ <form method="post" enctype="multipart/form-data">
864
<p>
865
+ <input type="hidden" name="seopress_action" value="reset_notices_settings" />
866
+ <?php wp_nonce_field( 'seopress_reset_notices_nonce', 'seopress_reset_notices_nonce' ); ?>
867
+ <?php submit_button( __( 'Reset notices', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
868
</p>
869
</form>
870
</div><!-- .inside -->
871
</div><!-- .postbox -->
872
+
873
+ <div class="postbox section-tool">
874
<div class="inside">
875
+ <h3><span><?php _e( 'Reset All Settings', 'wp-seopress' ); ?></span></h3>
876
+ <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Delete all options related to SEOPress in your database AND set settings to their default values.', 'wp-seopress' ); ?></p>
877
+ <form method="post" enctype="multipart/form-data">
878
<p>
879
+ <input type="hidden" name="seopress_action" value="reset_settings" />
880
+ <?php wp_nonce_field( 'seopress_reset_nonce', 'seopress_reset_nonce' ); ?>
881
+ <?php submit_button( __( 'Reset settings', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
882
</p>
883
</form>
884
</div><!-- .inside -->
885
</div><!-- .postbox -->
886
+ </div>
887
+ </div>