SEOPress - Version 2.2

Version Description

  • NEW Content analysis!
  • NEW Add Target keyword column (go to SEO -> Advanced page to enable)
  • INFO Importer tool now supports Focus keyword from Yoast SEO
  • INFO PHP 5.3 compatibility (we strongly encourage you to switch to PHP 7.1)
  • INFO Improve security
  • FIX Redirection test in list view
  • FIX Home url for breadcrumbs with Polylang
  • FIX seopress-counters.js conflict with WooCommerce Variation Swatches and Photos
  • FIX Undefined $seopress_robots_breadcrumbs in term edit
  • FIX Undefined variable seopress_backlinks_majestic_key
Download this release

Release Info

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

Code changes from version 2.1.9 to 2.2

assets/css/seopress.css CHANGED
@@ -23,7 +23,44 @@
23
  /*************************************************************************************************/
24
  /* Metaboxe in CPT */
25
  /*************************************************************************************************/
26
- #seopress_cpt .ui-tabs .ui-tabs-nav {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  display: inline-block;
28
  height: 26px;
29
  position: relative;
@@ -34,13 +71,19 @@
34
  background: none;
35
  border: none;
36
  }
37
- #seopress_cpt .ui-helper-clearfix:after {
 
 
 
 
38
  content:none;
39
  }
40
- .seopress_page_seopress-titles #seopress-tabs .form-table td {
 
41
  padding: 0;
42
  }
43
- #seopress_cpt .ui-tabs .ui-tabs-panel {
 
44
  background: none repeat scroll 0 0 #FFFFFF;
45
  border: 1px solid #DDDDDD;
46
  border-radius: 0;
@@ -50,16 +93,19 @@
50
  box-sizing: border-box;
51
  }
52
  #seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,
 
53
  #seopress_pro_cpt .dashicons-info {
54
  font-size: 16px;
55
  vertical-align: middle;
56
  height: 16px;
57
  width: 16px;
58
  }
59
- #seopress_cpt .ui-tabs .ui-tabs-nav li, #seopress_cpt .ui-tabs-anchor {
 
60
  cursor:pointer !important;
61
  }
62
- #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
 
63
  background: none repeat scroll 0 0 #FFFFFF;
64
  border-color: #DDDDDD #DDDDDD #FFFFFF;
65
  border-image: none;
@@ -70,14 +116,15 @@
70
  cursor:pointer;
71
  border-radius: 0;
72
  }
73
- #seopress_cpt #tabs-1 label,
74
  #seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],
75
  #seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],
76
  #seopress_cpt #tabs-3 label,
77
  #seopress_cpt #tabs-4 label,
78
  #seopress_cpt #tabs-5 label,
79
  #seopress_cpt .subsection-title,
80
- #seopress_pro_cpt label {
 
81
  border-bottom: 1px solid #DDDDDD;
82
  display: block;
83
  margin: 20px 0 5px;
@@ -91,7 +138,8 @@
91
  #seopress_cpt #tabs-3 textarea,
92
  #seopress_cpt #tabs-3 input[type=text],
93
  #seopress_cpt #tabs-4 input[type=text],
94
- #seopress_cpt #tabs-5 input[type=text] {
 
95
  width:100%;
96
  }
97
  #seopress_cpt select {
@@ -111,13 +159,15 @@
111
  font-weight: normal;
112
  }
113
  #seopress_cpt .advise,
114
- #seopress_pro_cpt .advise {
 
115
  margin: 5px;
116
  display: block;
117
  color: red;
118
  font-style: italic;
119
  }
120
- #seopress_cpt .mandatory {
 
121
  color: #cc0000;
122
  }
123
  #seopress_cpt .box-left {
@@ -186,14 +236,16 @@
186
  /*************************************************************************************************/
187
  /* Admin - Tabs */
188
  /*************************************************************************************************/
189
- #seopress_cpt .ui-tabs {
 
190
  position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
191
  padding: .2em;
192
  border: none;
193
  font-family: inherit;
194
  font-size: inherit;
195
  }
196
- #seopress_cpt .ui-tabs .ui-tabs-nav li {
 
197
  list-style: none;
198
  float: left;
199
  position: relative;
@@ -205,22 +257,29 @@
205
  border: none;
206
  background: none;
207
  }
208
- #seopress_cpt .ui-tabs .ui-tabs-nav li a {
 
209
  float: left;
210
  padding: 0.38em 1em;
211
  text-decoration: none;
212
  }
213
- #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
 
214
  margin-bottom: -1px;
215
  padding-bottom: 1px;
216
  }
217
  #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
218
  #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
219
- #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
 
 
 
220
  cursor: text;
221
  }
222
  #seopress_cpt .ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
223
- #seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
 
 
224
  cursor: pointer;
225
  color: #0073aa;
226
  text-decoration: none;
@@ -236,6 +295,25 @@
236
  font-weight: bold;
237
  margin-right: 10px;
238
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  /*************************************************************************************************/
240
  /* Admin - Options panel */
241
  /*************************************************************************************************/
23
  /*************************************************************************************************/
24
  /* Metaboxe in CPT */
25
  /*************************************************************************************************/
26
+ #seopress_launch_analysis {
27
+ float: left;
28
+ }
29
+ #seopress_analysis_results_state {
30
+ background: rgba(74,184,102,.75);
31
+ color: #fff;
32
+ padding: 5px 25px 5px 20px;
33
+ border-radius: 100px;
34
+ font-style: italic;
35
+ position: relative;
36
+ width: auto;
37
+ display: inline-block;
38
+ margin: 0 0 0 20px;
39
+ }
40
+ #seopress_content_analysis h3 {
41
+ border-bottom: 1px solid #ddd;
42
+ padding-bottom: 10px;
43
+ }
44
+ #seopress_content_analysis .wrap-analysis-img ul {
45
+ display: flex;
46
+ }
47
+ #seopress_content_analysis .wrap-analysis-img ul li {
48
+ padding: 0;
49
+ text-align: left;
50
+ cursor: default;
51
+ }
52
+ #seopress_content_analysis .wrap-analysis-img h4 {
53
+ border-bottom: 1px solid #ddd;
54
+ padding-bottom: 10px;
55
+ }
56
+ #seopress_content_analysis .wrap-analysis-img ul li img {
57
+ max-width: 150px;
58
+ max-height: 150px;
59
+ object-fit: cover;
60
+ cursor: default;
61
+ }
62
+ #seopress_cpt .ui-tabs .ui-tabs-nav,
63
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav {
64
  display: inline-block;
65
  height: 26px;
66
  position: relative;
71
  background: none;
72
  border: none;
73
  }
74
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav {
75
+ margin-top: 15px;
76
+ }
77
+ #seopress_cpt .ui-helper-clearfix:after,
78
+ #seopress_content_analysis .ui-helper-clearfix:after {
79
  content:none;
80
  }
81
+ .seopress_page_seopress-titles #seopress-tabs .form-table td,
82
+ .seopress_page_seopress-titles #seopress_content_analysis .form-table td {
83
  padding: 0;
84
  }
85
+ #seopress_cpt .ui-tabs .ui-tabs-panel,
86
+ #seopress_content_analysis .ui-tabs .ui-tabs-panel {
87
  background: none repeat scroll 0 0 #FFFFFF;
88
  border: 1px solid #DDDDDD;
89
  border-radius: 0;
93
  box-sizing: border-box;
94
  }
95
  #seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,
96
+ #seopress_content_analysis .ui-tabs .ui-tabs-panel .dashicons-info,
97
  #seopress_pro_cpt .dashicons-info {
98
  font-size: 16px;
99
  vertical-align: middle;
100
  height: 16px;
101
  width: 16px;
102
  }
103
+ #seopress_cpt .ui-tabs .ui-tabs-nav li, #seopress_cpt .ui-tabs-anchor,
104
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li, #seopress_content_analysis .ui-tabs-anchor, {
105
  cursor:pointer !important;
106
  }
107
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active,
108
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active {
109
  background: none repeat scroll 0 0 #FFFFFF;
110
  border-color: #DDDDDD #DDDDDD #FFFFFF;
111
  border-image: none;
116
  cursor:pointer;
117
  border-radius: 0;
118
  }
119
+ #seopress_cpt #tabs-1 label,
120
  #seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],
121
  #seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],
122
  #seopress_cpt #tabs-3 label,
123
  #seopress_cpt #tabs-4 label,
124
  #seopress_cpt #tabs-5 label,
125
  #seopress_cpt .subsection-title,
126
+ #seopress_pro_cpt label,
127
+ #seopress_content_analysis label {
128
  border-bottom: 1px solid #DDDDDD;
129
  display: block;
130
  margin: 20px 0 5px;
138
  #seopress_cpt #tabs-3 textarea,
139
  #seopress_cpt #tabs-3 input[type=text],
140
  #seopress_cpt #tabs-4 input[type=text],
141
+ #seopress_cpt #tabs-5 input[type=text],
142
+ #seopress_content_analysis input[type=text] {
143
  width:100%;
144
  }
145
  #seopress_cpt select {
159
  font-weight: normal;
160
  }
161
  #seopress_cpt .advise,
162
+ #seopress_pro_cpt .advise,
163
+ #seopress_content_analysis .advise {
164
  margin: 5px;
165
  display: block;
166
  color: red;
167
  font-style: italic;
168
  }
169
+ #seopress_cpt .mandatory,
170
+ #seopress_content_analysis .mandatory {
171
  color: #cc0000;
172
  }
173
  #seopress_cpt .box-left {
236
  /*************************************************************************************************/
237
  /* Admin - Tabs */
238
  /*************************************************************************************************/
239
+ #seopress_cpt .ui-tabs,
240
+ #seopress_content_analysis .ui-tabs {
241
  position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
242
  padding: .2em;
243
  border: none;
244
  font-family: inherit;
245
  font-size: inherit;
246
  }
247
+ #seopress_cpt .ui-tabs .ui-tabs-nav li,
248
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li {
249
  list-style: none;
250
  float: left;
251
  position: relative;
257
  border: none;
258
  background: none;
259
  }
260
+ #seopress_cpt .ui-tabs .ui-tabs-nav li a,
261
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li a {
262
  float: left;
263
  padding: 0.38em 1em;
264
  text-decoration: none;
265
  }
266
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active,
267
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active {
268
  margin-bottom: -1px;
269
  padding-bottom: 1px;
270
  }
271
  #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
272
  #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
273
+ #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a,
274
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
275
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
276
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
277
  cursor: text;
278
  }
279
  #seopress_cpt .ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
280
+ #seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a,
281
+ #seopress_content_analysis .ui-tabs .ui-tabs-nav li a,
282
+ #seopress_content_analysis .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
283
  cursor: pointer;
284
  color: #0073aa;
285
  text-decoration: none;
295
  font-weight: bold;
296
  margin-right: 10px;
297
  }
298
+ #seopress_content_analysis .ui-tabs .dashicons-yes {
299
+ color: #fff;
300
+ background: #12BD10;
301
+ border-radius: 50px;
302
+ margin-right: 10px;
303
+ padding: 1px;
304
+ }
305
+ #seopress_content_analysis .ui-tabs .dashicons-yes,
306
+ #seopress_content_analysis .ui-tabs .dashicons-no-alt {
307
+ color: #fff;
308
+ background: #12BD10;
309
+ border-radius: 50px;
310
+ margin-right: 10px;
311
+ padding: 1px;
312
+ }
313
+ #seopress_content_analysis .ui-tabs .dashicons-no-alt {
314
+ background: #e25950;
315
+ }
316
+
317
  /*************************************************************************************************/
318
  /* Admin - Options panel */
319
  /*************************************************************************************************/
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:"\e042";font-family:seopress}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?8v0bs0);src:url(../fonts/seopress.eot?8v0bs0#iefix) format('embedded-opentype'),url(../fonts/seopress.ttf?8v0bs0) format('truetype'),url(../fonts/seopress.woff?8v0bs0) format('woff'),url(../fonts/seopress.svg?8v0bs0#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important}.icon-seopress-seopress:before{content:"\e042"}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;height:26px;position:relative;width:100%;z-index:50;margin:0;padding:0;background:0 0;border:none}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#FFF;border:1px solid #DDD;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{background:#FFF;border-color:#DDD #DDD #FFF;border-image:none;border-style:solid;border-width:1px;position:relative;z-index:60;cursor:pointer;border-radius:0}#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{border-bottom:1px solid #DDD;display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#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]{width:100%}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:60px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 68px);float:right}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled{border-bottom:none;font-weight:400}#seopress_cpt .advise,#seopress_pro_cpt .advise{margin:5px;display:block;color:red;font-style:italic}#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}#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-admin-tabs.ui-tabs,#seopress_cpt .ui-tabs{font-family:inherit;font-size:inherit;position:relative}#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:5px;box-shadow:0 1px 1px rgba(0,0,0,.2)}#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}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#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_cpt .ui-tabs{padding:.2em;border:none}#seopress_cpt .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_cpt .ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text}#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:#0073aa;text-decoration:none}#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}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}body.seopress-styles{background:#f8fafd}#seopress-content a{color:#3297d3}#seopress-content a:hover{color:#106598}#seopress-admin-tabs.ui-tabs{padding:.2em;border:none}#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 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-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}.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 #seopress-navbar{padding:10px 1.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:50px;margin:0;display:inline-block;height:50px;width:36px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:40px;line-height:45px;position:absolute;font-weight:400}#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:block}.seopress-option input[type=text],.seopress-option input[type=password],.seopress-option textarea{min-width:485px}.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;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-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{font-weight:700;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 .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-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}.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-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}.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-option .tag-title:active,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{background:#232323;color:#fff;user-select:none}.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;padding:10px;line-height:inherit;position:sticky;top:100px;background:#fff;z-index:95;font-style:23px;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-style:23px;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:5px 8px;transition:opacity .3s linear;color:#647a88;font-weight:300;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,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover{background:0 0;opacity:1;outline:0;font-weight:600}#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}.md-perspective,.md-perspective body{height:100%;overflow:hidden}.md-perspective body{background:#222;-webkit-perspective:600px;-moz-perspective:600px;perspective:600px}.container{background:#e74c3c;min-height:100%}.md-modal{position:fixed;top:50%;left:50%;width:90%;max-width:990px;min-width:320px;height:auto;z-index:2000000;visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.md-show{visibility:visible}.md-overlay{position:fixed;width:100%;height:100%;visibility:hidden;top:0;left:0;z-index:1000000;opacity:0;background:rgba(143,27,15,.8);-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.md-show~.md-overlay{opacity:1;visibility:visible}.md-content{color:#fff;background:#e74c3c;position:relative;border-radius:3px;margin:0 auto}.md-content h3{margin:0;padding:.4em;text-align:center;font-size:2.4em;font-weight:300;opacity:.8;background:rgba(0,0,0,.1);border-radius:3px 3px 0 0}.md-content>div{padding:15px 40px 30px;margin:0;font-weight:300;font-size:1.15em}.md-content>div p{margin:0;padding:10px 0}.md-content>div ul{margin:0;padding:0 0 30px 20px}.md-content>div ul li{padding:5px 0}.md-content button{display:block;margin:0 auto;font-size:.8em}.md-effect-12 .md-content{-webkit-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8);opacity:0;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.md-show.md-effect-12~.md-overlay{background:#fafafa;overflow:hidden}.md-effect-12 .md-content,.md-effect-12 .md-content h3{background:0 0}.md-show.md-effect-12 .md-content{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e042";font-family:seopress}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?8v0bs0);src:url(../fonts/seopress.eot?8v0bs0#iefix) format('embedded-opentype'),url(../fonts/seopress.ttf?8v0bs0) format('truetype'),url(../fonts/seopress.woff?8v0bs0) format('woff'),url(../fonts/seopress.svg?8v0bs0#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important}.icon-seopress-seopress:before{content:"\e042"}#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}#seopress_content_analysis h3{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul{display:flex}#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_content_analysis .ui-tabs .ui-tabs-nav,#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;height:26px;position:relative;width:100%;z-index:50;margin:0;padding:0;background:0 0;border:none}#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:1px solid #DDD;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{background:#FFF;border-color:#DDD #DDD #FFF;border-image:none;border-style:solid;border-width:1px;position:relative;z-index:60;cursor:pointer;border-radius:0}#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-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{border-bottom:1px solid #DDD;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]{width:100%}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:60px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 68px);float:right}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled{border-bottom:none;font-weight:400}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise{margin:5px;display:block;color:red;font-style:italic}#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}#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:5px;box-shadow:0 1px 1px rgba(0,0,0,.2)}#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}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#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:.2em;border:none;font-family:inherit;font-size:inherit}#seopress_content_analysis .ui-tabs .ui-tabs-nav li,#seopress_cpt .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_content_analysis .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em}#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:-1px;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{cursor:text}#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:#0073aa;text-decoration:none}#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}#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{color:#fff;background:#12BD10;border-radius:50px;margin-right:10px;padding:1px}#seopress_content_analysis .ui-tabs .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 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-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}.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 #seopress-navbar{padding:10px 1.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:50px;margin:0;display:inline-block;height:50px;width:36px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:40px;line-height:45px;position:absolute;font-weight:400}#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:block}.seopress-option input[type=text],.seopress-option input[type=password],.seopress-option textarea{min-width:485px}.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;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-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{font-weight:700;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 .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-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}.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-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}.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-option .tag-title:active,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{background:#232323;color:#fff;user-select:none}.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;padding:10px;line-height:inherit;position:sticky;top:100px;background:#fff;z-index:95;font-style:23px;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-style:23px;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:5px 8px;transition:opacity .3s linear;color:#647a88;font-weight:300;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,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover{background:0 0;opacity:1;outline:0;font-weight:600}#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}.md-perspective,.md-perspective body{height:100%;overflow:hidden}.md-perspective body{background:#222;-webkit-perspective:600px;-moz-perspective:600px;perspective:600px}.container{background:#e74c3c;min-height:100%}.md-modal{position:fixed;top:50%;left:50%;width:90%;max-width:990px;min-width:320px;height:auto;z-index:2000000;visibility:hidden;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.md-show{visibility:visible}.md-overlay{position:fixed;width:100%;height:100%;visibility:hidden;top:0;left:0;z-index:1000000;opacity:0;background:rgba(143,27,15,.8);-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.md-show~.md-overlay{opacity:1;visibility:visible}.md-content{color:#fff;background:#e74c3c;position:relative;border-radius:3px;margin:0 auto}.md-content h3{margin:0;padding:.4em;text-align:center;font-size:2.4em;font-weight:300;opacity:.8;background:rgba(0,0,0,.1);border-radius:3px 3px 0 0}.md-content>div{padding:15px 40px 30px;margin:0;font-weight:300;font-size:1.15em}.md-content>div p{margin:0;padding:10px 0}.md-content>div ul{margin:0;padding:0 0 30px 20px}.md-content>div ul li{padding:5px 0}.md-content button{display:block;margin:0 auto;font-size:.8em}.md-effect-12 .md-content{-webkit-transform:scale(.8);-moz-transform:scale(.8);-ms-transform:scale(.8);transform:scale(.8);opacity:0;-webkit-transition:all .3s;-moz-transition:all .3s;transition:all .3s}.md-show.md-effect-12~.md-overlay{background:#fafafa;overflow:hidden}.md-effect-12 .md-content,.md-effect-12 .md-content h3{background:0 0}.md-show.md-effect-12 .md-content{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);transform:scale(1);opacity:1}
assets/js/seopress-content-analysis.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(){
2
+ //Tabs
3
+ jQuery("#seopress-analysis-tabs .hidden").removeClass('hidden');
4
+ jQuery("#seopress-analysis-tabs").tabs();
5
+ //Content Analysis
6
+ jQuery('#seopress_launch_analysis').on('click', function() {
7
+ jQuery.ajax({
8
+ method : 'POST',
9
+ url : seopressContentAnalysis.seopress_content_analysis,
10
+ data : {
11
+ action: 'seopress_do_content_analysis',
12
+ post_id: jQuery('#seopress_launch_analysis').attr('data_id'),
13
+ post_type: jQuery('#seopress_launch_analysis').attr('data_post_type'),
14
+ seopress_analysis_target_kw: jQuery('#seopress_analysis_target_kw_meta').val(),
15
+ _ajax_nonce: seopressContentAnalysis.seopress_nonce,
16
+ },
17
+ success : function( data ) {
18
+ jQuery( '#seopress_analysis_results_state' ).fadeIn().css('display', 'inline-block');
19
+ jQuery( '#seopress_analysis_results_state' ).delay(3500).fadeOut();
20
+ jQuery( '#seopress-analysis-tabs-1' ).load(' #seopress-analysis-tabs-1');
21
+ jQuery( '#seopress-analysis-tabs-2' ).load(' #seopress-analysis-tabs-2');
22
+ jQuery( '#seopress-analysis-tabs-3' ).load(' #seopress-analysis-tabs-3');
23
+ jQuery( '#seopress-analysis-tabs-4' ).load(' #seopress-analysis-tabs-4');
24
+ },
25
+ });
26
+ });
27
+ });
assets/js/seopress-dashboard.js CHANGED
@@ -6,11 +6,11 @@ jQuery(document).ready(function(){
6
  jQuery.ajax({
7
  method : 'POST',
8
  url : seopressAjaxHideNotices.seopress_hide_notices,
9
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
10
  data : {
11
  action: 'seopress_hide_notices',
12
  notice: 'notice-divide-comments',
13
  notice_value: jQuery('#notice-divide-comments').attr('data-notice'),
 
14
  },
15
  success : function( data ) {
16
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -26,11 +26,11 @@ jQuery(document).ready(function(){
26
  jQuery.ajax({
27
  method : 'POST',
28
  url : seopressAjaxHideNotices.seopress_hide_notices,
29
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
30
  data : {
31
  action: 'seopress_hide_notices',
32
  notice: 'notice-trailingslash',
33
  notice_value: jQuery('#notice-trailingslash').attr('data-notice'),
 
34
  },
35
  success : function( data ) {
36
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -46,11 +46,11 @@ jQuery(document).ready(function(){
46
  jQuery.ajax({
47
  method : 'POST',
48
  url : seopressAjaxHideNotices.seopress_hide_notices,
49
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
50
  data : {
51
  action: 'seopress_hide_notices',
52
  notice: 'notice-posts-number',
53
  notice_value: jQuery('#notice-posts-number').attr('data-notice'),
 
54
  },
55
  success : function( data ) {
56
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -66,11 +66,11 @@ jQuery(document).ready(function(){
66
  jQuery.ajax({
67
  method : 'POST',
68
  url : seopressAjaxHideNotices.seopress_hide_notices,
69
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
70
  data : {
71
  action: 'seopress_hide_notices',
72
  notice: 'notice-rss-use-excerpt',
73
  notice_value: jQuery('#notice-rss-use-excerpt').attr('data-notice'),
 
74
  },
75
  success : function( data ) {
76
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -86,11 +86,11 @@ jQuery(document).ready(function(){
86
  jQuery.ajax({
87
  method : 'POST',
88
  url : seopressAjaxHideNotices.seopress_hide_notices,
89
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
90
  data : {
91
  action: 'seopress_hide_notices',
92
  notice: 'notice-search-console',
93
  notice_value: jQuery('#notice-search-console').attr('data-notice'),
 
94
  },
95
  success : function( data ) {
96
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -106,11 +106,11 @@ jQuery(document).ready(function(){
106
  jQuery.ajax({
107
  method : 'POST',
108
  url : seopressAjaxHideNotices.seopress_hide_notices,
109
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
110
  data : {
111
  action: 'seopress_hide_notices',
112
  notice: 'notice-google-business',
113
  notice_value: jQuery('#notice-google-business').attr('data-notice'),
 
114
  },
115
  success : function( data ) {
116
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -126,11 +126,11 @@ jQuery(document).ready(function(){
126
  jQuery.ajax({
127
  method : 'POST',
128
  url : seopressAjaxHideNotices.seopress_hide_notices,
129
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
130
  data : {
131
  action: 'seopress_hide_notices',
132
  notice: 'notice-ssl',
133
  notice_value: jQuery('#notice-ssl').attr('data-notice'),
 
134
  },
135
  success : function( data ) {
136
  jQuery( '#seopress-notice-save' ).css('display', 'block');
@@ -146,11 +146,11 @@ jQuery(document).ready(function(){
146
  jQuery.ajax({
147
  method : 'POST',
148
  url : seopressAjaxToggleFeatures.seopress_toggle_features,
149
- _ajax_nonce: seopressAjaxToggleFeatures.seopress_nonce,
150
  data : {
151
  action: 'seopress_toggle_features',
152
  feature: 'toggle-titles',
153
  feature_value: jQuery('#toggle-titles').attr('data-toggle'),
 
154
  },
155
  success : function( data ) {
156
  jQuery( '#seopress-notice-save' ).css('display', 'block');
6
  jQuery.ajax({
7
  method : 'POST',
8
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
9
  data : {
10
  action: 'seopress_hide_notices',
11
  notice: 'notice-divide-comments',
12
  notice_value: jQuery('#notice-divide-comments').attr('data-notice'),
13
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
14
  },
15
  success : function( data ) {
16
  jQuery( '#seopress-notice-save' ).css('display', 'block');
26
  jQuery.ajax({
27
  method : 'POST',
28
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
29
  data : {
30
  action: 'seopress_hide_notices',
31
  notice: 'notice-trailingslash',
32
  notice_value: jQuery('#notice-trailingslash').attr('data-notice'),
33
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
34
  },
35
  success : function( data ) {
36
  jQuery( '#seopress-notice-save' ).css('display', 'block');
46
  jQuery.ajax({
47
  method : 'POST',
48
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
49
  data : {
50
  action: 'seopress_hide_notices',
51
  notice: 'notice-posts-number',
52
  notice_value: jQuery('#notice-posts-number').attr('data-notice'),
53
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
54
  },
55
  success : function( data ) {
56
  jQuery( '#seopress-notice-save' ).css('display', 'block');
66
  jQuery.ajax({
67
  method : 'POST',
68
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
69
  data : {
70
  action: 'seopress_hide_notices',
71
  notice: 'notice-rss-use-excerpt',
72
  notice_value: jQuery('#notice-rss-use-excerpt').attr('data-notice'),
73
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
74
  },
75
  success : function( data ) {
76
  jQuery( '#seopress-notice-save' ).css('display', 'block');
86
  jQuery.ajax({
87
  method : 'POST',
88
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
89
  data : {
90
  action: 'seopress_hide_notices',
91
  notice: 'notice-search-console',
92
  notice_value: jQuery('#notice-search-console').attr('data-notice'),
93
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
94
  },
95
  success : function( data ) {
96
  jQuery( '#seopress-notice-save' ).css('display', 'block');
106
  jQuery.ajax({
107
  method : 'POST',
108
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
109
  data : {
110
  action: 'seopress_hide_notices',
111
  notice: 'notice-google-business',
112
  notice_value: jQuery('#notice-google-business').attr('data-notice'),
113
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
114
  },
115
  success : function( data ) {
116
  jQuery( '#seopress-notice-save' ).css('display', 'block');
126
  jQuery.ajax({
127
  method : 'POST',
128
  url : seopressAjaxHideNotices.seopress_hide_notices,
 
129
  data : {
130
  action: 'seopress_hide_notices',
131
  notice: 'notice-ssl',
132
  notice_value: jQuery('#notice-ssl').attr('data-notice'),
133
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
134
  },
135
  success : function( data ) {
136
  jQuery( '#seopress-notice-save' ).css('display', 'block');
146
  jQuery.ajax({
147
  method : 'POST',
148
  url : seopressAjaxToggleFeatures.seopress_toggle_features,
 
149
  data : {
150
  action: 'seopress_toggle_features',
151
  feature: 'toggle-titles',
152
  feature_value: jQuery('#toggle-titles').attr('data-toggle'),
153
+ _ajax_nonce: seopressAjaxToggleFeatures.seopress_nonce,
154
  },
155
  success : function( data ) {
156
  jQuery( '#seopress-notice-save' ).css('display', 'block');
assets/js/seopress-sitemap-ajax.js CHANGED
@@ -3,7 +3,9 @@ jQuery(document).ready(function(){
3
  jQuery.ajax({
4
  method : 'GET',
5
  url : seopressAjaxResetPermalinks.seopress_flush_permalinks,
6
- _ajax_nonce: seopressAjaxResetPermalinks.seopress_nonce,
 
 
7
  success : function( data ) {
8
  window.location.reload(true);
9
  },
3
  jQuery.ajax({
4
  method : 'GET',
5
  url : seopressAjaxResetPermalinks.seopress_flush_permalinks,
6
+ data: {
7
+ _ajax_nonce: seopressAjaxResetPermalinks.seopress_nonce,
8
+ },
9
  success : function( data ) {
10
  window.location.reload(true);
11
  },
assets/js/seopress-tabs7.js CHANGED
@@ -54,9 +54,9 @@ jQuery(document).ready(function(){
54
  jQuery.ajax({
55
  method : 'GET',
56
  url : seopressAjaxWhois.seopress_whois_alert,
57
- _ajax_nonce: seopressAjaxWhois.seopress_nonce,
58
  data : {
59
  action: 'seopress_whois_alert',
 
60
  },
61
  success : function( data ) {
62
  jQuery('#seopress-whois-alert').removeAttr("disabled");
@@ -80,9 +80,9 @@ jQuery(document).ready(function(){
80
  jQuery.ajax({
81
  method : 'GET',
82
  url : seopressAjaxAlexa.seopress_request_alexa_rank,
83
- _ajax_nonce: seopressAjaxAlexa.seopress_nonce,
84
  data : {
85
  action: 'seopress_request_alexa_rank',
 
86
  },
87
  success : function( data ) {
88
  window.location.reload(true);
@@ -104,9 +104,9 @@ jQuery(document).ready(function(){
104
  jQuery.ajax({
105
  method : 'GET',
106
  url : seopressAjaxReverse.seopress_request_reverse,
107
- _ajax_nonce: seopressAjaxReverse.seopress_nonce,
108
  data : {
109
  action: 'seopress_request_reverse',
 
110
  },
111
  success : function( data ) {
112
  window.location.reload(true);
54
  jQuery.ajax({
55
  method : 'GET',
56
  url : seopressAjaxWhois.seopress_whois_alert,
 
57
  data : {
58
  action: 'seopress_whois_alert',
59
+ _ajax_nonce: seopressAjaxWhois.seopress_nonce,
60
  },
61
  success : function( data ) {
62
  jQuery('#seopress-whois-alert').removeAttr("disabled");
80
  jQuery.ajax({
81
  method : 'GET',
82
  url : seopressAjaxAlexa.seopress_request_alexa_rank,
 
83
  data : {
84
  action: 'seopress_request_alexa_rank',
85
+ _ajax_nonce: seopressAjaxAlexa.seopress_nonce,
86
  },
87
  success : function( data ) {
88
  window.location.reload(true);
104
  jQuery.ajax({
105
  method : 'GET',
106
  url : seopressAjaxReverse.seopress_request_reverse,
 
107
  data : {
108
  action: 'seopress_request_reverse',
109
+ _ajax_nonce: seopressAjaxReverse.seopress_nonce,
110
  },
111
  success : function( data ) {
112
  window.location.reload(true);
assets/js/seopress-yoast-migrate.js CHANGED
@@ -3,9 +3,9 @@ jQuery(document).ready(function(){
3
  jQuery.ajax({
4
  method : 'POST',
5
  url : seopressAjaxYoastMigrate.seopress_yoast_migration,
6
- _ajax_nonce: seopressAjaxYoastMigrate.seopress_nonce,
7
  data : {
8
  action: 'seopress_yoast_migration',
 
9
  },
10
  success : function( data ) {
11
  jQuery('#seopress-yoast-migrate').removeAttr("disabled");
3
  jQuery.ajax({
4
  method : 'POST',
5
  url : seopressAjaxYoastMigrate.seopress_yoast_migration,
 
6
  data : {
7
  action: 'seopress_yoast_migration',
8
+ _ajax_nonce: seopressAjaxYoastMigrate.seopress_nonce,
9
  },
10
  success : function( data ) {
11
  jQuery('#seopress-yoast-migrate').removeAttr("disabled");
inc/admin/admin-metaboxes-content-analysis-form.php ADDED
@@ -0,0 +1,255 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
+ echo '<div id="seopress-analysis-tabs">
4
+ <p>
5
+ '.__('Enter a few keywords for analysis and help you write optimized content.','wp-seopress').'
6
+ <label for="seopress_analysis_target_kw_meta">'. __( 'Target keywords', 'wp-seopress' ) .'</label>
7
+ <input id="seopress_analysis_target_kw_meta" type="text" name="seopress_analysis_target_kw" placeholder="'.__('Enter your target keywords','wp-seopress').'" value="'.$seopress_analysis_target_kw.'" />
8
+ <span class="howto">'.__('Separate target keywords with commas','wp-seopress').'</span>
9
+ </p>';
10
+
11
+ if (empty($seopress_analysis_data)) {
12
+ echo '<div id="seopress_launch_analysis" class="button" data_id="'.get_the_ID().'" data_post_type="'.get_current_screen()->post_type.'">'.__('Analyse my content','wp-seopress').'</div>';
13
+ } else {
14
+ echo '<div id="seopress_launch_analysis" class="button" data_id="'.get_the_ID().'" data_post_type="'.get_current_screen()->post_type.'">'.__('Refresh analysis','wp-seopress').'</div>';
15
+ }
16
+
17
+ echo '<div id="seopress_analysis_results_state" style="display:none"><span class="dashicons dashicons-yes"></span>'.__('Analysis completed','wp-seopress').'</div>';
18
+
19
+ echo '<br><p><span class="howto">'.__('Save your post first, to get the most accurate analysis.','wp-seopress').'</span></p>';
20
+
21
+ if (!empty($seopress_analysis_data)) {
22
+ echo '<ul>
23
+ <li><a href="#seopress-analysis-tabs-1"><span class="dashicons dashicons-admin-settings"></span>'. __( 'Optimisations', 'wp-seopress' ) .'</a></li>
24
+ <li><a href="#seopress-analysis-tabs-2"><span class="dashicons dashicons-admin-generic"></span>'. __( 'Configuration', 'wp-seopress' ) .'</a></li>
25
+ <li><a href="#seopress-analysis-tabs-3"><span class="dashicons dashicons-format-image"></span>'. __( 'Images', 'wp-seopress' ) .'</a></li>
26
+ <li><a href="#seopress-analysis-tabs-4"><span class="dashicons dashicons-admin-links"></span>'. __( 'Links', 'wp-seopress' ) .'</a></li>
27
+ </ul>
28
+
29
+ <div id="seopress-analysis-tabs-1">';
30
+ //Word counters
31
+ if (isset($seopress_analysis_data['0']['words_counter']) || isset($seopress_analysis_data['0']['words_counter_unique'])) {
32
+ echo '<h3>'.__('Words counter','wp-seopress').'</h3>
33
+ <ul>
34
+ <li>'.$seopress_analysis_data['0']['words_counter'].' '.__('words found.','wp-seopress').'</li>
35
+ <li>'.$seopress_analysis_data['0']['words_counter_unique'].' '.__('unique words found.','wp-seopress').'</li>';
36
+
37
+ if ($seopress_analysis_data['0']['words_counter'] >= 299) {
38
+ echo '<li><span class="dashicons dashicons-yes"></span>'.__('Your content is composed of more than 300 words, which is the minimum for a post.','wp-seopress').'</li>';
39
+ } else {
40
+ echo '<li><span class="dashicons dashicons-no-alt"></span>'.__('Your content lacks words. Add a few more paragraphs!','wp-seopress').'</li>';
41
+ }
42
+ echo '</ul>';
43
+ }
44
+
45
+ //Post Title
46
+ echo '<h3>'.__('Post title','wp-seopress').'</h3>';
47
+ if (get_post_field('post_title', $post->ID) !='') {
48
+ if (!empty($seopress_analysis_data['0']['post_title']['0'])) {
49
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Post Title.','wp-seopress').'</p>';
50
+
51
+ $target_kws_post_title = array_count_values($seopress_analysis_data['0']['post_title']['0']);
52
+
53
+ echo '<ul>';
54
+ foreach ($target_kws_post_title as $key => $value) {
55
+ echo '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $key, $value).'</li>';
56
+ }
57
+ echo '</ul>';
58
+ } else {
59
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in the Post Title.','wp-seopress').'</p>';
60
+ }
61
+ } else {
62
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('No post title set for this post!','wp-seopress').'</p>';
63
+ }
64
+
65
+ //H1
66
+ if (!empty($seopress_analysis_data['0']['h1'])) {
67
+ echo '<h3>'.__('H1 (Heading 1)','wp-seopress').'</h3>';
68
+ $count = count($seopress_analysis_data['0']['h1']);
69
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d Heading 1 (H1) in your content.','wp-seopress'), $count).'</p>';
70
+ echo '<p>'.__('You should not use Heading 1 in your post content because your post title is already an H1. The rule is simple: 1 H1 for 1 web page.','wp-seopress').'</p>';
71
+ }
72
+
73
+ //H2
74
+ echo '<h3>'.__('H2 (Heading 2)','wp-seopress').'</h3>';
75
+ if (!empty($seopress_analysis_data['0']['h2']['0'])) {
76
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 2 (H2).','wp-seopress').'</p>';
77
+ $target_kws_h2 = array_count_values($seopress_analysis_data['0']['h2']['0']);
78
+ echo '<ul>';
79
+ foreach ($target_kws_h2 as $key => $value) {
80
+ echo '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $key, $value).'</li>';
81
+ }
82
+ echo '</ul>';
83
+ } else {
84
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in Heading 2 (H2).','wp-seopress').'</p>';
85
+ }
86
+
87
+ //H3
88
+ echo '<h3>'.__('H3 (Heading 3)','wp-seopress').'</h3>';
89
+ if (!empty($seopress_analysis_data['0']['h3']['0'])) {
90
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 3 (H3).','wp-seopress').'</p>';
91
+ $target_kws_h3 = array_count_values($seopress_analysis_data['0']['h3']['0']);
92
+ echo '<ul>';
93
+ foreach ($target_kws_h3 as $key => $value) {
94
+ echo '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $key, $value).'</li>';
95
+ }
96
+ echo '</ul>';
97
+ } else {
98
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in Heading 3 (H3).','wp-seopress').'</p>';
99
+ }
100
+
101
+ //Meta Title
102
+ echo '<h3>'.__('Meta title','wp-seopress').'</h3>';
103
+ if ($seopress_titles_title !='') {
104
+ if (!empty($seopress_analysis_data['0']['title']['0'])) {
105
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Meta Title.','wp-seopress').'</p>';
106
+
107
+ $target_kws_title = array_count_values($seopress_analysis_data['0']['title']['0']);
108
+
109
+ echo '<ul>';
110
+ foreach ($target_kws_title as $key => $value) {
111
+ echo '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $key, $value).'</li>';
112
+ }
113
+ echo '</ul>';
114
+ } else {
115
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in Meta Title.','wp-seopress').'</p>';
116
+ }
117
+
118
+ if (strlen($seopress_titles_title) > 65 ) {
119
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('You custom title is too long.','wp-seopress').'</p>';
120
+ } else {
121
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('The length of your title is correct','wp-seopress').'</p>';
122
+ }
123
+ } else {
124
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('No custom title set for this post.','wp-seopress').'</p>';
125
+ }
126
+
127
+ //Meta description
128
+ echo '<h3>'.__('Meta description','wp-seopress').'</h3>';
129
+
130
+ if ($seopress_titles_desc !='') {
131
+ if (!empty($seopress_analysis_data['0']['desc']['0'])) {
132
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Meta description.','wp-seopress').'</p>';
133
+
134
+ $target_kws_desc = array_count_values($seopress_analysis_data['0']['desc']['0']);
135
+
136
+ echo '<ul>';
137
+ foreach ($target_kws_desc as $key => $value) {
138
+ echo '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $key, $value).'</li>';
139
+ }
140
+ echo '</ul>';
141
+ } else {
142
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in Meta description.','wp-seopress').'</p>';
143
+ }
144
+
145
+ if (strlen($seopress_titles_desc) > 160 ) {
146
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('You custom meta description is too long.','wp-seopress').'</p>';
147
+ } else {
148
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('The length of your meta description is correct','wp-seopress').'</p>';
149
+ }
150
+ } else {
151
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('No custom meta description set for this post.','wp-seopress').'</p>';
152
+ }
153
+
154
+ echo '</div>
155
+
156
+ <div id="seopress-analysis-tabs-2">
157
+ <h3>'.__('Robots','wp-seopress').'</h3>';
158
+
159
+ //Robots
160
+ if ($seopress_robots_index =='yes') {
161
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('noindex is on! Search engines can\'t index this page.','wp-seopress').'</p>';
162
+ } else {
163
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('noindex is off. Search engines will index this page.','wp-seopress').'</p>';
164
+ }
165
+
166
+ if ($seopress_robots_follow =='yes') {
167
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('nofollow is on! Search engines can\'t follow your links on this page.','wp-seopress').'</p>';
168
+ } else {
169
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('nofollow is off. Search engines will follow links on this page.','wp-seopress').'</p>';
170
+ }
171
+
172
+ if ($seopress_robots_imageindex =='yes') {
173
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('noimageindex is on! Google will not index your images on this page (but if someone makes a direct link to one of your image in this page, it will be indexed).','wp-seopress').'</p>';
174
+ } else {
175
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('noimageindex is off. Google will index your images on this page.','wp-seopress').'</p>';
176
+ }
177
+
178
+ if ($seopress_robots_archive =='yes') {
179
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('noarchive is on! Search engines will not cache your page.','wp-seopress').'</p>';
180
+ } else {
181
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('noarchive is off. Search engines will probably cache your page.','wp-seopress').'</p>';
182
+ }
183
+
184
+ if ($seopress_robots_snippet =='yes') {
185
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('nosnippet is on! Search engines will not display a snippet of this page in search results.','wp-seopress').'</p>';
186
+ } else {
187
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('nosnippet is off. Search engines will display a snippet of this page in search results.','wp-seopress').'</p>';
188
+ }
189
+ echo '</div>
190
+ <div id="seopress-analysis-tabs-3">
191
+ <div class="wrap-analysis-img">';
192
+ if (!empty($seopress_analysis_data['0']['img'])) {
193
+ $images = isset($seopress_analysis_data['0']['img']['images']) ? $seopress_analysis_data['0']['img']['images'] : NULL;
194
+ $post_thumbnail = isset($seopress_analysis_data['0']['img']['post_thumbnail']) ? $seopress_analysis_data['0']['img']['post_thumbnail'] : NULL;
195
+
196
+ $product_imgs = isset($seopress_analysis_data['0']['img']['product_img']) ? $seopress_analysis_data['0']['img']['product_img'] : NULL;
197
+
198
+ if ((isset($images) && !empty($images)) || (isset($post_thumbnail) && !empty($post_thumbnail))) {
199
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('No alternative text found for these images. Alt tag are important for both SEO and accessibility.','wp-seopress').'</p>';
200
+
201
+ //Standard images & galleries
202
+ if (isset($images) && !empty($images)) {
203
+ echo '<h4>'.__('Post Content','wp-seopress').'</h4>';
204
+ echo '<ul class="attachments">';
205
+ foreach($images as $img) {
206
+ echo '<li class="attachment"><img src="'.$img.'"/></li>';
207
+ }
208
+ echo '</ul>';
209
+ }
210
+
211
+ //Post Thumbnail
212
+ if (isset($post_thumbnail) && !empty($post_thumbnail)) {
213
+ echo '<h4>'.__('Post Thumbnail','wp-seopress').'</h4>';
214
+ echo '<ul class="attachments">';
215
+ echo '<li class="attachment">'.$post_thumbnail.'</li>';
216
+ echo '</ul>';
217
+ }
218
+
219
+ //WooCommerce galleries
220
+ if (isset($product_imgs) && !empty($product_imgs)) {
221
+ echo '<h4>'.__('Product gallery','wp-seopress').'</h4>';
222
+ echo '<ul class="attachments">';
223
+ foreach ($product_imgs as $product_img) {
224
+ echo '<li class="attachment"><img src="'.$product_img.'"/></li>';
225
+ }
226
+ echo '</ul>';
227
+ }
228
+ } else {
229
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('All alternative tags are filled in. Good work!','wp-seopress').'</p>';
230
+ }
231
+ } else {
232
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('We could not find any image in your content. Content with media is a plus for your SEO.','wp-seopress').'</p>';
233
+ }
234
+ echo '</div>
235
+ </div>
236
+ <div id="seopress-analysis-tabs-4">';
237
+ //Nofollow links
238
+ echo '<h3>'.__('NoFollow Links','wp-seopress').'</h3>';
239
+
240
+ if (!empty($seopress_analysis_data['0']['nofollow_links'])) {
241
+
242
+ $count = count($seopress_analysis_data['0']['nofollow_links']);
243
+
244
+ echo '<p>'.sprintf( esc_html__( 'We found %d links with nofollow attribute in your page. Do not overuse nofollow attribute in links. Below, the list:', 'wp-seopress' ), $count ).'</p>';
245
+ echo '<ul>';
246
+ foreach ($seopress_analysis_data['0']['nofollow_links'] as $link) {
247
+ echo '<li><span class="dashicons dashicons-minus"></span>'.$link.'</li>';
248
+ }
249
+ echo '</ul>';
250
+ } else {
251
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('This page doesn\'t have any nofollow links.','wp-seopress').'</p>';
252
+ }
253
+ echo '</div>';
254
+ }
255
+ echo '</div>';
inc/admin/admin-metaboxes-form.php CHANGED
@@ -221,11 +221,13 @@ echo '<div class="snippet-description">'.seopress_titles_desc($se
221
  <label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'wp-seopress' ) .'</label>
222
  <input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.__('Default value: ','wp-seopress').get_permalink().'" value="'.$seopress_robots_canonical.'" />
223
  </p>';
224
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
225
- echo '<p>
226
- <label for="seopress_robots_breadcrumbs_meta">'. __( 'Custom breadcrumbs', 'wp-seopress' ) .'</label>
227
- <input id="seopress_robots_breadcrumbs_meta" type="text" name="seopress_robots_breadcrumbs" placeholder="'.__('Enter a custom value, useful if your title is too long','wp-seopress').'" value="'.$seopress_robots_breadcrumbs.'" />
228
- </p>';
 
 
229
  }
230
  echo '</div>
231
  <div id="tabs-3">
221
  <label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'wp-seopress' ) .'</label>
222
  <input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.__('Default value: ','wp-seopress').get_permalink().'" value="'.$seopress_robots_canonical.'" />
223
  </p>';
224
+ if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
225
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
226
+ echo '<p>
227
+ <label for="seopress_robots_breadcrumbs_meta">'. __( 'Custom breadcrumbs', 'wp-seopress' ) .'</label>
228
+ <input id="seopress_robots_breadcrumbs_meta" type="text" name="seopress_robots_breadcrumbs" placeholder="'.__('Enter a custom value, useful if your title is too long','wp-seopress').'" value="'.$seopress_robots_breadcrumbs.'" />
229
+ </p>';
230
+ }
231
  }
232
  echo '</div>
233
  <div id="tabs-3">
inc/admin/admin-metaboxes.php CHANGED
@@ -16,6 +16,17 @@ function seopress_advanced_security_metaboxe_role_hook_option() {
16
  }
17
  }
18
 
 
 
 
 
 
 
 
 
 
 
 
19
  ///////////////////////////////////////////////////////////////////////////////////////////////////
20
  //Display metabox in Custom Post Type
21
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -29,7 +40,6 @@ function seopress_display_seo_metaboxe() {
29
  }
30
  foreach (seopress_get_post_types() as $key => $value) {
31
  add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
32
- //add_meta_box('seopress_content_analysis', __('Content analysis','wp-seopress'), 'seopress_content_analysis', $key, 'side', 'high');
33
  }
34
  add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', 'seopress_404', 'normal', $seopress_advanced_appearance_metaboxe_position_option);
35
  }
@@ -64,12 +74,6 @@ function seopress_display_seo_metaboxe() {
64
  require_once ( dirname( __FILE__ ) . '/admin-metaboxes-form.php'); //Metaboxe HTML
65
  }
66
 
67
- // function seopress_content_analysis($post) {
68
- // global $typenow;
69
- // $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
70
-
71
- // }
72
-
73
  add_action('save_post','seopress_save_metabox');
74
  function seopress_save_metabox($post_id){
75
  if ( 'attachment' !== get_post_type($post_id)) {
@@ -161,6 +165,43 @@ function seopress_display_seo_metaboxe() {
161
  }
162
  }
163
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
164
  if (is_user_logged_in()) {
165
  global $wp_roles;
166
 
@@ -168,7 +209,7 @@ if (is_user_logged_in()) {
168
  if(isset(wp_get_current_user()->roles[0])) {
169
  $seopress_user_role = wp_get_current_user()->roles[0];
170
 
171
- //If current user role matchs values from Security settings then apply
172
  if (function_exists('seopress_advanced_security_metaboxe_role_hook_option') && seopress_advanced_security_metaboxe_role_hook_option() !='') {
173
  if( array_key_exists( $seopress_user_role, seopress_advanced_security_metaboxe_role_hook_option())) {
174
  //do nothing
@@ -178,5 +219,16 @@ if (is_user_logged_in()) {
178
  } else {
179
  echo seopress_display_seo_metaboxe();
180
  }
 
 
 
 
 
 
 
 
 
 
 
181
  }
182
  }
16
  }
17
  }
18
 
19
+ function seopress_advanced_security_metaboxe_ca_role_hook_option() {
20
+ $seopress_advanced_security_metaboxe_ca_role_hook_option = get_option("seopress_advanced_option_name");
21
+ if ( ! empty ( $seopress_advanced_security_metaboxe_ca_role_hook_option ) ) {
22
+ foreach ($seopress_advanced_security_metaboxe_ca_role_hook_option as $key => $seopress_advanced_security_metaboxe_ca_role_hook_value)
23
+ $options[$key] = $seopress_advanced_security_metaboxe_ca_role_hook_value;
24
+ if (isset($seopress_advanced_security_metaboxe_ca_role_hook_option['seopress_advanced_security_metaboxe_ca_role'])) {
25
+ return $seopress_advanced_security_metaboxe_ca_role_hook_option['seopress_advanced_security_metaboxe_ca_role'];
26
+ }
27
+ }
28
+ }
29
+
30
  ///////////////////////////////////////////////////////////////////////////////////////////////////
31
  //Display metabox in Custom Post Type
32
  ///////////////////////////////////////////////////////////////////////////////////////////////////
40
  }
41
  foreach (seopress_get_post_types() as $key => $value) {
42
  add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
 
43
  }
44
  add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', 'seopress_404', 'normal', $seopress_advanced_appearance_metaboxe_position_option);
45
  }
74
  require_once ( dirname( __FILE__ ) . '/admin-metaboxes-form.php'); //Metaboxe HTML
75
  }
76
 
 
 
 
 
 
 
77
  add_action('save_post','seopress_save_metabox');
78
  function seopress_save_metabox($post_id){
79
  if ( 'attachment' !== get_post_type($post_id)) {
165
  }
166
  }
167
 
168
+ function seopress_display_ca_metaboxe() {
169
+ add_action('add_meta_boxes','seopress_init_ca_metabox');
170
+ function seopress_init_ca_metabox(){
171
+ if (function_exists('seopress_advanced_appearance_metaboxe_position_option')) {
172
+ $seopress_advanced_appearance_metaboxe_position_option = seopress_advanced_appearance_metaboxe_position_option();
173
+ } else {
174
+ $seopress_advanced_appearance_metaboxe_position_option = 'default';
175
+ }
176
+ foreach (seopress_get_post_types() as $key => $value) {
177
+ add_meta_box('seopress_content_analysis', __('Content analysis','wp-seopress'), 'seopress_content_analysis', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
178
+ }
179
+ }
180
+
181
+ function seopress_content_analysis($post) {
182
+ $seopress_analysis_target_kw = get_post_meta($post->ID,'_seopress_analysis_target_kw',true);
183
+ $seopress_analysis_data = get_post_meta($post->ID,'_seopress_analysis_data');
184
+ $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
185
+ $seopress_titles_desc = get_post_meta($post->ID,'_seopress_titles_desc',true);
186
+ $seopress_robots_index = get_post_meta($post->ID,'_seopress_robots_index',true);
187
+ $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
188
+ $seopress_robots_imageindex = get_post_meta($post->ID,'_seopress_robots_imageindex',true);
189
+ $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
190
+ $seopress_robots_snippet = get_post_meta($post->ID,'_seopress_robots_snippet',true);
191
+
192
+ require_once ( dirname( __FILE__ ) . '/admin-metaboxes-content-analysis-form.php'); //Metaboxe HTML
193
+ }
194
+
195
+ add_action('save_post','seopress_save_ca_metabox');
196
+ function seopress_save_ca_metabox($post_id){
197
+ if ( 'attachment' !== get_post_type($post_id)) {
198
+ if(isset($_POST['seopress_analysis_target_kw'])){
199
+ update_post_meta($post_id, '_seopress_analysis_target_kw', esc_html($_POST['seopress_analysis_target_kw']));
200
+ }
201
+ }
202
+ }
203
+ }
204
+
205
  if (is_user_logged_in()) {
206
  global $wp_roles;
207
 
209
  if(isset(wp_get_current_user()->roles[0])) {
210
  $seopress_user_role = wp_get_current_user()->roles[0];
211
 
212
+ //If current user role matchs values from Security settings then apply -- SEO Metaboxe
213
  if (function_exists('seopress_advanced_security_metaboxe_role_hook_option') && seopress_advanced_security_metaboxe_role_hook_option() !='') {
214
  if( array_key_exists( $seopress_user_role, seopress_advanced_security_metaboxe_role_hook_option())) {
215
  //do nothing
219
  } else {
220
  echo seopress_display_seo_metaboxe();
221
  }
222
+
223
+ //If current user role matchs values from Security settings then apply -- SEO Content Analysis
224
+ if (function_exists('seopress_advanced_security_metaboxe_ca_role_hook_option') && seopress_advanced_security_metaboxe_ca_role_hook_option() !='') {
225
+ if( array_key_exists( $seopress_user_role, seopress_advanced_security_metaboxe_ca_role_hook_option())) {
226
+ //do nothing
227
+ } else {
228
+ echo seopress_display_ca_metaboxe();
229
+ }
230
+ } else {
231
+ echo seopress_display_ca_metaboxe();
232
+ }
233
  }
234
  }
inc/admin/admin.php CHANGED
@@ -676,8 +676,9 @@ class seopress_options
676
  <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
677
  <li><?php _e('Meta Robots (noindex, nofollow...)','wp-seopress'); ?></li>
678
  <li><?php _e('Canonical URL','wp-seopress'); ?></li>
 
679
  </ul>
680
- <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will delete all SEOPress posts metadata', 'wp-seopress' ); ?></p>
681
  <div id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></div>
682
  <span class="spinner"></span>
683
  <div class="log"></div>
@@ -2727,6 +2728,14 @@ class seopress_options
2727
  'seopress_setting_section_advanced_appearance' // Section
2728
  );
2729
 
 
 
 
 
 
 
 
 
2730
  add_settings_field(
2731
  'seopress_advanced_appearance_noindex_col', // ID
2732
  __("Show noindex column in post types","wp-seopress"), // Title
@@ -2792,6 +2801,14 @@ class seopress_options
2792
  'seopress-settings-admin-advanced-security', // Page
2793
  'seopress_setting_section_advanced_security' // Section
2794
  );
 
 
 
 
 
 
 
 
2795
  }
2796
 
2797
  /**
@@ -5074,6 +5091,23 @@ class seopress_options
5074
  }
5075
  }
5076
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5077
  public function seopress_advanced_appearance_noindex_col_callback()
5078
  {
5079
  $options = get_option( 'seopress_advanced_option_name' );
@@ -5202,6 +5236,31 @@ class seopress_options
5202
  }
5203
  }
5204
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5205
  }
5206
 
5207
  if( is_admin() )
676
  <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
677
  <li><?php _e('Meta Robots (noindex, nofollow...)','wp-seopress'); ?></li>
678
  <li><?php _e('Canonical URL','wp-seopress'); ?></li>
679
+ <li><?php _e('Focus keywords','wp-seopress'); ?></li>
680
  </ul>
681
+ <p style="color:red"><span class="dashicons dashicons-warning"></span> <?php _e( '<strong>WARNING:</strong> Migration will delete all SEOPress posts and terms metadata', 'wp-seopress' ); ?></p>
682
  <div id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></div>
683
  <span class="spinner"></span>
684
  <div class="log"></div>
2728
  'seopress_setting_section_advanced_appearance' // Section
2729
  );
2730
 
2731
+ add_settings_field(
2732
+ 'seopress_advanced_appearance_target_kw_col', // ID
2733
+ __("Show Target Keyword column in post types","wp-seopress"), // Title
2734
+ array( $this, 'seopress_advanced_appearance_target_kw_col_callback' ), // Callback
2735
+ 'seopress-settings-admin-advanced-appearance', // Page
2736
+ 'seopress_setting_section_advanced_appearance' // Section
2737
+ );
2738
+
2739
  add_settings_field(
2740
  'seopress_advanced_appearance_noindex_col', // ID
2741
  __("Show noindex column in post types","wp-seopress"), // Title
2801
  'seopress-settings-admin-advanced-security', // Page
2802
  'seopress_setting_section_advanced_security' // Section
2803
  );
2804
+
2805
+ add_settings_field(
2806
+ 'seopress_advanced_security_metaboxe_ca_role', // ID
2807
+ __("Block Content analysis metaboxe to user roles","wp-seopress-pro"), // Title
2808
+ array( $this, 'seopress_advanced_security_metaboxe_ca_role_callback' ), // Callback
2809
+ 'seopress-settings-admin-advanced-security', // Page
2810
+ 'seopress_setting_section_advanced_security' // Section
2811
+ );
2812
  }
2813
 
2814
  /**
5091
  }
5092
  }
5093
 
5094
+ public function seopress_advanced_appearance_target_kw_col_callback()
5095
+ {
5096
+ $options = get_option( 'seopress_advanced_option_name' );
5097
+
5098
+ $check = isset($options['seopress_advanced_appearance_target_kw_col']);
5099
+
5100
+ echo '<input id="seopress_advanced_appearance_target_kw_col" name="seopress_advanced_option_name[seopress_advanced_appearance_target_kw_col]" type="checkbox"';
5101
+ if ('1' == $check) echo 'checked="yes"';
5102
+ echo ' value="1"/>';
5103
+
5104
+ echo '<label for="seopress_advanced_appearance_target_kw_col">'. __( 'Add target keyword column', 'wp-seopress' ) .'</label>';
5105
+
5106
+ if (isset($this->options['seopress_advanced_appearance_target_kw_col'])) {
5107
+ esc_attr( $this->options['seopress_advanced_appearance_target_kw_col']);
5108
+ }
5109
+ }
5110
+
5111
  public function seopress_advanced_appearance_noindex_col_callback()
5112
  {
5113
  $options = get_option( 'seopress_advanced_option_name' );
5236
  }
5237
  }
5238
  }
5239
+
5240
+ public function seopress_advanced_security_metaboxe_ca_role_callback()
5241
+ {
5242
+ $options = get_option( 'seopress_advanced_option_name' );
5243
+
5244
+ global $wp_roles;
5245
+
5246
+ if ( ! isset( $wp_roles ) )
5247
+ $wp_roles = new WP_Roles();
5248
+
5249
+ foreach ($wp_roles->get_names() as $key => $value) {
5250
+
5251
+ $check = isset($options['seopress_advanced_security_metaboxe_ca_role'][$key]);
5252
+
5253
+ echo '<input id="seopress_advanced_security_metaboxe_ca_role_'.$key.'" name="seopress_advanced_option_name[seopress_advanced_security_metaboxe_ca_role]['.$key.']" type="checkbox"';
5254
+ if ('1' == $check) echo 'checked="yes"';
5255
+ echo ' value="1"/>';
5256
+
5257
+ echo '<label for="seopress_advanced_security_metaboxe_ca_role_'.$key.'">'. $value .'</label><br/>';
5258
+
5259
+ if (isset($this->options['seopress_advanced_security_metaboxe_ca_role'][$key])) {
5260
+ esc_attr( $this->options['seopress_advanced_security_metaboxe_ca_role'][$key]);
5261
+ }
5262
+ }
5263
+ }
5264
  }
5265
 
5266
  if( is_admin() )
inc/admin/ajax.php CHANGED
@@ -1,10 +1,165 @@
1
  <?php
2
  defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  ///////////////////////////////////////////////////////////////////////////////////////////////////
5
  //Flush permalinks
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
  function seopress_flush_permalinks() {
 
8
  flush_rewrite_rules();
9
  die();
10
  }
@@ -14,6 +169,8 @@ add_action('wp_ajax_seopress_flush_permalinks', 'seopress_flush_permalinks');
14
  //Dashboard toggle features
15
  ///////////////////////////////////////////////////////////////////////////////////////////////////
16
  function seopress_toggle_features() {
 
 
17
  if ( isset( $_POST['feature']) && isset( $_POST['feature_value'] )) {
18
  $seopress_toggle_options = get_option('seopress_toggle');
19
  $seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
@@ -27,6 +184,8 @@ add_action('wp_ajax_seopress_toggle_features', 'seopress_toggle_features');
27
  //Dashboard hide notices
28
  ///////////////////////////////////////////////////////////////////////////////////////////////////
29
  function seopress_hide_notices() {
 
 
30
  if ( isset( $_POST['notice']) && isset( $_POST['notice_value'] )) {
31
  $seopress_notices_options = get_option('seopress_notices');
32
  $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
@@ -40,6 +199,8 @@ add_action('wp_ajax_seopress_hide_notices', 'seopress_hide_notices');
40
  //Yoast migration
41
  ///////////////////////////////////////////////////////////////////////////////////////////////////
42
  function seopress_yoast_migration() {
 
 
43
  global $post;
44
 
45
  $args = array(
@@ -100,6 +261,21 @@ function seopress_yoast_migration() {
100
  if (get_post_meta($post->ID, '_yoast_wpseo_canonical', true) !='') { //Import Canonical URL
101
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, '_yoast_wpseo_canonical', true));
102
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
  }
104
  }
105
 
1
  <?php
2
  defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
 
4
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
5
+ //Content analysis
6
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
7
+ function seopress_do_content_analysis() {
8
+ check_ajax_referer( 'seopress_content_analysis_nonce', $_POST['_ajax_nonce'], true );
9
+
10
+ //Init variables
11
+ $seopress_analysis_data = array();
12
+
13
+ //Get post id
14
+ if ( isset( $_POST['post_id'] ) ) {
15
+ $seopress_get_the_id = $_POST['post_id'];
16
+ }
17
+
18
+ //Get post type
19
+ if ( isset( $_POST['post_type'] ) ) {
20
+ $seopress_get_post_type = $_POST['post_type'];
21
+ }
22
+
23
+ //Save Target KWs
24
+ if(isset($_POST['seopress_analysis_target_kw']) && !empty($_POST['seopress_analysis_target_kw'])) {
25
+ delete_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw');
26
+ update_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw', esc_html($_POST['seopress_analysis_target_kw']));
27
+ }
28
+
29
+ //Get post content
30
+ $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
31
+
32
+ //Get Target Keywords
33
+ $seopress_analysis_target_kw = array_filter(array_map('trim', explode(',', get_post_meta($seopress_get_the_id,'_seopress_analysis_target_kw',true))));
34
+
35
+ //Get Post Title
36
+ $seopress_get_the_title = get_post_field('post_title', $seopress_get_the_id);
37
+ if ($seopress_get_the_title !='') {
38
+ $data_post_title_clean = explode(' ',implode(' ', (array)$seopress_get_the_title));
39
+ $seopress_analysis_data['post_title'][] = array_intersect($data_post_title_clean, $seopress_analysis_target_kw);
40
+ }
41
+
42
+ //Get Meta Title
43
+ $seopress_titles_title = get_post_meta($seopress_get_the_id, '_seopress_titles_title', true);
44
+ if ($seopress_titles_title !='') {
45
+ $data_title_clean = explode(' ',implode(' ', (array)$seopress_titles_title));
46
+ $seopress_analysis_data['title'][] = array_intersect($data_title_clean, $seopress_analysis_target_kw);
47
+ }
48
+
49
+ //Get Meta Description
50
+ $seopress_titles_desc = get_post_meta($seopress_get_the_id, '_seopress_titles_desc', true);
51
+ if ($seopress_titles_desc !='') {
52
+ $data_desc_clean = explode(' ',implode(' ', (array)$seopress_titles_desc));
53
+ $seopress_analysis_data['desc'][] = array_intersect($data_desc_clean, $seopress_analysis_target_kw);
54
+ }
55
+
56
+ //DomDocument
57
+ $dom = new domDocument;
58
+ $internalErrors = libxml_use_internal_errors(true);
59
+ $dom->loadHTML($seopress_get_the_content);
60
+ $dom->preserveWhiteSpace = false;
61
+ $domxpath = new DOMXPath($dom);
62
+
63
+ //Words counter
64
+ $seopress_analysis_data['words_counter'] = str_word_count(strip_tags($seopress_get_the_content));
65
+ $words_counter_unique = count(array_unique(str_word_count($seopress_get_the_content, 1)));
66
+ $seopress_analysis_data['words_counter_unique'] = $words_counter_unique - 1;
67
+
68
+ //h1
69
+ $h1 = $domxpath->query("//h1");
70
+
71
+ if (!empty($h1)) {
72
+
73
+ foreach ($h1 as $heading1) {
74
+ $data_h1[] .= $heading1->nodeValue;
75
+ }
76
+ $seopress_analysis_data['h1'] = $data_h1;
77
+ }
78
+
79
+ //h2
80
+ $h2 = $domxpath->query("//h2");
81
+
82
+ if (!empty($h2)) {
83
+
84
+ foreach ($h2 as $heading2) {
85
+ $data_h2[] .= $heading2->nodeValue;
86
+ }
87
+ $data_h2_clean = explode(' ',implode(' ', $data_h2));
88
+
89
+ $seopress_analysis_data['h2'][] = array_intersect($data_h2_clean, $seopress_analysis_target_kw);
90
+ }
91
+
92
+ //h3
93
+ $h3 = $domxpath->query("//h3");
94
+
95
+ if (!empty($h3)) {
96
+
97
+ foreach ($h3 as $heading3) {
98
+ $data_h3[] .= $heading3->nodeValue;
99
+ }
100
+ $data_h3_clean = explode(' ',implode(' ', $data_h3));
101
+
102
+ $seopress_analysis_data['h3'][] = array_intersect($data_h3_clean, $seopress_analysis_target_kw);
103
+ }
104
+
105
+ //Images
106
+ /*Standard images*/
107
+ $imgs = $domxpath->query("//img");
108
+
109
+ if (!empty($imgs) && $imgs !=NULL) {
110
+ foreach ($imgs as $img) {
111
+ if ($img->getAttribute('alt') =='') {
112
+ $data_img[] .= $img->getAttribute('src');
113
+ }
114
+ }
115
+ $seopress_analysis_data['img']['images'] = $data_img;
116
+ }
117
+
118
+ /*WooCommerce*/
119
+ if ( 'product' == $seopress_get_post_type ) {
120
+ $product_id = $seopress_get_the_id;
121
+ $product = new WC_product($product_id);
122
+ $product_img_ids = $product->get_gallery_image_ids();
123
+ if (!empty($product_img_ids)) {
124
+ foreach ($product_img_ids as $product_img_id) {
125
+ $alt = get_post_meta($product_img_id, '_wp_attachment_image_alt', true);
126
+ if ($alt =='') {
127
+ $seopress_analysis_data['img']['product_img'][] .= wp_get_attachment_thumb_url($product_img_id);
128
+ }
129
+ }
130
+ }
131
+ }
132
+
133
+ /*Post Thumbnail*/
134
+ if (has_post_thumbnail($seopress_get_the_id)) {
135
+ $thumbnail_id = get_post_thumbnail_id($seopress_get_the_id);
136
+ $alt = get_post_meta($thumbnail_id, '_wp_attachment_image_alt', true);
137
+ if ($alt =='') {
138
+ $seopress_analysis_data['img']['post_thumbnail'] = get_the_post_thumbnail($seopress_get_the_id);
139
+ }
140
+ }
141
+
142
+ //nofollow links
143
+ $nofollow_links = $domxpath->query("//a[@rel='nofollow']"); //AMELIORER CHECK SI PLUSIEURS ATTR
144
+ foreach ($nofollow_links as $key=>$link) {
145
+ $seopress_analysis_data['nofollow_links'][$key] .= $link->nodeValue;
146
+ }
147
+
148
+ libxml_use_internal_errors($internalErrors);
149
+
150
+ //Send data
151
+ if(isset($seopress_analysis_data)){
152
+ update_post_meta($seopress_get_the_id, '_seopress_analysis_data', $seopress_analysis_data);
153
+ }
154
+ wp_send_json_success();
155
+ }
156
+ add_action('wp_ajax_seopress_do_content_analysis', 'seopress_do_content_analysis');
157
+
158
  ///////////////////////////////////////////////////////////////////////////////////////////////////
159
  //Flush permalinks
160
  ///////////////////////////////////////////////////////////////////////////////////////////////////
161
  function seopress_flush_permalinks() {
162
+ check_ajax_referer( 'seopress_flush_permalinks_nonce', $_GET['_ajax_nonce'], true );
163
  flush_rewrite_rules();
164
  die();
165
  }
169
  //Dashboard toggle features
170
  ///////////////////////////////////////////////////////////////////////////////////////////////////
171
  function seopress_toggle_features() {
172
+ check_ajax_referer( 'seopress_toggle_features_nonce', $_POST['_ajax_nonce'], true );
173
+
174
  if ( isset( $_POST['feature']) && isset( $_POST['feature_value'] )) {
175
  $seopress_toggle_options = get_option('seopress_toggle');
176
  $seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
184
  //Dashboard hide notices
185
  ///////////////////////////////////////////////////////////////////////////////////////////////////
186
  function seopress_hide_notices() {
187
+ check_ajax_referer( 'seopress_hide_notices_nonce', $_POST['_ajax_nonce'], true );
188
+
189
  if ( isset( $_POST['notice']) && isset( $_POST['notice_value'] )) {
190
  $seopress_notices_options = get_option('seopress_notices');
191
  $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
199
  //Yoast migration
200
  ///////////////////////////////////////////////////////////////////////////////////////////////////
201
  function seopress_yoast_migration() {
202
+ check_ajax_referer( 'seopress_yoast_migrate_nonce', $_POST['_ajax_nonce'], true );
203
+
204
  global $post;
205
 
206
  $args = array(
261
  if (get_post_meta($post->ID, '_yoast_wpseo_canonical', true) !='') { //Import Canonical URL
262
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, '_yoast_wpseo_canonical', true));
263
  }
264
+ if (get_post_meta($post->ID, '_yoast_wpseo_focuskw', true) !='' || get_post_meta($post->ID, '_yoast_wpseo_focuskeywords', true) !='') { //Import Focus Keywords
265
+ $y_fkws_clean = array(); //reset array
266
+
267
+ $y_fkws = get_post_meta($post->ID, '_yoast_wpseo_focuskeywords', false);
268
+
269
+ foreach ($y_fkws as $value) {
270
+ foreach (json_decode($value) as $key => $value) {
271
+ $y_fkws_clean[] .= $value->keyword;
272
+ }
273
+ }
274
+
275
+ $y_fkws_clean[] .= get_post_meta($post->ID, '_yoast_wpseo_focuskw', true);
276
+
277
+ update_post_meta($post->ID, '_seopress_analysis_target_kw', implode(',',$y_fkws_clean));
278
+ }
279
  }
280
  }
281
 
inc/functions/options-advanced-admin.php CHANGED
@@ -37,6 +37,16 @@ function seopress_advanced_appearance_meta_desc_col_option() {
37
  }
38
  }
39
  }
 
 
 
 
 
 
 
 
 
 
40
  function seopress_advanced_appearance_noindex_col_option() {
41
  $seopress_advanced_appearance_noindex_col_option = get_option("seopress_advanced_option_name");
42
  if ( ! empty ( $seopress_advanced_appearance_noindex_col_option ) ) {
@@ -88,7 +98,7 @@ function seopress_advanced_appearance_ps_col_option() {
88
  }
89
  }
90
 
91
- if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_appearance_meta_desc_col_option() !='' || seopress_advanced_appearance_noindex_col_option() !='' || seopress_advanced_appearance_nofollow_col_option() !='' || seopress_advanced_appearance_words_col_option() !='' || seopress_advanced_appearance_w3c_col_option() !='' || seopress_advanced_appearance_ps_col_option() !='') {
92
  function seopress_add_columns() {
93
  foreach (seopress_get_post_types() as $key => $value) {
94
  add_filter('manage_'.$key.'_posts_columns', 'seopress_title_columns');
@@ -102,6 +112,9 @@ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_ap
102
  if(seopress_advanced_appearance_meta_desc_col_option() !='') {
103
  $columns['seopress_desc'] = __('Meta Desc.', 'wp-seopress');
104
  }
 
 
 
105
  if(seopress_advanced_appearance_noindex_col_option() !='') {
106
  $columns['seopress_noindex'] = __('Noindex?', 'wp-seopress');
107
  }
@@ -127,6 +140,9 @@ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_ap
127
  if ($column == 'seopress_desc') {
128
  echo '<div id="seopress_desc-' . $post_id . '">'.get_post_meta($post_id, "_seopress_titles_desc", true).'</div>';
129
  }
 
 
 
130
  if ($column == 'seopress_noindex') {
131
  if (get_post_meta($post_id, "_seopress_robots_index", true) =='yes') {
132
  echo '<span class="dashicons dashicons-yes"></span>';
@@ -138,7 +154,7 @@ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_ap
138
  }
139
  }
140
  if ($column == 'seopress_words') {
141
- if (str_word_count(strip_tags(get_the_content())) !='') {
142
  echo str_word_count(strip_tags(get_the_content()));
143
  }
144
  }
37
  }
38
  }
39
  }
40
+ function seopress_advanced_appearance_target_kw_col_option() {
41
+ $seopress_advanced_appearance_target_kw_col_option = get_option("seopress_advanced_option_name");
42
+ if ( ! empty ( $seopress_advanced_appearance_target_kw_col_option ) ) {
43
+ foreach ($seopress_advanced_appearance_target_kw_col_option as $key => $seopress_advanced_appearance_target_kw_col_value)
44
+ $options[$key] = $seopress_advanced_appearance_target_kw_col_value;
45
+ if (isset($seopress_advanced_appearance_target_kw_col_option['seopress_advanced_appearance_target_kw_col'])) {
46
+ return $seopress_advanced_appearance_target_kw_col_option['seopress_advanced_appearance_target_kw_col'];
47
+ }
48
+ }
49
+ }
50
  function seopress_advanced_appearance_noindex_col_option() {
51
  $seopress_advanced_appearance_noindex_col_option = get_option("seopress_advanced_option_name");
52
  if ( ! empty ( $seopress_advanced_appearance_noindex_col_option ) ) {
98
  }
99
  }
100
 
101
+ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_appearance_meta_desc_col_option() !='' || seopress_advanced_appearance_target_kw_col_option() !='' || seopress_advanced_appearance_noindex_col_option() !='' || seopress_advanced_appearance_nofollow_col_option() !='' || seopress_advanced_appearance_words_col_option() !='' || seopress_advanced_appearance_w3c_col_option() !='' || seopress_advanced_appearance_ps_col_option() !='') {
102
  function seopress_add_columns() {
103
  foreach (seopress_get_post_types() as $key => $value) {
104
  add_filter('manage_'.$key.'_posts_columns', 'seopress_title_columns');
112
  if(seopress_advanced_appearance_meta_desc_col_option() !='') {
113
  $columns['seopress_desc'] = __('Meta Desc.', 'wp-seopress');
114
  }
115
+ if(seopress_advanced_appearance_target_kw_col_option() !='') {
116
+ $columns['seopress_tkw'] = __('Target Kw', 'wp-seopress');
117
+ }
118
  if(seopress_advanced_appearance_noindex_col_option() !='') {
119
  $columns['seopress_noindex'] = __('Noindex?', 'wp-seopress');
120
  }
140
  if ($column == 'seopress_desc') {
141
  echo '<div id="seopress_desc-' . $post_id . '">'.get_post_meta($post_id, "_seopress_titles_desc", true).'</div>';
142
  }
143
+ if ($column == 'seopress_tkw') {
144
+ echo '<div id="seopress_tkw-' . $post_id . '">'.get_post_meta($post_id, "_seopress_analysis_target_kw", true).'</div>';
145
+ }
146
  if ($column == 'seopress_noindex') {
147
  if (get_post_meta($post_id, "_seopress_robots_index", true) =='yes') {
148
  echo '<span class="dashicons dashicons-yes"></span>';
154
  }
155
  }
156
  if ($column == 'seopress_words') {
157
+ if (get_the_content() !='') {
158
  echo str_word_count(strip_tags(get_the_content()));
159
  }
160
  }
inc/functions/options-titles-metas.php CHANGED
@@ -255,12 +255,14 @@ if (get_option('blog_public') =='1') {
255
 
256
  $post_category ='';
257
  if (is_single() && has_category()) {
258
- $post_category = get_the_terms(get_the_id(), 'category')[0]->name;
 
259
  }
260
 
261
  $post_tag ='';
262
  if (is_single() && has_tag()) {
263
- $post_tag = get_the_terms(get_the_id(), 'post_tag')[0]->name;
 
264
  }
265
 
266
  $woo_single_cat_html ='';
@@ -445,12 +447,14 @@ if (get_option('blog_public') =='1') {
445
 
446
  $post_category ='';
447
  if (is_single() && has_category()) {
448
- $post_category = get_the_terms(get_the_id(), 'category')[0]->name;
 
449
  }
450
 
451
  $post_tag ='';
452
  if (is_single() && has_tag()) {
453
- $post_tag = get_the_terms(get_the_id(), 'post_tag')[0]->name;
 
454
  }
455
 
456
  if (get_the_excerpt() !='') {
255
 
256
  $post_category ='';
257
  if (is_single() && has_category()) {
258
+ $post_category_array = get_the_terms(get_the_id(), 'category');
259
+ $post_category = $post_category_array[0]->name;
260
  }
261
 
262
  $post_tag ='';
263
  if (is_single() && has_tag()) {
264
+ $post_tag_array = get_the_terms(get_the_id(), 'post_tag');
265
+ $post_tag = $post_tag_array[0]->name;
266
  }
267
 
268
  $woo_single_cat_html ='';
447
 
448
  $post_category ='';
449
  if (is_single() && has_category()) {
450
+ $post_category_array = get_the_terms(get_the_id(), 'category');
451
+ $post_category = $post_category_array[0]->name;
452
  }
453
 
454
  $post_tag ='';
455
  if (is_single() && has_tag()) {
456
+ $post_tag_array = get_the_terms(get_the_id(), 'post_tag');
457
+ $post_tag = $post_tag_array[0]->name;
458
  }
459
 
460
  if (get_the_excerpt() !='') {
inc/functions/sitemap/template-xml-sitemaps-single.php CHANGED
@@ -47,7 +47,7 @@ function seopress_xml_sitemap_single() {
47
  if (seopress_xml_sitemap_img_enable_option() =='1') {
48
 
49
  //Standard images
50
- if (!empty (get_the_content($post))) {
51
  $dom = new domDocument;
52
  $internalErrors = libxml_use_internal_errors(true);
53
  $dom->loadHTML(esc_attr(wp_filter_nohtml_kses(htmlentities(get_the_content($post)))));
47
  if (seopress_xml_sitemap_img_enable_option() =='1') {
48
 
49
  //Standard images
50
+ if (get_the_content($post) !='') {
51
  $dom = new domDocument;
52
  $internalErrors = libxml_use_internal_errors(true);
53
  $dom->loadHTML(esc_attr(wp_filter_nohtml_kses(htmlentities(get_the_content($post)))));
languages/wp-seopress-es_ES.mo CHANGED
Binary file
languages/wp-seopress-es_ES.po CHANGED
@@ -1,2357 +1,2338 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: SEOPress\n"
4
- "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
5
- "POT-Creation-Date: 2017-10-11 18:49+0200\n"
6
- "PO-Revision-Date: 2017-10-11 18:49+0200\n"
7
- "Last-Translator: \n"
8
- "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
9
- "Language: es_ES\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 2.0.1\n"
14
- "X-Poedit-KeywordsList: __;_e;_x;esc_attr_e;esc_attr__\n"
15
- "X-Poedit-Basepath: ..\n"
16
- "X-Poedit-SearchPath-0: .\n"
17
-
18
- #: inc/admin/admin-header.php:11
19
- msgid "SEOPress"
20
- msgstr "SEOPress"
21
-
22
- #: inc/admin/admin-header.php:15 inc/admin/adminbar.php:72
23
- msgid "PRO"
24
- msgstr "PRO"
25
-
26
- #: inc/admin/admin-header.php:27 inc/admin/admin.php:185
27
- #: inc/admin/adminbar.php:22
28
- msgid "Titles & Metas"
29
- msgstr "Títulos y Metas"
30
-
31
- #: inc/admin/admin-header.php:33 inc/admin/admin.php:186
32
- #: inc/admin/adminbar.php:28
33
- msgid "XML / HTML Sitemap"
34
- msgstr "XML / Mapa del sitio HTML"
35
-
36
- #: inc/admin/admin-header.php:39 inc/admin/admin.php:187
37
- #: inc/admin/admin.php:1333 inc/admin/adminbar.php:34
38
- msgid "Social Networks"
39
- msgstr "Redes Sociales"
40
-
41
- #: inc/admin/admin-header.php:45 inc/admin/admin.php:188
42
- #: inc/admin/admin.php:1371 inc/admin/adminbar.php:40
43
- msgid "Google Analytics"
44
- msgstr "Google Analytics"
45
-
46
- #: inc/admin/admin-header.php:51 inc/admin/admin-metaboxes-form.php:124
47
- #: inc/admin/admin.php:189 inc/admin/admin.php:304 inc/admin/admin.php:580
48
- #: inc/admin/admin.php:1409 inc/admin/adminbar.php:46
49
- msgid "Advanced"
50
- msgstr "Avanzado"
51
-
52
- #: inc/admin/admin-header.php:59 inc/admin/admin.php:1438
53
- msgid "WooCommerce"
54
- msgstr "WooCommerce"
55
-
56
- #: inc/admin/admin-header.php:65 inc/admin/admin.php:1466
57
- msgid "Local Business"
58
- msgstr "Negocio Local"
59
-
60
- #: inc/admin/admin-header.php:71 inc/admin/admin.php:1494
61
- msgid "Dublin Core"
62
- msgstr "Dublin Core"
63
-
64
- #: inc/admin/admin-header.php:77 inc/admin/admin.php:1522
65
- msgid "Structured Data Types"
66
- msgstr "Tipos de datos estructurados"
67
-
68
- #: inc/admin/admin-header.php:83 inc/admin/admin.php:1550
69
- msgid "Breadcrumbs"
70
- msgstr "Migas de pan"
71
-
72
- #: inc/admin/admin-header.php:89 inc/admin/admin.php:1588
73
- msgid "Google Page Speed"
74
- msgstr "Google Page Speed"
75
-
76
- #: inc/admin/admin-header.php:96 inc/admin/admin.php:749
77
- #: inc/admin/admin.php:1609
78
- msgid "robots.txt"
79
- msgstr "robots.txt"
80
-
81
- #: inc/admin/admin-header.php:103 inc/admin/admin.php:1648
82
- msgid "Google News Sitemap"
83
- msgstr "Google News Sitemap"
84
-
85
- #: inc/admin/admin-header.php:109 inc/admin/admin.php:1676
86
- #: inc/admin/adminbar.php:78
87
- msgid "Redirections"
88
- msgstr "Redirecciones"
89
-
90
- #: inc/admin/admin-header.php:115 inc/admin/admin.php:1715
91
- msgid "SEOPress BOT - Broken links"
92
- msgstr "SEOPress BOT - Enlaces rotos"
93
-
94
- #: inc/admin/admin-header.php:121 inc/admin/admin.php:1726
95
- #: inc/admin/adminbar.php:90
96
- msgid "Backlinks"
97
- msgstr "Backlinks"
98
-
99
- #: inc/admin/admin-header.php:128 inc/admin/admin.php:750
100
- #: inc/admin/admin.php:1738
101
- msgid ".htaccess"
102
- msgstr ".htaccess"
103
-
104
- #: inc/admin/admin-header.php:135 inc/admin/admin.php:1750
105
- msgid "RSS"
106
- msgstr "RSS"
107
-
108
- #: inc/admin/admin-header.php:141 inc/admin/admin.php:1783
109
- #: inc/admin/adminbar.php:66
110
- msgid "License"
111
- msgstr "Licencia"
112
-
113
- #: inc/admin/admin-header.php:148 inc/admin/admin.php:190
114
- #: inc/admin/admin.php:1762 inc/admin/adminbar.php:52
115
- msgid "Tools"
116
- msgstr "Herramientas"
117
-
118
- #: inc/admin/admin-header.php:170
119
- msgid "See the changelog (new window)"
120
- msgstr "Ver el changelog (nueva ventana)"
121
-
122
- #: inc/admin/admin-header.php:172
123
- msgid "See the changelog"
124
- msgstr "Ver el changelog"
125
-
126
- #: inc/admin/admin-header.php:174 inc/admin/admin-header.php:176
127
- msgid "Send feedback"
128
- msgstr "Enviar comentarios"
129
-
130
- #: inc/admin/admin-header.php:178
131
- msgid "Follow us on Twitter (new window)"
132
- msgstr "Síguenos en Twitter (nueva ventana)"
133
-
134
- #: inc/admin/admin-header.php:180
135
- msgid "Follow us on Twitter"
136
- msgstr "Síguenos en Twitter"
137
-
138
- #: inc/admin/admin-header.php:182
139
- #, fuzzy
140
- #| msgid "Follow us on Twitter (new window)"
141
- msgid "Follow us on YouTube (new window)"
142
- msgstr "Síguenos en Twitter (nueva ventana)"
143
-
144
- #: inc/admin/admin-header.php:184
145
- #, fuzzy
146
- #| msgid "Follow us on Twitter"
147
- msgid "Follow us on YouTube"
148
- msgstr "Síguenos en Twitter"
149
-
150
- #: inc/admin/admin-header.php:186
151
- msgid "Official website (new window)"
152
- msgstr "Sitio oficial (nueva ventana)"
153
-
154
- #: inc/admin/admin-header.php:188
155
- msgid "Official website"
156
- msgstr "Sitio oficial"
157
-
158
- #: inc/admin/admin-header.php:190
159
- msgid "Support (new window)"
160
- msgstr "Soporte (nueva ventana)"
161
-
162
- #: inc/admin/admin-header.php:192
163
- msgid "Support"
164
- msgstr "Soporte"
165
-
166
- #: inc/admin/admin-metaboxes-form.php:114 inc/admin/admin-metaboxes.php:31
167
- #: inc/admin/admin-metaboxes.php:33 inc/admin/adminbar.php:16
168
- #: inc/functions/options-advanced-admin.php:581
169
- msgid "SEO"
170
- msgstr "SEO"
171
-
172
- #: inc/admin/admin-metaboxes-form.php:123
173
- msgid "Titles settings"
174
- msgstr "Configuración de títulos"
175
-
176
- #: inc/admin/admin-metaboxes-form.php:125
177
- msgid "Social"
178
- msgstr "Social"
179
-
180
- #: inc/admin/admin-metaboxes-form.php:127
181
- msgid "Redirection"
182
- msgstr "Redirection"
183
-
184
- #: inc/admin/admin-metaboxes-form.php:132
185
- msgid "Google News"
186
- msgstr "Google News"
187
-
188
- #: inc/admin/admin-metaboxes-form.php:143