SEOPress - Version 3.8.2

Version Description

  • NEW Advanced conditions for schemas! (PRO)
  • NEW Google Mobile Preview!
  • NEW TranslatePress compatibility!
  • NEW "remove post category links from breadcrumbs" option (SEO, PRO, Breadcrumbs)
  • NEW Import redirects from Rank Math
  • NEW SEO Ultimate import tool
  • NEW WP Meta SEO import tool
  • NEW Add servesCuisine property to LocalBusiness schemas related to Food (PRO)
  • NEW "seopress_rgpd_full_message_styles" hook to filter cookie bar inline styles (https://www.seopress.org/support/hooks/filter-user-consent-inline-styles/)
  • NEW "seopress_toggle_mobile_preview" hook to change the default Google Preview (desktop or mobile - https://www.seopress.org/support/hooks/set-google-snippet-preview-to-desktop-by-default/)
  • INFO Improve Oxygen compatibility
  • INFO Improve UI for FAQ schema
  • INFO Improve Wizard Configuration UI
  • INFO Improve UI for import tool
  • INFO Improve UX with tabs/anchor
  • INFO Improve responsive design
  • INFO Improve tooltip
  • INFO Improve alt text detection with tiny images (eg: Facebook Pixel) to avoid false positives
  • INFO Parsing the target keyword in permalinks no longer takes accents into account
  • INFO Improve orderby 404 in SEO, Redirections
  • INFO Automatically remove BOM from plugin export JSON file
  • INFO Add "Last time loaded" column to Redirections
  • INFO If redirect in place from the SEO metabox, then don't generate Google preview or content analysis
  • FIX Support non UTF-8 characters for "keyword in permalink" check
  • FIX Notices
  • FIX Redirect from blog page
  • FIX Warning: array_count_values(): Can only count STRING and INTEGER values
  • FIX Trailing slash in post type archive link for XML sitemaps
  • FIX Provider name for service schema
  • FIX redirects if "&" in query string
  • FIX product primary category for breadcrumbs
  • FIX White label with multisite
  • FIX XML Sitemaps with Polylang
  • FIX undefined index in video XML sitemap
  • FIX %%post_author%% in author archive page for specific cases
  • FIX W3C error for cookie bar, inline styles are now printed in the head of your document
  • FIX Plugin import / export settings tool
  • FIX tabs JS error if SEO metabox is not displayed with Structured data types metabox
Download this release

Release Info

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

Code changes from version 3.8.1.1 to 3.8.2

Files changed (59) hide show
  1. assets/css/seopress-admin-bar.css +25 -0
  2. assets/css/seopress-setup.css +17 -17
  3. assets/css/seopress-setup.min.css +1 -1
  4. assets/css/seopress.css +286 -79
  5. assets/css/seopress.min.css +1 -1
  6. assets/img/bg-hero-support.svg +1 -0
  7. assets/js/seopress-block-editor.min.js +1 -0
  8. assets/js/seopress-cookies-ajax.min.js +1 -0
  9. assets/js/seopress-cookies.js +1 -0
  10. assets/js/seopress-counters.js +10 -0
  11. assets/js/seopress-counters.min.js +1 -1
  12. assets/js/seopress-dashboard.min.js +1 -0
  13. assets/js/seopress-media-uploader.min.js +1 -0
  14. assets/js/seopress-migrate.js +89 -0
  15. assets/js/seopress-migrate.min.js +1 -1
  16. assets/js/seopress-network-tabs.min.js +1 -0
  17. assets/js/seopress-quick-edit.min.js +1 -0
  18. assets/js/seopress-sitemap-ajax.min.js +1 -0
  19. assets/js/seopress-sitemap-video.min.js +1 -0
  20. assets/js/seopress-tabs.js +21 -14
  21. assets/js/seopress-tabs.min.js +1 -0
  22. assets/js/seopress-tabs2.min.js +1 -0
  23. assets/js/seopress-tabs3.js +20 -13
  24. assets/js/seopress-tabs3.min.js +1 -0
  25. assets/js/seopress-tabs4.js +21 -14
  26. assets/js/seopress-tabs4.min.js +1 -0
  27. assets/js/seopress-tabs5.js +21 -14
  28. assets/js/seopress-tabs5.min.js +1 -0
  29. assets/js/seopress-tabs6.js +21 -14
  30. assets/js/seopress-tabs6.min.js +1 -0
  31. assets/js/seopress-tabs7.min.js +1 -0
  32. assets/js/seopress-tabs8.js +20 -34
  33. assets/js/seopress-tabs8.min.js +1 -0
  34. contributors.txt +2 -0
  35. inc/admin/admin-features-list.php +437 -776
  36. inc/admin/admin-get-started.php +26 -18
  37. inc/admin/admin-header.php +3 -2
  38. inc/admin/admin-metaboxes-content-analysis-form.php +9 -5
  39. inc/admin/admin-metaboxes-form.php +71 -28
  40. inc/admin/admin-metaboxes.php +43 -42
  41. inc/admin/admin-notifications-center.php +436 -510
  42. inc/admin/admin-wizard.php +144 -58
  43. inc/admin/admin.php +141 -55
  44. inc/admin/adminbar.php +88 -86
  45. inc/admin/ajax.php +535 -342
  46. inc/admin/plugin-upgrader.php +108 -0
  47. inc/functions/options-advanced-admin.php +5 -5
  48. inc/functions/options-google-analytics.php +17 -6
  49. inc/functions/options-import-export.php +273 -122
  50. inc/functions/options-redirections.php +21 -8
  51. inc/functions/options.php +47 -34
  52. inc/functions/sitemap/template-xml-sitemaps-author.php +27 -19
  53. inc/functions/sitemap/template-xml-sitemaps-single-term.php +19 -9
  54. inc/functions/sitemap/template-xml-sitemaps-single.php +282 -202
  55. inc/functions/sitemap/template-xml-sitemaps.php +6 -2
  56. inc/functions/variables/dynamic-variables.php +3 -4
  57. languages/wp-seopress.pot +1362 -1180
  58. readme.txt +47 -5
  59. seopress.php +832 -577
assets/css/seopress-admin-bar.css ADDED
@@ -0,0 +1,25 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,
2
+ #seopress-header #seopress-admin h1::before{
3
+ content:"\e042";
4
+ font-family:seopress
5
+ }
6
+ #seopress-header #seopress-admin h1::before,
7
+ .seopress-page-list .seopress-feature h3,
8
+ .seopress-styles .seopress-option h1{
9
+ -moz-osx-font-smoothing:grayscale;
10
+ -webkit-font-smoothing:antialiased
11
+ }
12
+ @font-face{
13
+ font-family:seopress;
14
+ src:url(../fonts/seopress.eot?8v0bs0);
15
+ 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');
16
+ font-weight:400;
17
+ font-style:normal
18
+ }
19
+ [class*=" icon-seopress"],
20
+ [class^=icon-seopress-]{
21
+ font-family:seopress!important
22
+ }
23
+ .icon-seopress-seopress:before{
24
+ content:"\e042"
25
+ }
assets/css/seopress-setup.css CHANGED
@@ -118,7 +118,7 @@ body.seopress-setup {
118
  }
119
 
120
  .seopress-setup-content a {
121
- color: #3842FF
122
  }
123
 
124
  .seopress-setup-content a:focus,
@@ -512,8 +512,8 @@ body.seopress-setup {
512
  }
513
 
514
  .seopress-setup-content .checkbox input[type=checkbox]:checked+label::before {
515
- background: #3842FF;
516
- border-color: #3842FF
517
  }
518
 
519
  .seopress-setup-steps {
@@ -540,7 +540,7 @@ body.seopress-setup {
540
  }
541
 
542
  .seopress-setup-steps li a {
543
- color: #3742ff;
544
  text-decoration: none;
545
  padding: 1.5em;
546
  margin: -1.5em;
@@ -569,23 +569,23 @@ body.seopress-setup {
569
  }
570
 
571
  .seopress-setup-steps li.active {
572
- border-color: #3842FF;
573
- color: #3842FF;
574
- font-weight: 700
575
  }
576
 
577
  .seopress-setup-steps li.active::before {
578
- border-color: #3842FF
579
  }
580
 
581
  .seopress-setup-steps li.done {
582
- border-color: #3742ff;
583
- color: #3742ff
584
  }
585
 
586
  .seopress-setup-steps li.done::before {
587
- border-color: #3742ff;
588
- background: #3742ff
589
  }
590
 
591
  .seopress-setup .seopress-setup-actions {
@@ -605,19 +605,19 @@ body.seopress-setup {
605
  }
606
 
607
  .seopress-setup .seopress-setup-actions .button-primary {
608
- background-color: #3842FF;
609
- border-color: #3842FF;
610
  margin: 0;
611
  opacity: 1;
612
- transition: all 300ms linear
613
  }
614
 
615
  .seopress-setup .seopress-setup-actions .button-primary:active,
616
  .seopress-setup .seopress-setup-actions .button-primary:focus,
617
  .seopress-setup .seopress-setup-actions .button-primary:hover {
618
  background: none;
619
- border-color: #3842FF;
620
- color: #3842FF
621
  }
622
 
623
  .seopress-setup-content p:last-child {
118
  }
119
 
120
  .seopress-setup-content a {
121
+ color: #6259e6
122
  }
123
 
124
  .seopress-setup-content a:focus,
512
  }
513
 
514
  .seopress-setup-content .checkbox input[type=checkbox]:checked+label::before {
515
+ background: #6259e6;
516
+ border-color: #6259e6
517
  }
518
 
519
  .seopress-setup-steps {
540
  }
541
 
542
  .seopress-setup-steps li a {
543
+ color: #6259e6;
544
  text-decoration: none;
545
  padding: 1.5em;
546
  margin: -1.5em;
569
  }
570
 
571
  .seopress-setup-steps li.active {
572
+ border-color: #6259e6;
573
+ color: #6259e6;
574
+ font-weight: 700;
575
  }
576
 
577
  .seopress-setup-steps li.active::before {
578
+ border-color: #6259e6;
579
  }
580
 
581
  .seopress-setup-steps li.done {
582
+ border-color: #6259e6;
583
+ color: #6259e6
584
  }
585
 
586
  .seopress-setup-steps li.done::before {
587
+ border-color: #6259e6;
588
+ background: #6259e6
589
  }
590
 
591
  .seopress-setup .seopress-setup-actions {
605
  }
606
 
607
  .seopress-setup .seopress-setup-actions .button-primary {
608
+ background-color: #6259e6;
609
+ border-color: #6259e6;
610
  margin: 0;
611
  opacity: 1;
612
+ transition: all 300ms linear;
613
  }
614
 
615
  .seopress-setup .seopress-setup-actions .button-primary:active,
616
  .seopress-setup .seopress-setup-actions .button-primary:focus,
617
  .seopress-setup .seopress-setup-actions .button-primary:hover {
618
  background: none;
619
+ border-color: #6259e6;
620
+ color: #6259e6
621
  }
622
 
623
  .seopress-setup-content p:last-child {
assets/css/seopress-setup.min.css CHANGED
@@ -1 +1 @@
1
- body.seopress-setup{margin:65px auto 24px;box-shadow:none;background:#f1f1f1;padding:0}.spinner{display:inline-block}.log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}#seopress-logo{border:0;margin:0 0 24px;padding:0;text-align:center}#seopress-logo img{max-width:30%}.admin_page_seopress_csv_importer.seopress-styles .seopress-option{max-width:700px;margin:40px auto}.admin_page_seopress_csv_importer .description{color:#999;margin-top:4px;display:block}.admin_page_seopress_csv_importer .description code{background:0 0;padding:0;white-space:pre-line;word-wrap:break-word;word-break:break-all}.admin_page_seopress_csv_importer .seopress-setup-content table thead th{font-weight:700}.admin_page_seopress_csv_importer .seopress-setup-content table tr:nth-child(odd) td{background:#fbfbfb}.admin_page_seopress_csv_importer .seopress-setup-content table td select{width:100%}.admin_page_seopress_csv_importer .dashicons-yes-alt:before{color:#3642ff}.admin_page_seopress_csv_importer .seopress-wizard-services{padding:0}.seopress-setup{text-align:center}.seopress-setup .select2-container{text-align:left;width:auto}.seopress-setup .hidden{display:none}.seopress-setup .seopress-setup-content{box-shadow:0 1px 3px rgba(0,0,0,.13);padding:2em;margin:0 0 20px;background:#fff;overflow:hidden;zoom:1;text-align:left}.seopress-setup-content h1,.seopress-setup-content h2,.seopress-setup-content h3,.seopress-setup-content table{margin:0 0 20px;border:0;padding:0;color:#666;clear:none;font-weight:500}.seopress-setup-content p{margin:20px 0;font-size:1em;line-height:1.75em;color:#666}.seopress-setup-content table{font-size:1em;line-height:1.75em;color:#666}.seopress-setup-content a{color:#3842ff}.seopress-setup-content a:focus,.seopress-setup-content a:hover{color:#111}.seopress-setup-content .form-table th{width:35%;vertical-align:top;font-weight:400}.seopress-setup-content .form-table td{vertical-align:top}.seopress-setup-content .form-table td input,.seopress-setup-content .form-table td select{width:100%;box-sizing:border-box}.seopress-setup-content .form-table td input[size]{width:auto}.seopress-setup-content .form-table td .description{line-height:1.5em;display:block;margin-top:.25em;color:#999;font-style:italic}.seopress-setup-content .form-table td .input-checkbox,.seopress-setup-content .form-table td .input-radio{width:auto;box-sizing:inherit;padding:inherit;margin:0 .5em 0 0;box-shadow:none}.seopress-setup-content .form-table .section_title td{padding:0}.seopress-setup-content .form-table .section_title td h2,.seopress-setup-content .form-table .section_title td p{margin:12px 0 0}.seopress-setup-content .form-table td,.seopress-setup-content .form-table th{padding:12px 0;margin:0;border:0}.seopress-setup-content .form-table td:first-child,.seopress-setup-content .form-table th:first-child{padding-right:1em}.seopress-setup-content table.tax-rates{width:100%;font-size:.92em}.seopress-setup-content table.tax-rates th{padding:0;text-align:center;width:auto;vertical-align:middle}.seopress-setup-content table.tax-rates td{border:1px solid #f5f5f5;padding:6px;text-align:center;vertical-align:middle}.seopress-setup-content table.tax-rates td input{outline:0;border:0;padding:0;box-shadow:none;text-align:center;width:100%}.seopress-setup-content table.tax-rates td.sort{cursor:move;color:#ccc}.seopress-setup-content table.tax-rates td.sort::before{content:"\f333";font-family:dashicons}.seopress-setup-content table.tax-rates td.readonly{background:#f5f5f5}.seopress-setup-content table.tax-rates .add{padding:1em 0 0 1em;line-height:1em;font-size:1em;width:0;margin:6px 0 0;height:0;overflow:hidden;position:relative;display:inline-block}.seopress-setup-content table.tax-rates .add::before{content:"\f502";font-family:dashicons;position:absolute;left:0;top:0}.seopress-setup-content table.tax-rates .remove{padding:1em 0 0 1em;line-height:1em;font-size:1em;width:0;margin:0;height:0;overflow:hidden;position:relative;display:inline-block}.seopress-setup-content table.tax-rates .remove::before{content:"\f182";font-family:dashicons;position:absolute;left:0;top:0}.seopress-setup-content .seopress-setup-pages{width:100%;border-top:1px solid #eee}.seopress-setup-content .seopress-setup-pages thead th{display:none}.seopress-setup-content .seopress-setup-pages .page-name{width:30%;font-weight:700}.seopress-setup-content .seopress-setup-pages td,.seopress-setup-content .seopress-setup-pages th{padding:14px 0;border-bottom:1px solid #eee}.seopress-setup-content .seopress-setup-pages td:first-child,.seopress-setup-content .seopress-setup-pages th:first-child{padding-right:9px}.seopress-setup-content .seopress-setup-pages th{padding-top:0}.seopress-setup-content .seopress-setup-pages .page-options p{color:#777;margin:6px 0 0 24px;line-height:1.75em}.seopress-setup-content .seopress-setup-pages .page-options p input{vertical-align:middle;margin:1px 0 0;height:1.75em;width:1.75em;line-height:1.75em}.seopress-setup-content .seopress-setup-pages .page-options p label{line-height:1}@media screen and (max-width:782px){.seopress-setup-content .form-table tbody th{width:auto}}.seopress-setup-content .twitter-share-button{float:right}.seopress-setup-content .seopress-setup-next-steps{overflow:hidden;margin:0 0 24px;padding-bottom:2px}.seopress-setup-content .seopress-setup-next-steps h2{margin-bottom:12px}.seopress-setup-content .seopress-setup-next-steps .seopress-setup-next-steps-first{float:left;width:50%;box-sizing:border-box}.seopress-setup-content .seopress-setup-next-steps .seopress-setup-next-steps-last{float:right;width:50%;box-sizing:border-box}.seopress-setup-content .seopress-setup-next-steps ul{padding:0 2em 0 0;list-style:none outside;margin:0}.seopress-setup-content .seopress-setup-next-steps ul li a{display:block;padding:0 0 .75em}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button{background-color:#f7f7f7;border-color:#ccc;color:#23282d;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #ccc;text-shadow:1px 0 1px #eee,0 1px 1px #eee;font-size:1em;height:auto;line-height:1.75em;margin:0 0 .75em;opacity:1;padding:1em;text-align:center}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button:active,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button:focus,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button:hover{background:#f5f5f5;border-color:#aaa}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary{color:#fff;background-color:#bb77ae;border-color:#a36597;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597;text-shadow:0 -1px 1px #a36597,1px 0 1px #a36597,0 1px 1px #a36597,-1px 0 1px #a36597}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary:active,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary:focus,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary:hover{color:#fff;background:#a36597;border-color:#a36597;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597}.seopress-setup-content .seopress-setup-next-steps ul li a::before{color:#82878c;font:normal 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:1px;position:relative;text-decoration:none!important;vertical-align:top}.seopress-setup-content .seopress-setup-next-steps ul .learn-more a::before{content:"\f105"}.seopress-setup-content .seopress-setup-next-steps ul .video-walkthrough a::before{content:"\f126"}.seopress-setup-content .seopress-setup-next-steps ul .newsletter a::before{content:"\f465"}.seopress-setup-content .seopress-newsletter,.seopress-setup-content .updated{padding:24px;margin:0 0 24px;overflow:hidden;background:#f5f5f5}.seopress-setup-content .seopress-newsletter p,.seopress-setup-content .updated p{padding:0;margin:0 0 12px}.seopress-setup-content .seopress-newsletter form,.seopress-setup-content .seopress-tracker,.seopress-setup-content .updated form,.seopress-setup-content .updated p:last-child{margin:24px 0;border:1px solid #eee;padding:20px;border-radius:4px;overflow:hidden}.seopress-setup-content .seopress-tracker p{font-size:14px;line-height:1.5em}.seopress-setup-content .seopress-tracker .checkbox{line-height:24px;font-weight:500;font-size:1em;margin-top:0;margin-bottom:20px}.seopress-setup-content .checkbox input[type=checkbox]{opacity:0;position:absolute;left:-9999px}.seopress-setup-content .checkbox label{position:relative;display:inline-block;padding-left:28px}.seopress-setup-content .checkbox label::after,.seopress-setup-content .checkbox label::before{position:absolute;content:"";display:inline-block}.seopress-setup-content .checkbox label::before{height:16px;width:16px;left:0;top:3px;border:1px solid #aaa;background-color:#fff;border-radius:3px}.seopress-setup-content .checkbox label::after{height:5px;width:9px;border-left:2px solid;border-bottom:2px solid;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);left:4px;top:7px;color:#fff}.seopress-setup-content .checkbox input[type=checkbox]+label::after{content:none}.seopress-setup-content .checkbox input[type=checkbox]:checked+label::after{content:""}.seopress-setup-content .checkbox input[type=checkbox]:focus+label::before{outline:#3b99fc auto 5px}.seopress-setup-content .checkbox input[type=checkbox]:checked+label::before{background:#3842ff;border-color:#3842ff}.seopress-setup-steps{padding:0 0 24px;margin:0;list-style:none outside;overflow:hidden;color:#ccc;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex}.seopress-setup-steps li{width:100%;float:left;padding:0 0 .8em;margin:0;text-align:center;position:relative;border-bottom:4px solid #ccc;line-height:1.4em}.seopress-setup-steps li a{color:#3742ff;text-decoration:none;padding:1.5em;margin:-1.5em;position:relative;z-index:1}.seopress-setup-steps li a:focus,.seopress-setup-steps li a:hover{color:#111;text-decoration:underline}.seopress-setup-steps li::before{content:"";border:4px solid #ccc;border-radius:100%;width:4px;height:4px;position:absolute;bottom:0;left:50%;margin-left:-6px;margin-bottom:-8px;background:#fff}.seopress-setup-steps li.active{border-color:#3842ff;color:#3842ff;font-weight:700}.seopress-setup-steps li.active::before{border-color:#3842ff}.seopress-setup-steps li.done{border-color:#3742ff;color:#3742ff}.seopress-setup-steps li.done::before{border-color:#3742ff;background:#3742ff}.seopress-setup .seopress-setup-actions{overflow:hidden;margin:20px 0 0;position:relative}.seopress-setup .seopress-setup-actions .button{font-size:1.25em;padding:.5em 1em;line-height:1em;margin-right:.5em;margin-bottom:2px;height:auto;border-radius:4px}.seopress-setup .seopress-setup-actions .button-primary{background-color:#3842ff;border-color:#3842ff;margin:0;opacity:1;transition:all .3s linear}.seopress-setup .seopress-setup-actions .button-primary:active,.seopress-setup .seopress-setup-actions .button-primary:focus,.seopress-setup .seopress-setup-actions .button-primary:hover{background:0 0;border-color:#3842ff;color:#3842ff}.seopress-setup-content p:last-child{margin-bottom:0}.seopress-setup-content p.store-setup{margin-top:0}.seopress-setup-footer-links{font-size:.85em;color:#7b7b7b;margin:1.18em auto;display:inline-block;text-align:center}.seopress-wizard-storefront .seopress-wizard-storefront-intro{padding:40px 40px 0;background:#f5f5f5;text-align:center}.seopress-wizard-storefront .seopress-wizard-storefront-intro img{margin:40px 0 0 0;width:100%;display:block}.seopress-wizard-storefront .seopress-wizard-storefront-features{list-style:none outside;margin:0 0 20px;padding:0 0 0 30px;overflow:hidden}.seopress-wizard-storefront .seopress-wizard-storefront-feature{margin:0;padding:20px 30px 20px 2em;width:50%;box-sizing:border-box}.seopress-wizard-storefront .seopress-wizard-storefront-feature::before{margin-left:-2em;position:absolute}.seopress-wizard-storefront .seopress-wizard-storefront-feature.first{clear:both;float:left}.seopress-wizard-storefront .seopress-wizard-storefront-feature.last{float:right}.seopress-wizard-storefront .seopress-wizard-storefront-feature__bulletproof::before{content:"🔒"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__mobile::before{content:"📱"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__accessibility::before{content:"👓"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__search::before{content:"🔍"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__compatibility::before{content:"🔧"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__extendable::before{content:"🎨"}.seopress-wizard-services{border:1px solid #eee;padding:1em;margin:0 0 1em;list-style:none outside;border-radius:4px;overflow:hidden}.seopress-wizard-services p{margin:0 0 1em 0;padding:0;font-size:1em;line-height:1.5em}.seopress-wizard-service-item,.seopress-wizard-services-list-toggle{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0;color:#666;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin:1rem 0}.seopress-wizard-service-item:last-child,.seopress-wizard-services-list-toggle:last-child{border-bottom:0}.seopress-wizard-service-item .payment-gateway-fee,.seopress-wizard-services-list-toggle .payment-gateway-fee{color:#a6a6a6}.seopress-wizard-service-item .seopress-wizard-service-name,.seopress-wizard-services-list-toggle .seopress-wizard-service-name{-webkit-flex-basis:0;flex-basis:0;min-width:160px;text-align:center;font-weight:700;padding:2em 0;-webkit-align-self:stretch;align-self:stretch;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:baseline;-webkit-align-items:baseline;align-items:baseline}.seopress-wizard-payment-gateway-form .seopress-wizard-service-item .seopress-wizard-service-name,.seopress-wizard-payment-gateway-form .seopress-wizard-services-list-toggle .seopress-wizard-service-name{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.seopress-wizard-service-item .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle .seopress-wizard-service-name img{max-width:75px}.seopress-wizard-service-item.stripe-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.stripe-logo .seopress-wizard-service-name img{padding:8px 0}.seopress-wizard-service-item.paypal-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.paypal-logo .seopress-wizard-service-name img{max-width:87px;padding:2px 0}.seopress-wizard-service-item.klarna-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.klarna-logo .seopress-wizard-service-name img{max-width:87px;padding:12px 0}.seopress-wizard-service-item.square-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.square-logo .seopress-wizard-service-name img{max-width:95px;padding:12px 0}.seopress-wizard-service-item.eway-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.eway-logo .seopress-wizard-service-name img{max-width:87px}.seopress-wizard-service-item.payfast-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.payfast-logo .seopress-wizard-service-name img{max-width:140px}.seopress-wizard-service-item .seopress-wizard-service-description,.seopress-wizard-services-list-toggle .seopress-wizard-service-description{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;padding:20px}.seopress-wizard-service-item .seopress-wizard-service-description p,.seopress-wizard-services-list-toggle .seopress-wizard-service-description p{margin-bottom:1em}.seopress-wizard-service-item .seopress-wizard-service-description p:last-child,.seopress-wizard-services-list-toggle .seopress-wizard-service-description p:last-child{margin-bottom:0}.seopress-wizard-service-item .seopress-wizard-service-description .seopress-wizard-service-settings-description,.seopress-wizard-services-list-toggle .seopress-wizard-service-description .seopress-wizard-service-settings-description{display:block;font-style:italic;color:#999}.seopress-wizard-service-item .seopress-wizard-service-enable,.seopress-wizard-services-list-toggle .seopress-wizard-service-enable{-webkit-flex-basis:0;flex-basis:0;min-width:75px;text-align:center;cursor:pointer;padding:2em 0;position:relative;max-height:1.5em;-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.seopress-wizard-service-item .seopress-wizard-service-toggle,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle{height:16px;width:32px;border:2px solid #935687;background-color:#935687;display:inline-block;text-indent:-9999px;border-radius:10em;position:relative}.seopress-wizard-service-item .seopress-wizard-service-toggle input[type=checkbox],.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle input[type=checkbox]{display:none}.seopress-wizard-service-item .seopress-wizard-service-toggle::before,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle::before{content:"";display:block;width:16px;height:16px;background:#fff;position:absolute;top:0;right:0;border-radius:100%}.seopress-wizard-service-item .seopress-wizard-service-toggle.disabled,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle.disabled{border-color:#999;background-color:#999}.seopress-wizard-service-item .seopress-wizard-service-toggle.disabled::before,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle.disabled::before{right:auto;left:0}.seopress-wizard-service-item .seopress-wizard-service-settings,.seopress-wizard-services-list-toggle .seopress-wizard-service-settings{display:none;margin-top:.75em;margin-bottom:0;cursor:default}.seopress-wizard-service-item .seopress-wizard-service-settings.hide,.seopress-wizard-services-list-toggle .seopress-wizard-service-settings.hide{display:none}.seopress-wizard-service-item.checked .seopress-wizard-service-settings,.seopress-wizard-services-list-toggle.checked .seopress-wizard-service-settings{display:inline-block}.seopress-wizard-service-item.checked .seopress-wizard-service-settings.hide,.seopress-wizard-services-list-toggle.checked .seopress-wizard-service-settings.hide{display:none}.seopress-wizard-service-item.closed,.seopress-wizard-services-list-toggle.closed{border-bottom:0}.seopress-wizard-services-list-toggle{cursor:pointer}.seopress-wizard-services-list-toggle .seopress-wizard-service-enable::before{content:"\f343";font-family:dashicons;visibility:initial;color:#666;font-size:25px;margin-top:-7px;margin-left:-5px;position:absolute;visibility:visible}.seopress-wizard-services-list-toggle.closed .seopress-wizard-service-enable::before{content:"\f347"}.seopress-wizard-services-list-toggle .seopress-wizard-service-enable input{visibility:hidden;position:relative}.seopress-wizard-services.manual .seopress-wizard-service-item{display:none}.seopress-wizard-services.shipping{margin:0}.seopress-wizard-services.shipping .seopress-wizard-service-name{font-weight:400;text-align:left;-webkit-box-align:center;-webkit-align-items:center;align-items:center;max-height:5em;padding:0}.seopress-wizard-services.shipping .seopress-wizard-service-item{padding-left:2em;padding-top:.67em}.seopress-wizard-services.shipping .seopress-wizard-service-item:first-child{border-bottom:0;padding-bottom:0;font-weight:700}.seopress-wizard-services.shipping .seopress-wizard-service-item:first-child .seopress-wizard-service-name{font-weight:700}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-select,.seopress-wizard-services.shipping .shipping-method-setting{display:-webkit-box;display:-webkit-flex;display:flex}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-select.hide,.seopress-wizard-services.shipping .shipping-method-setting.hide{display:none}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-dropdown,.seopress-wizard-services.shipping .shipping-method-setting input{margin-right:2em;margin-bottom:1em}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-dropdown .select2,.seopress-wizard-services.shipping .shipping-method-setting input .select2{min-width:130px}.seopress-wizard-services.shipping .seopress-wizard-service-description{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;color:#a6a6a6}.seopress-wizard-services.shipping .seopress-wizard-service-item:not(:first-child) .seopress-wizard-service-description{font-size:.92em;padding-bottom:10px}.seopress-wizard-services.shipping .shipping-method-setting input{width:95px;border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:28px;padding-left:8px;padding-right:24px;font-size:14px;color:#444;background-color:#fff;display:inline-block}.seopress-wizard-services.shipping .shipping-method-description,.seopress-wizard-services.shipping .shipping-method-setting .description{color:#7e7e7e;font-size:.9em}.seopress-wizard-services.shipping .shipping-method-setting input::-webkit-input-placeholder{color:#e1e1e1}.seopress-wizard-services.shipping .shipping-method-setting input:-ms-input-placeholder{color:#e1e1e1}.seopress-wizard-services.shipping .shipping-method-setting input::-ms-input-placeholder{color:#e1e1e1}.seopress-wizard-services.shipping .shipping-method-setting input::placeholder{color:#e1e1e1}.seopress-setup-shipping-units p{line-height:1.5em;font-size:13px;margin-bottom:.25em;text-align:center}.seopress-setup-shipping-units .seopress-setup-shipping-unit{margin-bottom:1.75em}.seopress-setup-shipping-units .seopress-setup-shipping-unit .select2{min-width:125px;top:-5px}.hide{display:none}.seopress-wizard-features{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;list-style:none;padding:0}.seopress-wizard-features .seopress-wizard-feature-item{-webkit-flex-basis:calc(50% - 4em - 3px);flex-basis:calc(50% - 4em - 3px);border:1px solid #eee;padding:2em}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(1){border-radius:4px 0 0 0}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(2){border-left:0;border-radius:0 4px 0 0}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(3){border-top:0;border-radius:0 0 0 4px}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(4){border-top:0;border-left:0;border-radius:0 0 4px 0}.seopress-wizard-features p.seopress-wizard-feature-description,.seopress-wizard-features p.seopress-wizard-feature-name{margin:0;line-height:1.5em}h3.jetpack-reasons{text-align:center;margin:3em 0 1em 0;font-size:14px}.jetpack-logo,.wcs-notice{display:block;margin:1.75em auto 2em auto;max-height:175px}.activate-splash .jetpack-logo{width:170px;margin-bottom:0}.activate-splash .wcs-notice{margin-top:1em;padding-left:57px}.step{text-align:center}.seopress-setup .seopress-setup-actions .button{text-shadow:none;font-weight:300;font-size:16px;padding:1em 2em;box-shadow:none;min-width:12em;min-width:auto;margin-top:10px}.seopress-setup .seopress-setup-actions .button:active,.seopress-setup .seopress-setup-actions .button:focus,.seopress-setup .seopress-setup-actions .button:hover{box-shadow:none}.seopress-setup .seopress-setup-actions .plugin-install-info{display:block;font-style:italic;color:#999;font-size:14px;line-height:1.5em;margin:5px 0}.seopress-setup .seopress-setup-actions .plugin-install-info>*{display:block}.seopress-setup .seopress-setup-actions .plugin-install-info .plugin-install-info-list-item::after{content:", "}.seopress-setup .seopress-setup-actions .plugin-install-info .plugin-install-info-list-item:last-of-type::after{content:". "}.seopress-setup .seopress-setup-actions .plugin-install-info a{white-space:nowrap}.seopress-setup .seopress-setup-actions .plugin-install-info a:not(:hover):not(:focus){color:inherit}.plugin-install-source{background:rgba(187,119,174,.15)}.plugin-install-source:not(.seopress-wizard-service-item){box-shadow:0 0 0 10px rgba(187,119,174,.15)}.location-prompt{color:#666;font-size:13px;font-weight:500;margin-bottom:.5em;margin-top:.85em;display:inline-block;width:100%}.location-input{border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:30px;width:calc(100% - 8px - 24px - 2px);padding-left:8px;padding-right:24px;font-size:16px;color:#444;background-color:#fff;display:inline-block;width:100%}.location-input.dropdown{width:100%;max-width:inherit}.address-step .select2{min-width:100%}.store-address-container .city-and-postcode{display:-webkit-box;display:-webkit-flex;display:flex}.store-address-container .city-and-postcode div{-webkit-flex-basis:50%;flex-basis:50%;margin-right:1em}.store-address-container .city-and-postcode div:last-of-type{margin-right:0}.store-address-container .select2-container,.store-address-container input[type=text],.store-address-container select{margin-bottom:10px}.product-type-container{margin-top:14px;margin-bottom:1px}#seopress_sell_in_person{margin-left:0}.seopress-wizard-service-settings .payment-email-input{border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:30px;padding:0 8px;font-size:14px;color:#444;background-color:#fff;display:inline-block}.seopress-wizard-service-settings .payment-email-input[disabled]{color:#aaa}.newsletter-form-container{display:-webkit-box;display:-webkit-flex;display:flex}.newsletter-form-container .newsletter-form-email{border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:42px;padding:0 8px;font-size:16px;color:#666;background-color:#fff;display:inline-block;margin-right:6px;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}.newsletter-form-container .newsletter-form-button-container{-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0}.seopress-setup .seopress-setup-actions .button.newsletter-form-button{height:42px;padding:0 1em;margin:0}.seopress-wizard-next-steps{border:1px solid #eee;border-radius:4px;list-style:none;padding:0}.seopress-wizard-next-steps li{padding:0}.seopress-wizard-next-steps .seopress-wizard-next-step-item{display:-webkit-box;display:-webkit-flex;display:flex;border-top:1px solid #eee}.seopress-wizard-next-steps .seopress-wizard-next-step-item:first-child{border-top:0}.seopress-wizard-next-steps .seopress-wizard-next-step-description{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;margin:1.5em}.seopress-wizard-next-steps .seopress-wizard-next-step-action{-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.seopress-wizard-next-steps .seopress-wizard-next-step-action .button{margin:1em 1.5em}.seopress-wizard-next-steps p.next-step-heading{margin:0;font-size:.95em;font-weight:400;font-variant:all-petite-caps}.seopress-wizard-next-steps p.next-step-extra-info{margin:0}.seopress-wizard-next-steps h3.next-step-description{margin:0;font-size:16px;font-weight:600}.seopress-wizard-next-steps .seopress-wizard-additional-steps{border-top:1px solid #eee}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-wizard-next-step-description{margin-bottom:0}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-setup-actions{margin:0 0 1.5em 0}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-setup-actions .button{font-size:15px;margin:1em 0 1em 1.5em}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-setup-actions .button::last-child{margin-right:1.5em}p.next-steps-help-text{color:#9f9f9f;padding:0 2em;text-align:center;font-size:.9em}p.jetpack-terms{font-size:.8em;text-align:center;max-width:480px;margin:0 auto;line-height:1.5em}.seopress-error{background:#ffe6e5;border-color:#ffc5c2;padding:1em;margin-bottom:1em}.seopress-error p{margin-top:0;margin-bottom:.5em;color:#444}.seopress-error a{color:#ff645c}.seopress-error .reconnect-reminder{font-size:.85em}.seopress-error .seopress-setup-actions .button{font-size:14px}.seopress-wizard-service-setting-ppec_paypal_reroute_requests,.seopress-wizard-service-setting-stripe_create_account{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.seopress-wizard-service-setting-ppec_paypal_reroute_requests .payment-checkbox-input,.seopress-wizard-service-setting-stripe_create_account .payment-checkbox-input{-webkit-box-ordinal-group:2;-webkit-order:1;order:1;margin-top:5px;margin-left:0;margin-right:0;width:1.5em}.seopress-wizard-service-setting-ppec_paypal_reroute_requests .ppec_paypal_reroute_requests,.seopress-wizard-service-setting-ppec_paypal_reroute_requests .stripe_create_account,.seopress-wizard-service-setting-stripe_create_account .ppec_paypal_reroute_requests,.seopress-wizard-service-setting-stripe_create_account .stripe_create_account{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;margin-left:.3em}.seopress-wizard-service-setting-ppec_paypal_email,.seopress-wizard-service-setting-stripe_email{margin-top:.75em;margin-left:1.5em}.seopress-wizard-service-setting-ppec_paypal_email label.ppec_paypal_email,.seopress-wizard-service-setting-ppec_paypal_email label.stripe_email,.seopress-wizard-service-setting-stripe_email label.ppec_paypal_email,.seopress-wizard-service-setting-stripe_email label.stripe_email{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.seopress-wizard-service-setting-ppec_paypal_email input.payment-email-input,.seopress-wizard-service-setting-stripe_email input.payment-email-input{box-sizing:border-box;margin-bottom:.5em;width:100%;height:32px}.seopress-setup-content .recommended-step{padding:0 2.5em;text-align:left;display:inline-block;width:100%}.seopress-setup-content .recommended-step a{text-decoration:none}.seopress-setup-content .recommended-item{list-style:none;margin:1rem 0}.seopress-setup-content .recommended-item:last-child label{margin-bottom:0}.seopress-setup-content .recommended-item label{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-bottom:1.5em}.seopress-setup-content .recommended-item label::after,.seopress-setup-content .recommended-item label::before{top:auto}.seopress-setup-content .recommended-item label::after{margin-top:-1.5px}.seopress-setup-content .recommended-item .recommended-item-icon{border:1px solid #fff;border-radius:7px;height:3.5em;margin-right:1em;margin-left:4px}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-storefront_theme{background-color:#f4a224;max-height:3em;max-width:3em;padding:.25em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-automated_taxes{background-color:#d0011b;max-height:1.75em;padding:.875em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-mailchimp{background-color:#ffe01b;height:2em;padding:.75em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-seopress_services{background-color:#f0f0f0;max-height:1.5em;padding:1.3em .7em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-shipstation{background-color:#f0f0f0;padding:.3em}.seopress-setup-content .recommended-item .recommended-item-description-container h3{font-size:15px;font-weight:700;letter-spacing:.5px;margin-bottom:0}.seopress-setup-content .recommended-item .recommended-item-description-container p{margin-top:0;line-height:1.5em}.seopress-wizard-service-info{padding:1em 2em;background-color:#fafafa}.help_tip{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.seopress-setup #tiptip_content{background:#5f6973}.seopress-setup #tiptip_holder.tip_top #tiptip_arrow_inner{border-top-color:#5f6973}.seopress-setup-shipping-recommended{border-bottom:1px solid #eee;margin-top:0;padding:30px 0}@media only screen and (max-width:400px){#seopress-logo img{max-width:80%}.seopress-setup-steps{display:none}.store-address-container .city-and-postcode{display:block}.store-address-container .city-and-postcode div{margin-right:0}.seopress-wizard-service-item,.seopress-wizard-services-list-toggle{-webkit-flex-wrap:wrap;flex-wrap:wrap}.seopress-wizard-service-item .seopress-wizard-service-enable,.seopress-wizard-services-list-toggle .seopress-wizard-service-enable{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;padding:20px 0 0}.seopress-wizard-service-item .seopress-wizard-service-description,.seopress-wizard-services-list-toggle .seopress-wizard-service-description{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.seopress-wizard-service-item .seopress-wizard-service-name,.seopress-wizard-services-list-toggle .seopress-wizard-service-name{padding:20px 20px 0;text-align:left;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.seopress-wizard-service-item .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle .seopress-wizard-service-name img{margin:0}.newsletter-form-container{display:block}.newsletter-form-container .newsletter-form-email{display:block;box-sizing:border-box;width:100%;margin-bottom:10px}.newsletter-form-container .button.newsletter-form-button{float:left}.seopress-wizard-next-steps .seopress-wizard-next-step-item{-webkit-flex-wrap:wrap;flex-wrap:wrap}.seopress-wizard-next-steps .seopress-wizard-next-step-item .seopress-wizard-next-step-description{margin-bottom:0}.seopress-wizard-next-steps .seopress-wizard-next-step-item .seopress-wizard-next-step-action p{margin:0}}
1
+ body.seopress-setup{margin:65px auto 24px;box-shadow:none;background:#f1f1f1;padding:0}.spinner{display:inline-block}.log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:#13bf11;font-style:italic}#seopress-logo{border:0;margin:0 0 24px;padding:0;text-align:center}#seopress-logo img{max-width:30%}.admin_page_seopress_csv_importer.seopress-styles .seopress-option{max-width:700px;margin:40px auto}.admin_page_seopress_csv_importer .description{color:#999;margin-top:4px;display:block}.admin_page_seopress_csv_importer .description code{background:0 0;padding:0;white-space:pre-line;word-wrap:break-word;word-break:break-all}.admin_page_seopress_csv_importer .seopress-setup-content table thead th{font-weight:700}.admin_page_seopress_csv_importer .seopress-setup-content table tr:nth-child(odd) td{background:#fbfbfb}.admin_page_seopress_csv_importer .seopress-setup-content table td select{width:100%}.admin_page_seopress_csv_importer .dashicons-yes-alt:before{color:#3642ff}.admin_page_seopress_csv_importer .seopress-wizard-services{padding:0}.seopress-setup{text-align:center}.seopress-setup .select2-container{text-align:left;width:auto}.seopress-setup .hidden{display:none}.seopress-setup .seopress-setup-content{box-shadow:0 1px 3px rgba(0,0,0,.13);padding:2em;margin:0 0 20px;background:#fff;overflow:hidden;zoom:1;text-align:left}.seopress-setup-content h1,.seopress-setup-content h2,.seopress-setup-content h3,.seopress-setup-content table{margin:0 0 20px;border:0;padding:0;color:#666;clear:none;font-weight:500}.seopress-setup-content p{margin:20px 0;font-size:1em;line-height:1.75em;color:#666}.seopress-setup-content table{font-size:1em;line-height:1.75em;color:#666}.seopress-setup-content a{color:#6259e6}.seopress-setup-content a:focus,.seopress-setup-content a:hover{color:#111}.seopress-setup-content .form-table th{width:35%;vertical-align:top;font-weight:400}.seopress-setup-content .form-table td{vertical-align:top}.seopress-setup-content .form-table td input,.seopress-setup-content .form-table td select{width:100%;box-sizing:border-box}.seopress-setup-content .form-table td input[size]{width:auto}.seopress-setup-content .form-table td .description{line-height:1.5em;display:block;margin-top:.25em;color:#999;font-style:italic}.seopress-setup-content .form-table td .input-checkbox,.seopress-setup-content .form-table td .input-radio{width:auto;box-sizing:inherit;padding:inherit;margin:0 .5em 0 0;box-shadow:none}.seopress-setup-content .form-table .section_title td{padding:0}.seopress-setup-content .form-table .section_title td h2,.seopress-setup-content .form-table .section_title td p{margin:12px 0 0}.seopress-setup-content .form-table td,.seopress-setup-content .form-table th{padding:12px 0;margin:0;border:0}.seopress-setup-content .form-table td:first-child,.seopress-setup-content .form-table th:first-child{padding-right:1em}.seopress-setup-content table.tax-rates{width:100%;font-size:.92em}.seopress-setup-content table.tax-rates th{padding:0;text-align:center;width:auto;vertical-align:middle}.seopress-setup-content table.tax-rates td{border:1px solid #f5f5f5;padding:6px;text-align:center;vertical-align:middle}.seopress-setup-content table.tax-rates td input{outline:0;border:0;padding:0;box-shadow:none;text-align:center;width:100%}.seopress-setup-content table.tax-rates td.sort{cursor:move;color:#ccc}.seopress-setup-content table.tax-rates td.sort::before{content:"\f333";font-family:dashicons}.seopress-setup-content table.tax-rates td.readonly{background:#f5f5f5}.seopress-setup-content table.tax-rates .add{padding:1em 0 0 1em;line-height:1em;font-size:1em;width:0;margin:6px 0 0;height:0;overflow:hidden;position:relative;display:inline-block}.seopress-setup-content table.tax-rates .add::before{content:"\f502";font-family:dashicons;position:absolute;left:0;top:0}.seopress-setup-content table.tax-rates .remove{padding:1em 0 0 1em;line-height:1em;font-size:1em;width:0;margin:0;height:0;overflow:hidden;position:relative;display:inline-block}.seopress-setup-content table.tax-rates .remove::before{content:"\f182";font-family:dashicons;position:absolute;left:0;top:0}.seopress-setup-content .seopress-setup-pages{width:100%;border-top:1px solid #eee}.seopress-setup-content .seopress-setup-pages thead th{display:none}.seopress-setup-content .seopress-setup-pages .page-name{width:30%;font-weight:700}.seopress-setup-content .seopress-setup-pages td,.seopress-setup-content .seopress-setup-pages th{padding:14px 0;border-bottom:1px solid #eee}.seopress-setup-content .seopress-setup-pages td:first-child,.seopress-setup-content .seopress-setup-pages th:first-child{padding-right:9px}.seopress-setup-content .seopress-setup-pages th{padding-top:0}.seopress-setup-content .seopress-setup-pages .page-options p{color:#777;margin:6px 0 0 24px;line-height:1.75em}.seopress-setup-content .seopress-setup-pages .page-options p input{vertical-align:middle;margin:1px 0 0;height:1.75em;width:1.75em;line-height:1.75em}.seopress-setup-content .seopress-setup-pages .page-options p label{line-height:1}@media screen and (max-width:782px){.seopress-setup-content .form-table tbody th{width:auto}}.seopress-setup-content .twitter-share-button{float:right}.seopress-setup-content .seopress-setup-next-steps{overflow:hidden;margin:0 0 24px;padding-bottom:2px}.seopress-setup-content .seopress-setup-next-steps h2{margin-bottom:12px}.seopress-setup-content .seopress-setup-next-steps .seopress-setup-next-steps-first{float:left;width:50%;box-sizing:border-box}.seopress-setup-content .seopress-setup-next-steps .seopress-setup-next-steps-last{float:right;width:50%;box-sizing:border-box}.seopress-setup-content .seopress-setup-next-steps ul{padding:0 2em 0 0;list-style:none outside;margin:0}.seopress-setup-content .seopress-setup-next-steps ul li a{display:block;padding:0 0 .75em}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button{background-color:#f7f7f7;border-color:#ccc;color:#23282d;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #ccc;text-shadow:1px 0 1px #eee,0 1px 1px #eee;font-size:1em;height:auto;line-height:1.75em;margin:0 0 .75em;opacity:1;padding:1em;text-align:center}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button:active,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button:focus,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button:hover{background:#f5f5f5;border-color:#aaa}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary{color:#fff;background-color:#bb77ae;border-color:#a36597;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597;text-shadow:0 -1px 1px #a36597,1px 0 1px #a36597,0 1px 1px #a36597,-1px 0 1px #a36597}.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary:active,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary:focus,.seopress-setup-content .seopress-setup-next-steps ul .setup-product a.button-primary:hover{color:#fff;background:#a36597;border-color:#a36597;box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 0 #a36597}.seopress-setup-content .seopress-setup-next-steps ul li a::before{color:#82878c;font:normal 20px/1 dashicons;speak:none;display:inline-block;padding:0 10px 0 0;top:1px;position:relative;text-decoration:none!important;vertical-align:top}.seopress-setup-content .seopress-setup-next-steps ul .learn-more a::before{content:"\f105"}.seopress-setup-content .seopress-setup-next-steps ul .video-walkthrough a::before{content:"\f126"}.seopress-setup-content .seopress-setup-next-steps ul .newsletter a::before{content:"\f465"}.seopress-setup-content .seopress-newsletter,.seopress-setup-content .updated{padding:24px;margin:0 0 24px;overflow:hidden;background:#f5f5f5}.seopress-setup-content .seopress-newsletter p,.seopress-setup-content .updated p{padding:0;margin:0 0 12px}.seopress-setup-content .seopress-newsletter form,.seopress-setup-content .seopress-tracker,.seopress-setup-content .updated form,.seopress-setup-content .updated p:last-child{margin:24px 0;border:1px solid #eee;padding:20px;border-radius:4px;overflow:hidden}.seopress-setup-content .seopress-tracker p{font-size:14px;line-height:1.5em}.seopress-setup-content .seopress-tracker .checkbox{line-height:24px;font-weight:500;font-size:1em;margin-top:0;margin-bottom:20px}.seopress-setup-content .checkbox input[type=checkbox]{opacity:0;position:absolute;left:-9999px}.seopress-setup-content .checkbox label{position:relative;display:inline-block;padding-left:28px}.seopress-setup-content .checkbox label::after,.seopress-setup-content .checkbox label::before{position:absolute;content:"";display:inline-block}.seopress-setup-content .checkbox label::before{height:16px;width:16px;left:0;top:3px;border:1px solid #aaa;background-color:#fff;border-radius:3px}.seopress-setup-content .checkbox label::after{height:5px;width:9px;border-left:2px solid;border-bottom:2px solid;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg);left:4px;top:7px;color:#fff}.seopress-setup-content .checkbox input[type=checkbox]+label::after{content:none}.seopress-setup-content .checkbox input[type=checkbox]:checked+label::after{content:""}.seopress-setup-content .checkbox input[type=checkbox]:focus+label::before{outline:#3b99fc auto 5px}.seopress-setup-content .checkbox input[type=checkbox]:checked+label::before{background:#6259e6;border-color:#6259e6}.seopress-setup-steps{padding:0 0 24px;margin:0;list-style:none outside;overflow:hidden;color:#ccc;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:inline-flex}.seopress-setup-steps li{width:100%;float:left;padding:0 0 .8em;margin:0;text-align:center;position:relative;border-bottom:4px solid #ccc;line-height:1.4em}.seopress-setup-steps li a{color:#6259e6;text-decoration:none;padding:1.5em;margin:-1.5em;position:relative;z-index:1}.seopress-setup-steps li a:focus,.seopress-setup-steps li a:hover{color:#111;text-decoration:underline}.seopress-setup-steps li::before{content:"";border:4px solid #ccc;border-radius:100%;width:4px;height:4px;position:absolute;bottom:0;left:50%;margin-left:-6px;margin-bottom:-8px;background:#fff}.seopress-setup-steps li.active{border-color:#6259e6;color:#6259e6;font-weight:700}.seopress-setup-steps li.active::before{border-color:#6259e6}.seopress-setup-steps li.done{border-color:#6259e6;color:#6259e6}.seopress-setup-steps li.done::before{border-color:#6259e6;background:#6259e6}.seopress-setup .seopress-setup-actions{overflow:hidden;margin:20px 0 0;position:relative}.seopress-setup .seopress-setup-actions .button{font-size:1.25em;padding:.5em 1em;line-height:1em;margin-right:.5em;margin-bottom:2px;height:auto;border-radius:4px}.seopress-setup .seopress-setup-actions .button-primary{background-color:#6259e6;border-color:#6259e6;margin:0;opacity:1;transition:all .3s linear}.seopress-setup .seopress-setup-actions .button-primary:active,.seopress-setup .seopress-setup-actions .button-primary:focus,.seopress-setup .seopress-setup-actions .button-primary:hover{background:0 0;border-color:#6259e6;color:#6259e6}.seopress-setup-content p:last-child{margin-bottom:0}.seopress-setup-content p.store-setup{margin-top:0}.seopress-setup-footer-links{font-size:.85em;color:#7b7b7b;margin:1.18em auto;display:inline-block;text-align:center}.seopress-wizard-storefront .seopress-wizard-storefront-intro{padding:40px 40px 0;background:#f5f5f5;text-align:center}.seopress-wizard-storefront .seopress-wizard-storefront-intro img{margin:40px 0 0 0;width:100%;display:block}.seopress-wizard-storefront .seopress-wizard-storefront-features{list-style:none outside;margin:0 0 20px;padding:0 0 0 30px;overflow:hidden}.seopress-wizard-storefront .seopress-wizard-storefront-feature{margin:0;padding:20px 30px 20px 2em;width:50%;box-sizing:border-box}.seopress-wizard-storefront .seopress-wizard-storefront-feature::before{margin-left:-2em;position:absolute}.seopress-wizard-storefront .seopress-wizard-storefront-feature.first{clear:both;float:left}.seopress-wizard-storefront .seopress-wizard-storefront-feature.last{float:right}.seopress-wizard-storefront .seopress-wizard-storefront-feature__bulletproof::before{content:"🔒"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__mobile::before{content:"📱"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__accessibility::before{content:"👓"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__search::before{content:"🔍"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__compatibility::before{content:"🔧"}.seopress-wizard-storefront .seopress-wizard-storefront-feature__extendable::before{content:"🎨"}.seopress-wizard-services{border:1px solid #eee;padding:1em;margin:0 0 1em;list-style:none outside;border-radius:4px;overflow:hidden}.seopress-wizard-services p{margin:0 0 1em 0;padding:0;font-size:1em;line-height:1.5em}.seopress-wizard-service-item,.seopress-wizard-services-list-toggle{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0;color:#666;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin:1rem 0}.seopress-wizard-service-item:last-child,.seopress-wizard-services-list-toggle:last-child{border-bottom:0}.seopress-wizard-service-item .payment-gateway-fee,.seopress-wizard-services-list-toggle .payment-gateway-fee{color:#a6a6a6}.seopress-wizard-service-item .seopress-wizard-service-name,.seopress-wizard-services-list-toggle .seopress-wizard-service-name{-webkit-flex-basis:0;flex-basis:0;min-width:160px;text-align:center;font-weight:700;padding:2em 0;-webkit-align-self:stretch;align-self:stretch;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:baseline;-webkit-align-items:baseline;align-items:baseline}.seopress-wizard-payment-gateway-form .seopress-wizard-service-item .seopress-wizard-service-name,.seopress-wizard-payment-gateway-form .seopress-wizard-services-list-toggle .seopress-wizard-service-name{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.seopress-wizard-service-item .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle .seopress-wizard-service-name img{max-width:75px}.seopress-wizard-service-item.stripe-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.stripe-logo .seopress-wizard-service-name img{padding:8px 0}.seopress-wizard-service-item.paypal-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.paypal-logo .seopress-wizard-service-name img{max-width:87px;padding:2px 0}.seopress-wizard-service-item.klarna-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.klarna-logo .seopress-wizard-service-name img{max-width:87px;padding:12px 0}.seopress-wizard-service-item.square-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.square-logo .seopress-wizard-service-name img{max-width:95px;padding:12px 0}.seopress-wizard-service-item.eway-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.eway-logo .seopress-wizard-service-name img{max-width:87px}.seopress-wizard-service-item.payfast-logo .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle.payfast-logo .seopress-wizard-service-name img{max-width:140px}.seopress-wizard-service-item .seopress-wizard-service-description,.seopress-wizard-services-list-toggle .seopress-wizard-service-description{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;padding:20px}.seopress-wizard-service-item .seopress-wizard-service-description p,.seopress-wizard-services-list-toggle .seopress-wizard-service-description p{margin-bottom:1em}.seopress-wizard-service-item .seopress-wizard-service-description p:last-child,.seopress-wizard-services-list-toggle .seopress-wizard-service-description p:last-child{margin-bottom:0}.seopress-wizard-service-item .seopress-wizard-service-description .seopress-wizard-service-settings-description,.seopress-wizard-services-list-toggle .seopress-wizard-service-description .seopress-wizard-service-settings-description{display:block;font-style:italic;color:#999}.seopress-wizard-service-item .seopress-wizard-service-enable,.seopress-wizard-services-list-toggle .seopress-wizard-service-enable{-webkit-flex-basis:0;flex-basis:0;min-width:75px;text-align:center;cursor:pointer;padding:2em 0;position:relative;max-height:1.5em;-webkit-align-self:flex-start;align-self:flex-start;-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.seopress-wizard-service-item .seopress-wizard-service-toggle,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle{height:16px;width:32px;border:2px solid #935687;background-color:#935687;display:inline-block;text-indent:-9999px;border-radius:10em;position:relative}.seopress-wizard-service-item .seopress-wizard-service-toggle input[type=checkbox],.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle input[type=checkbox]{display:none}.seopress-wizard-service-item .seopress-wizard-service-toggle::before,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle::before{content:"";display:block;width:16px;height:16px;background:#fff;position:absolute;top:0;right:0;border-radius:100%}.seopress-wizard-service-item .seopress-wizard-service-toggle.disabled,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle.disabled{border-color:#999;background-color:#999}.seopress-wizard-service-item .seopress-wizard-service-toggle.disabled::before,.seopress-wizard-services-list-toggle .seopress-wizard-service-toggle.disabled::before{right:auto;left:0}.seopress-wizard-service-item .seopress-wizard-service-settings,.seopress-wizard-services-list-toggle .seopress-wizard-service-settings{display:none;margin-top:.75em;margin-bottom:0;cursor:default}.seopress-wizard-service-item .seopress-wizard-service-settings.hide,.seopress-wizard-services-list-toggle .seopress-wizard-service-settings.hide{display:none}.seopress-wizard-service-item.checked .seopress-wizard-service-settings,.seopress-wizard-services-list-toggle.checked .seopress-wizard-service-settings{display:inline-block}.seopress-wizard-service-item.checked .seopress-wizard-service-settings.hide,.seopress-wizard-services-list-toggle.checked .seopress-wizard-service-settings.hide{display:none}.seopress-wizard-service-item.closed,.seopress-wizard-services-list-toggle.closed{border-bottom:0}.seopress-wizard-services-list-toggle{cursor:pointer}.seopress-wizard-services-list-toggle .seopress-wizard-service-enable::before{content:"\f343";font-family:dashicons;visibility:initial;color:#666;font-size:25px;margin-top:-7px;margin-left:-5px;position:absolute;visibility:visible}.seopress-wizard-services-list-toggle.closed .seopress-wizard-service-enable::before{content:"\f347"}.seopress-wizard-services-list-toggle .seopress-wizard-service-enable input{visibility:hidden;position:relative}.seopress-wizard-services.manual .seopress-wizard-service-item{display:none}.seopress-wizard-services.shipping{margin:0}.seopress-wizard-services.shipping .seopress-wizard-service-name{font-weight:400;text-align:left;-webkit-box-align:center;-webkit-align-items:center;align-items:center;max-height:5em;padding:0}.seopress-wizard-services.shipping .seopress-wizard-service-item{padding-left:2em;padding-top:.67em}.seopress-wizard-services.shipping .seopress-wizard-service-item:first-child{border-bottom:0;padding-bottom:0;font-weight:700}.seopress-wizard-services.shipping .seopress-wizard-service-item:first-child .seopress-wizard-service-name{font-weight:700}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-select,.seopress-wizard-services.shipping .shipping-method-setting{display:-webkit-box;display:-webkit-flex;display:flex}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-select.hide,.seopress-wizard-services.shipping .shipping-method-setting.hide{display:none}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-dropdown,.seopress-wizard-services.shipping .shipping-method-setting input{margin-right:2em;margin-bottom:1em}.seopress-wizard-services.shipping .seopress-wizard-shipping-method-dropdown .select2,.seopress-wizard-services.shipping .shipping-method-setting input .select2{min-width:130px}.seopress-wizard-services.shipping .seopress-wizard-service-description{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;color:#a6a6a6}.seopress-wizard-services.shipping .seopress-wizard-service-item:not(:first-child) .seopress-wizard-service-description{font-size:.92em;padding-bottom:10px}.seopress-wizard-services.shipping .shipping-method-setting input{width:95px;border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:28px;padding-left:8px;padding-right:24px;font-size:14px;color:#444;background-color:#fff;display:inline-block}.seopress-wizard-services.shipping .shipping-method-description,.seopress-wizard-services.shipping .shipping-method-setting .description{color:#7e7e7e;font-size:.9em}.seopress-wizard-services.shipping .shipping-method-setting input::-webkit-input-placeholder{color:#e1e1e1}.seopress-wizard-services.shipping .shipping-method-setting input:-ms-input-placeholder{color:#e1e1e1}.seopress-wizard-services.shipping .shipping-method-setting input::-ms-input-placeholder{color:#e1e1e1}.seopress-wizard-services.shipping .shipping-method-setting input::placeholder{color:#e1e1e1}.seopress-setup-shipping-units p{line-height:1.5em;font-size:13px;margin-bottom:.25em;text-align:center}.seopress-setup-shipping-units .seopress-setup-shipping-unit{margin-bottom:1.75em}.seopress-setup-shipping-units .seopress-setup-shipping-unit .select2{min-width:125px;top:-5px}.hide{display:none}.seopress-wizard-features{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;list-style:none;padding:0}.seopress-wizard-features .seopress-wizard-feature-item{-webkit-flex-basis:calc(50% - 4em - 3px);flex-basis:calc(50% - 4em - 3px);border:1px solid #eee;padding:2em}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(1){border-radius:4px 0 0 0}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(2){border-left:0;border-radius:0 4px 0 0}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(3){border-top:0;border-radius:0 0 0 4px}.seopress-wizard-features .seopress-wizard-feature-item:nth-child(4){border-top:0;border-left:0;border-radius:0 0 4px 0}.seopress-wizard-features p.seopress-wizard-feature-description,.seopress-wizard-features p.seopress-wizard-feature-name{margin:0;line-height:1.5em}h3.jetpack-reasons{text-align:center;margin:3em 0 1em 0;font-size:14px}.jetpack-logo,.wcs-notice{display:block;margin:1.75em auto 2em auto;max-height:175px}.activate-splash .jetpack-logo{width:170px;margin-bottom:0}.activate-splash .wcs-notice{margin-top:1em;padding-left:57px}.step{text-align:center}.seopress-setup .seopress-setup-actions .button{text-shadow:none;font-weight:300;font-size:16px;padding:1em 2em;box-shadow:none;min-width:12em;min-width:auto;margin-top:10px}.seopress-setup .seopress-setup-actions .button:active,.seopress-setup .seopress-setup-actions .button:focus,.seopress-setup .seopress-setup-actions .button:hover{box-shadow:none}.seopress-setup .seopress-setup-actions .plugin-install-info{display:block;font-style:italic;color:#999;font-size:14px;line-height:1.5em;margin:5px 0}.seopress-setup .seopress-setup-actions .plugin-install-info>*{display:block}.seopress-setup .seopress-setup-actions .plugin-install-info .plugin-install-info-list-item::after{content:", "}.seopress-setup .seopress-setup-actions .plugin-install-info .plugin-install-info-list-item:last-of-type::after{content:". "}.seopress-setup .seopress-setup-actions .plugin-install-info a{white-space:nowrap}.seopress-setup .seopress-setup-actions .plugin-install-info a:not(:hover):not(:focus){color:inherit}.plugin-install-source{background:rgba(187,119,174,.15)}.plugin-install-source:not(.seopress-wizard-service-item){box-shadow:0 0 0 10px rgba(187,119,174,.15)}.location-prompt{color:#666;font-size:13px;font-weight:500;margin-bottom:.5em;margin-top:.85em;display:inline-block;width:100%}.location-input{border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:30px;width:calc(100% - 8px - 24px - 2px);padding-left:8px;padding-right:24px;font-size:16px;color:#444;background-color:#fff;display:inline-block;width:100%}.location-input.dropdown{width:100%;max-width:inherit}.address-step .select2{min-width:100%}.store-address-container .city-and-postcode{display:-webkit-box;display:-webkit-flex;display:flex}.store-address-container .city-and-postcode div{-webkit-flex-basis:50%;flex-basis:50%;margin-right:1em}.store-address-container .city-and-postcode div:last-of-type{margin-right:0}.store-address-container .select2-container,.store-address-container input[type=text],.store-address-container select{margin-bottom:10px}.product-type-container{margin-top:14px;margin-bottom:1px}#seopress_sell_in_person{margin-left:0}.seopress-wizard-service-settings .payment-email-input{border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:30px;padding:0 8px;font-size:14px;color:#444;background-color:#fff;display:inline-block}.seopress-wizard-service-settings .payment-email-input[disabled]{color:#aaa}.newsletter-form-container{display:-webkit-box;display:-webkit-flex;display:flex}.newsletter-form-container .newsletter-form-email{border:1px solid #aaa;border-color:#ddd;border-radius:4px;height:42px;padding:0 8px;font-size:16px;color:#666;background-color:#fff;display:inline-block;margin-right:6px;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}.newsletter-form-container .newsletter-form-button-container{-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0}.seopress-setup .seopress-setup-actions .button.newsletter-form-button{height:42px;padding:0 1em;margin:0}.seopress-wizard-next-steps{border:1px solid #eee;border-radius:4px;list-style:none;padding:0}.seopress-wizard-next-steps li{padding:0}.seopress-wizard-next-steps .seopress-wizard-next-step-item{display:-webkit-box;display:-webkit-flex;display:flex;border-top:1px solid #eee}.seopress-wizard-next-steps .seopress-wizard-next-step-item:first-child{border-top:0}.seopress-wizard-next-steps .seopress-wizard-next-step-description{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1;margin:1.5em}.seopress-wizard-next-steps .seopress-wizard-next-step-action{-webkit-box-flex:0;-webkit-flex-grow:0;flex-grow:0;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.seopress-wizard-next-steps .seopress-wizard-next-step-action .button{margin:1em 1.5em}.seopress-wizard-next-steps p.next-step-heading{margin:0;font-size:.95em;font-weight:400;font-variant:all-petite-caps}.seopress-wizard-next-steps p.next-step-extra-info{margin:0}.seopress-wizard-next-steps h3.next-step-description{margin:0;font-size:16px;font-weight:600}.seopress-wizard-next-steps .seopress-wizard-additional-steps{border-top:1px solid #eee}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-wizard-next-step-description{margin-bottom:0}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-setup-actions{margin:0 0 1.5em 0}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-setup-actions .button{font-size:15px;margin:1em 0 1em 1.5em}.seopress-wizard-next-steps .seopress-wizard-additional-steps .seopress-setup-actions .button::last-child{margin-right:1.5em}p.next-steps-help-text{color:#9f9f9f;padding:0 2em;text-align:center;font-size:.9em}p.jetpack-terms{font-size:.8em;text-align:center;max-width:480px;margin:0 auto;line-height:1.5em}.seopress-error{background:#ffe6e5;border-color:#ffc5c2;padding:1em;margin-bottom:1em}.seopress-error p{margin-top:0;margin-bottom:.5em;color:#444}.seopress-error a{color:#ff645c}.seopress-error .reconnect-reminder{font-size:.85em}.seopress-error .seopress-setup-actions .button{font-size:14px}.seopress-wizard-service-setting-ppec_paypal_reroute_requests,.seopress-wizard-service-setting-stripe_create_account{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}.seopress-wizard-service-setting-ppec_paypal_reroute_requests .payment-checkbox-input,.seopress-wizard-service-setting-stripe_create_account .payment-checkbox-input{-webkit-box-ordinal-group:2;-webkit-order:1;order:1;margin-top:5px;margin-left:0;margin-right:0;width:1.5em}.seopress-wizard-service-setting-ppec_paypal_reroute_requests .ppec_paypal_reroute_requests,.seopress-wizard-service-setting-ppec_paypal_reroute_requests .stripe_create_account,.seopress-wizard-service-setting-stripe_create_account .ppec_paypal_reroute_requests,.seopress-wizard-service-setting-stripe_create_account .stripe_create_account{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;margin-left:.3em}.seopress-wizard-service-setting-ppec_paypal_email,.seopress-wizard-service-setting-stripe_email{margin-top:.75em;margin-left:1.5em}.seopress-wizard-service-setting-ppec_paypal_email label.ppec_paypal_email,.seopress-wizard-service-setting-ppec_paypal_email label.stripe_email,.seopress-wizard-service-setting-stripe_email label.ppec_paypal_email,.seopress-wizard-service-setting-stripe_email label.stripe_email{position:absolute;margin:-1px;padding:0;height:1px;width:1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.seopress-wizard-service-setting-ppec_paypal_email input.payment-email-input,.seopress-wizard-service-setting-stripe_email input.payment-email-input{box-sizing:border-box;margin-bottom:.5em;width:100%;height:32px}.seopress-setup-content .recommended-step{padding:0 2.5em;text-align:left;display:inline-block;width:100%}.seopress-setup-content .recommended-step a{text-decoration:none}.seopress-setup-content .recommended-item{list-style:none;margin:1rem 0}.seopress-setup-content .recommended-item:last-child label{margin-bottom:0}.seopress-setup-content .recommended-item label{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin-bottom:1.5em}.seopress-setup-content .recommended-item label::after,.seopress-setup-content .recommended-item label::before{top:auto}.seopress-setup-content .recommended-item label::after{margin-top:-1.5px}.seopress-setup-content .recommended-item .recommended-item-icon{border:1px solid #fff;border-radius:7px;height:3.5em;margin-right:1em;margin-left:4px}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-storefront_theme{background-color:#f4a224;max-height:3em;max-width:3em;padding:.25em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-automated_taxes{background-color:#d0011b;max-height:1.75em;padding:.875em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-mailchimp{background-color:#ffe01b;height:2em;padding:.75em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-seopress_services{background-color:#f0f0f0;max-height:1.5em;padding:1.3em .7em}.seopress-setup-content .recommended-item .recommended-item-icon.recommended-item-icon-shipstation{background-color:#f0f0f0;padding:.3em}.seopress-setup-content .recommended-item .recommended-item-description-container h3{font-size:15px;font-weight:700;letter-spacing:.5px;margin-bottom:0}.seopress-setup-content .recommended-item .recommended-item-description-container p{margin-top:0;line-height:1.5em}.seopress-wizard-service-info{padding:1em 2em;background-color:#fafafa}.help_tip{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.seopress-setup #tiptip_content{background:#5f6973}.seopress-setup #tiptip_holder.tip_top #tiptip_arrow_inner{border-top-color:#5f6973}.seopress-setup-shipping-recommended{border-bottom:1px solid #eee;margin-top:0;padding:30px 0}@media only screen and (max-width:400px){#seopress-logo img{max-width:80%}.seopress-setup-steps{display:none}.store-address-container .city-and-postcode{display:block}.store-address-container .city-and-postcode div{margin-right:0}.seopress-wizard-service-item,.seopress-wizard-services-list-toggle{-webkit-flex-wrap:wrap;flex-wrap:wrap}.seopress-wizard-service-item .seopress-wizard-service-enable,.seopress-wizard-services-list-toggle .seopress-wizard-service-enable{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;padding:20px 0 0}.seopress-wizard-service-item .seopress-wizard-service-description,.seopress-wizard-services-list-toggle .seopress-wizard-service-description{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.seopress-wizard-service-item .seopress-wizard-service-name,.seopress-wizard-services-list-toggle .seopress-wizard-service-name{padding:20px 20px 0;text-align:left;-webkit-box-pack:justify!important;-webkit-justify-content:space-between!important;justify-content:space-between!important}.seopress-wizard-service-item .seopress-wizard-service-name img,.seopress-wizard-services-list-toggle .seopress-wizard-service-name img{margin:0}.newsletter-form-container{display:block}.newsletter-form-container .newsletter-form-email{display:block;box-sizing:border-box;width:100%;margin-bottom:10px}.newsletter-form-container .button.newsletter-form-button{float:left}.seopress-wizard-next-steps .seopress-wizard-next-step-item{-webkit-flex-wrap:wrap;flex-wrap:wrap}.seopress-wizard-next-steps .seopress-wizard-next-step-item .seopress-wizard-next-step-description{margin-bottom:0}.seopress-wizard-next-steps .seopress-wizard-next-step-item .seopress-wizard-next-step-action p{margin:0}}
assets/css/seopress.css CHANGED
@@ -55,23 +55,68 @@
55
  visibility: hidden;
56
  position: absolute;
57
  z-index: 999999999;
58
- color: #fff;
59
- font-size: 0.9em;
60
- background: #333;
61
- text-align: center;
62
- width: 240px;
63
- right: -140px;
64
- border-radius: 3px;
65
- padding: .618em 1em;
66
- box-shadow: 0 1px 3px rgba(0,0,0,.2);
67
  top: 25px;
68
- font-weight: normal;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  }
70
 
71
  .sp-tooltip:hover .sp-tooltiptext {
72
  visibility: visible;
73
  }
74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  .analysis-score .sp-tooltip {
76
  vertical-align: middle;
77
  font-size: 0.75em;
@@ -533,6 +578,13 @@
533
  word-break: break-all;
534
  }
535
 
 
 
 
 
 
 
 
536
  #seopress_cpt .google-snippet-preview > p {
537
  word-break: normal;
538
  }
@@ -544,13 +596,62 @@
544
  line-height: 21.6px;
545
  }
546
 
 
 
 
 
 
 
 
 
547
  #seopress_cpt .google-snippet-preview .snippet-permalink {
548
  color: #006621;
549
  font-size: 14px;
550
  font-style: normal;
551
  font-weight: 400;
552
  line-height: 16px;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
553
  }
 
554
  #seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default {
555
  color: #545454;
556
  font-size: 14px;
@@ -558,6 +659,15 @@
558
  line-height: 18.2px;
559
  display: inline;
560
  }
 
 
 
 
 
 
 
 
 
561
  #seopress_cpt .google-snippet-preview .snippet-date {
562
  color: grey;
563
  display: inline;
@@ -957,8 +1067,18 @@ body.seopress-styles {
957
  position: relative;
958
  }
959
 
 
 
 
 
 
 
 
960
  #seopress-admin-tabs.wrap {
961
  display: block;
 
 
 
962
  }
963
 
964
  .seopress-styles .seopress-option .submit {
@@ -998,7 +1118,6 @@ body.seopress-styles {
998
 
999
  .seopress-styles #wpcontent {
1000
  padding-left: 0;
1001
- background: #F8FAFD;
1002
  }
1003
 
1004
  .seopress-styles pre {
@@ -1013,7 +1132,7 @@ body.seopress-styles {
1013
  padding: 10px 0.5rem;
1014
  height: 56px;
1015
  margin: 0 auto;
1016
- width: 53rem;
1017
  box-sizing: border-box;
1018
  position: relative;
1019
  }
@@ -1078,10 +1197,11 @@ body.seopress-styles {
1078
  z-index: 300;
1079
  padding: 0;
1080
  display: block;
1081
- width: 53rem;
1082
  top: 0;
1083
  visibility: hidden;
1084
  cursor: auto;
 
1085
  }
1086
 
1087
  #seopress-header #seopress-admin h1:hover .seopress-quick-access {
@@ -1206,9 +1326,9 @@ body.seopress-styles {
1206
  position: relative;
1207
  display: block;
1208
  width: 100%;
1209
- height: 100%;
1210
- max-width: 53rem;
1211
- margin: 10px auto 0;
1212
  }
1213
 
1214
  #seopress-admin-tabs .seopress-tab {
@@ -1220,6 +1340,7 @@ body.seopress-styles {
1220
  transform: translateX(-15px);
1221
  position: absolute;
1222
  top: 0;
 
1223
  }
1224
 
1225
  #seopress-admin-tabs .seopress-tab.active {
@@ -1237,15 +1358,38 @@ body.seopress-styles {
1237
  display: none;
1238
  }
1239
 
 
 
 
 
 
 
1240
  #seopress-tabs .seopress-tab.active {
1241
  display: inline-block;
1242
  border-left: 1px solid RGB(238,238,238);
1243
  }
1244
 
 
 
 
 
 
 
 
 
 
 
1245
  .seopress-option input[type=text],.seopress-option input[type=password],.seopress-option textarea {
1246
  min-width: 485px;
1247
  }
1248
 
 
 
 
 
 
 
 
1249
  #seopress_htaccess_file {
1250
  width: 100%;
1251
  }
@@ -1354,26 +1498,34 @@ body.seopress-styles {
1354
  .seopress-page-list .seopress-feature,.seopress-useful-tools,
1355
  .seopress-get-started {
1356
  margin: 0 auto 20px;
1357
- box-shadow: 0 7px 14px 0 rgba(60,66,87, 0.12), 0 3px 6px 0 rgba(0,0,0, 0.12);
1358
- max-width: 50rem;
1359
- padding: 1.5rem;
1360
  width: 100%;
1361
  border-radius: 0 0 4px 4px;
 
1362
  }
1363
 
1364
  .seopress-get-started {
1365
  margin-top: 20px;
 
1366
  position: relative;
 
 
 
 
 
 
1367
  }
1368
 
1369
  .seopress-get-started .preheader {
1370
  text-transform: uppercase;
1371
  font-size: 0.8rem;
 
1372
  }
1373
 
1374
  .seopress-get-started h2 {
1375
  font-size: 1.85em;
1376
- margin: 16px 0 0 0;
1377
  font-weight: normal;
1378
  }
1379
 
@@ -1384,11 +1536,11 @@ body.seopress-styles {
1384
  .seopress-get-started a .dashicons {
1385
  vertical-align: middle;
1386
  text-decoration: none;
1387
- color: #6f8096;
1388
  }
1389
 
1390
  .seopress-get-started a.button-primary .dashicons {
1391
- line-height: 16px;
1392
  }
1393
 
1394
  .seopress-get-started a.btn-link .dashicons {
@@ -1401,6 +1553,7 @@ body.seopress-styles {
1401
 
1402
  #seopress-notifications-center,.seopress-useful-tools {
1403
  background: #fff;
 
1404
  }
1405
 
1406
  .seopress-page-list .seopress-feature {
@@ -1408,11 +1561,10 @@ body.seopress-styles {
1408
  position: relative;
1409
  overflow: hidden;
1410
  transition-duration: .15s;
1411
- width: auto;
1412
  display: flex;
1413
  margin: 0;
1414
- align-items: start;
1415
  background: #fff;
 
1416
  flex-wrap: wrap;
1417
  border-radius: 4px;
1418
  width: 100%;
@@ -1459,7 +1611,7 @@ body.seopress-styles {
1459
  .seopress-page-list .seopress-feature .inner {
1460
  margin: 0;
1461
  display: inline-block;
1462
- padding: 1.4rem;
1463
  width: 100%;
1464
  height: 100%;
1465
  box-sizing: border-box;
@@ -1495,17 +1647,16 @@ body.seopress-styles {
1495
  min-height: 34px;
1496
  transition: all .3s linear;
1497
  text-shadow: none;
1498
- box-shadow: 0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);
1499
- margin-right: 15px;
1500
  background: #6A7C94;
1501
  position: relative;
1502
  height: auto;
 
 
1503
  }
1504
 
1505
  #seopress-content .seopress-page-list .seopress-feature a.button-secondary {
1506
  padding-left: 30px;
1507
- margin: 0 0 1rem 0;
1508
- display: flex;
1509
  }
1510
 
1511
  #seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after {
@@ -1519,13 +1670,14 @@ body.seopress-styles {
1519
  font-size: 16px;
1520
  }
1521
 
 
 
1522
  #seopress-content .seopress-page-list .seopress-feature a.view-redirects,
1523
  #seopress-notifications-center .seopress-alert .button-primary,
1524
  .seopress-option .button,
1525
  .seopress-get-started .button {
1526
- background: #fff;
1527
- border: none;
1528
- color: #6b7c93;
1529
  font-weight: 500;
1530
  transition: all .3s linear;
1531
  text-shadow: none;
@@ -1536,8 +1688,18 @@ body.seopress-styles {
1536
  min-height: 34px;
1537
  margin: 10px 0;
1538
  border-radius: 4px;
1539
- box-shadow: 0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);
1540
  vertical-align: baseline;
 
 
 
 
 
 
 
 
 
 
1541
  }
1542
 
1543
  .seopress-option .wp-picker-container button {
@@ -1571,7 +1733,6 @@ body.seopress-styles {
1571
 
1572
  #seopress-content .seopress-page-list .seopress-feature a.view-redirects {
1573
  padding-left: 30px;
1574
- margin-bottom: 1rem;
1575
  }
1576
 
1577
  #seopress-notifications-center .seopress-alert .button-primary::after {
@@ -1630,9 +1791,9 @@ body.seopress-styles {
1630
  }
1631
 
1632
  #seopress-notifications-center .seopress-alert {
1633
- padding: 1rem;
1634
  border-bottom: 1px solid #e6ebf1;
1635
- width: calc(100% - 30px);
1636
  flex: 1 1 auto;
1637
  position: relative;
1638
  transition: all 150ms ease;
@@ -1641,13 +1802,23 @@ body.seopress-styles {
1641
  justify-content: space-between;
1642
  }
1643
 
 
 
 
 
 
1644
  #seopress-notifications-center .seopress-alert:hover {
1645
  cursor: default;
1646
  }
1647
 
1648
- #seopress-notifications-center .dashicons-info {
1649
  display: flex;
1650
  align-self: normal;
 
 
 
 
 
1651
  }
1652
 
1653
  #seopress-notifications-center .seopress-alert p {
@@ -1664,56 +1835,55 @@ body.seopress-styles {
1664
  }
1665
 
1666
  #seopress-notifications-center .notice-right {
1667
- align-items: center;
1668
  display: flex;
1669
- padding: 0 1rem;
1670
  }
1671
 
1672
- #seopress-notifications-center .seopress-alert .impact {
1673
- padding: 2px 5px;
1674
- color: #fff;
1675
- text-transform: uppercase;
1676
- font-weight: 700;
1677
- font-size: 10px;
1678
- border-radius: 4px;
1679
- margin: 0 1rem;
1680
- display: inline-block;
1681
  }
1682
 
1683
- #seopress-notifications-center .seopress-alert .impact.low {
1684
  background: #FFDE24;
1685
- color: #6b6543;
1686
  }
1687
 
1688
- #seopress-notifications-center .seopress-alert .impact.medium {
1689
  background: #e39f48;
1690
  }
1691
 
1692
- #seopress-notifications-center .seopress-alert .impact.high {
1693
  background: #e25950;
1694
  }
1695
 
1696
- #seopress-notifications-center .seopress-alert .impact.high.info {
1697
  background:#0085ba;
1698
  }
1699
 
1700
- #seopress-notifications-center .seopress-alert .dashicons {
1701
  color: #6f8096;
1702
  }
1703
 
1704
  #seopress-notifications-center .dashicons.remove-notice,
1705
  .seopress-get-started .remove-notice {
1706
  position: absolute;
1707
- right: -25px;
1708
  color: #6b7c93;
1709
  font-size: 20px;
1710
  height: 30px;
1711
  width: 30px;
1712
  vertical-align: middle;
1713
- top: calc(50% - 15px);
1714
  line-height: 30px;
1715
  padding: 5px;
1716
  transition: all .3s linear;
 
 
1717
  }
1718
 
1719
  .seopress-get-started .remove-notice {
@@ -1734,8 +1904,8 @@ body.seopress-styles {
1734
  color: inherit;
1735
  box-shadow: none;
1736
  position: absolute;
1737
- right: -0.5rem;
1738
- top: 0.5rem;
1739
  }
1740
 
1741
  #seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover {
@@ -1776,7 +1946,7 @@ body.seopress-styles {
1776
  font-size: 10px;
1777
  display: inline-block;
1778
  background: rgba(0,140,135,.1);
1779
- padding: 2px 12px;
1780
  border-radius: 25px;
1781
  color: #444;
1782
  font-weight: 400;
@@ -1785,6 +1955,13 @@ body.seopress-styles {
1785
  -webkit-font-smoothing: initial;
1786
  }
1787
 
 
 
 
 
 
 
 
1788
  .seopress-option .seopress_wrap_single_cpt .feature-state,
1789
  .seopress-option .seopress_wrap_tax .feature-state {
1790
  padding: 2px 12px;
@@ -2030,7 +2207,7 @@ body.seopress-styles {
2030
  background: #f8fafd;
2031
  }
2032
 
2033
- #seopress-content input.toggle, .seopress-option input.toggle {
2034
  max-height: 0;
2035
  max-width: 0;
2036
  opacity: 0;
@@ -2041,8 +2218,18 @@ body.seopress-styles {
2041
  display: block;
2042
  }
2043
 
 
 
 
 
 
 
 
 
 
2044
  .seopress_wrap_single_cpt input.toggle,
2045
- .seopress_wrap_tax input.toggle {
 
2046
  margin: 0;
2047
  border: none;
2048
  min-width: 0;
@@ -2058,7 +2245,7 @@ body.seopress-styles {
2058
  font-weight: bold;
2059
  }
2060
 
2061
- #seopress-content input.toggle+label,.seopress-option input.toggle+label {
2062
  display: inline-block;
2063
  position: relative;
2064
  box-shadow: inset 0 0 0 1px #d5d5d5;
@@ -2068,12 +2255,16 @@ body.seopress-styles {
2068
  border-radius: 15px;
2069
  }
2070
 
 
 
 
 
2071
  .wrap-toggle-checkboxes input.toggle+label {
2072
  float: left;
2073
  margin-right: 10px;
2074
  }
2075
 
2076
- #seopress-content input.toggle+label:before,.seopress-option input.toggle+label:before {
2077
  content: "";
2078
  position: absolute;
2079
  display: block;
@@ -2088,7 +2279,7 @@ body.seopress-styles {
2088
  transition: .25s ease-in-out;
2089
  }
2090
 
2091
- #seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after {
2092
  content: "";
2093
  position: absolute;
2094
  display: block;
@@ -2107,42 +2298,46 @@ body.seopress-styles {
2107
  .seopress_wrap_single_cpt input.toggle+label,
2108
  .seopress_wrap_single_cpt input.toggle+label:before,
2109
  .seopress_wrap_tax input.toggle+label,
2110
- .seopress_wrap_tax input.toggle+label:before {
 
 
2111
  width: 40px;
2112
  height: 20px;
2113
  }
2114
 
2115
  .seopress_wrap_single_cpt input.toggle+label:after,
2116
- .seopress_wrap_tax input.toggle+label:after {
 
2117
  width: 20px;
2118
  height: 20px;
2119
  }
2120
 
2121
- #seopress-content input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before {
2122
  width: 40px;
2123
- background: rgba(19,191,17,1);
2124
  }
2125
 
2126
- .seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,
2127
- .seopress_wrap_tax input.toggle[data-toggle="1"]+label:before {
2128
  width: 40px;
2129
  background: rgb(49, 151, 211);
2130
  }
2131
 
2132
- #seopress-content input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after {
2133
  left: 20px;
2134
- box-shadow: inset 0 0 0 1px rgba(19,191,17,1), 0 2px 4px rgba(0,0,0,.2);
2135
  }
2136
 
2137
  .seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,
2138
- .seopress_wrap_tax input.toggle[data-toggle="1"]+label:after {
 
2139
  box-shadow: inset 0 0 0 1px rgb(49, 151, 211), 0 2px 4px rgba(0,0,0,.2);
2140
  }
2141
 
2142
  #seopress-content .seopress-page-list {
2143
  position: relative;
2144
  display: grid;
2145
- max-width: 53rem;
2146
  grid-gap: 20px 20px;
2147
  grid-template-columns: repeat(3,1fr);
2148
  }
@@ -2182,11 +2377,19 @@ body.seopress-styles {
2182
  border-bottom: none;
2183
  }
2184
 
 
 
 
 
 
 
 
 
2185
  #seopress-admin-tabs.wrap div.nav-tab-wrapper {
2186
  margin: 20px auto 0;
2187
- max-width: 53rem;
2188
  width: 100%;
2189
- border-bottom: 0;
2190
  padding: 0;
2191
  line-height: inherit;
2192
  position: -webkit-sticky; /* Required for Safari */
@@ -2194,13 +2397,13 @@ body.seopress-styles {
2194
  background: #f5f7fa;
2195
  z-index: 100;
2196
  top: 31px;
2197
- box-shadow: 0 7px 14px 0 rgba(60,66,87, 0.12), 0 3px 6px 0 rgba(0,0,0, 0.12);
2198
  border-radius: 4px 4px 0 0;
2199
  font-weight: 400;
2200
  overflow: hidden;
2201
  display: flex;
2202
  align-items: center;
2203
  justify-content: space-between;
 
2204
  }
2205
 
2206
  #seopress-admin-tabs #tab_seopress_notifications.seopress-tab {
@@ -2230,7 +2433,7 @@ body.seopress-styles {
2230
  border: 0 solid #ccc;
2231
  background: 0 0;
2232
  opacity: .5;
2233
- padding: 16px 20px;
2234
  transition: opacity .3s linear;
2235
  color: #191e23;
2236
  margin: 0;
@@ -2259,7 +2462,7 @@ body.seopress-styles {
2259
  background: rgba(0, 133, 186, 0.1);
2260
  }
2261
  #seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus {
2262
- border-bottom: 3px solid #0085ba;
2263
  border-left: none;
2264
  background: #fff;
2265
  }
@@ -2322,4 +2525,8 @@ body.seopress-styles {
2322
 
2323
  .seopress-option .sp-section-header .wrap-toggle-checkboxes {
2324
  display: flex;
 
 
 
 
2325
  }
55
  visibility: hidden;
56
  position: absolute;
57
  z-index: 999999999;
58
+ width: 300px;
59
+ right: -303px;
60
+ padding: 20px;
 
 
 
 
 
 
61
  top: 25px;
62
+ font-weight: 400;
63
+ box-shadow: 0 3px 30px rgba(25, 30, 35, 0.1);
64
+ border: 1px solid #e2e4e7;
65
+ background: #fff;
66
+ word-break: break-word;
67
+ }
68
+
69
+ .sp-tooltip .sp-tooltiptext::before {
70
+ border: 8px solid #e2e4e7;
71
+ top: -8px;
72
+ }
73
+
74
+ .sp-tooltip .sp-tooltiptext::after {
75
+ border: 8px solid #fff;
76
+ top: -6px;
77
+ }
78
+
79
+ .sp-tooltip .sp-tooltiptext::before, .sp-tooltip .sp-tooltiptext::after {
80
+ border-bottom-style: solid;
81
+ border-left-color: transparent;
82
+ border-right-color: transparent;
83
+ border-top: none;
84
+ margin-left: -10px;
85
+ content: "";
86
+ position: absolute;
87
+ height: 0;
88
+ width: 0;
89
+ line-height: 0;
90
+ left: 30px;
91
  }
92
 
93
  .sp-tooltip:hover .sp-tooltiptext {
94
  visibility: visible;
95
  }
96
 
97
+ .sp-tooltip .sp-tooltip-headings {
98
+ font-size: 18px;
99
+ font-weight: 600;
100
+ margin-bottom: 20px;
101
+ display: block;
102
+ }
103
+
104
+ .sp-tooltip .sp-tooltip-desc {
105
+ margin-bottom: 20px;
106
+ display: block;
107
+ border-bottom: 1px solid #e2e4e7;
108
+ padding-bottom: 20px;
109
+ font-size: 13px;
110
+ }
111
+
112
+ .sp-tooltip .sp-tooltip-code {
113
+ font-family: Menlo, Monaco, Andale Mono, Courier New, monospace;
114
+ display: block;
115
+ word-break: break-all;
116
+ color: #42b72a;
117
+ font-size: 11px;
118
+ }
119
+
120
  .analysis-score .sp-tooltip {
121
  vertical-align: middle;
122
  font-size: 0.75em;
578
  word-break: break-all;
579
  }
580
 
581
+ #seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet {
582
+ margin: 0 0 10px 0;
583
+ box-shadow: 0 1px 6px rgba(32, 33, 36, 0.28);
584
+ border-radius: 8px;
585
+ padding: 12px 16px;
586
+ }
587
+
588
  #seopress_cpt .google-snippet-preview > p {
589
  word-break: normal;
590
  }
596
  line-height: 21.6px;
597
  }
598
 
599
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,
600
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,
601
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default {
602
+ font-size: 16px;
603
+ line-height: 20px;
604
+ margin-bottom: 12px;
605
+ }
606
+
607
  #seopress_cpt .google-snippet-preview .snippet-permalink {
608
  color: #006621;
609
  font-size: 14px;
610
  font-style: normal;
611
  font-weight: 400;
612
  line-height: 16px;
613
+ overflow: hidden;
614
+ text-overflow: ellipsis;
615
+ white-space: nowrap;
616
+ }
617
+
618
+ #seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,
619
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink {
620
+ display: none;
621
+ }
622
+
623
+ #seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink {
624
+ overflow: hidden;
625
+ text-overflow: ellipsis;
626
+ white-space: nowrap;
627
+ margin-bottom: 12px;
628
+ display: flex;
629
+ }
630
+
631
+ #seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink {
632
+ display: block;
633
+ color: #3C4043;
634
+ font-size: 12px;
635
+ }
636
+
637
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon {
638
+ margin-right: 12px;
639
+ vertical-align: middle;
640
+ }
641
+
642
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img {
643
+ width: 16px;
644
+ height: 16px;
645
+ max-width: inherit;
646
+ }
647
+
648
+ #seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child {
649
+ color: #3C4043;
650
+ white-space: nowrap;
651
+ font-size: 12px;
652
+ display: block;
653
  }
654
+
655
  #seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default {
656
  color: #545454;
657
  font-size: 14px;
659
  line-height: 18.2px;
660
  display: inline;
661
  }
662
+
663
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,
664
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,
665
+ #seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default {
666
+ color: #3C4043;
667
+ font-size: 14px;
668
+ line-height: 20px;
669
+ }
670
+
671
  #seopress_cpt .google-snippet-preview .snippet-date {
672
  color: grey;
673
  display: inline;
1067
  position: relative;
1068
  }
1069
 
1070
+ @media only screen and (max-width: 1024px) {
1071
+ .seopress-styles .wrap {
1072
+ display: inline-block;
1073
+ width: 100%;
1074
+ }
1075
+ }
1076
+
1077
  #seopress-admin-tabs.wrap {
1078
  display: block;
1079
+ box-shadow: 0 7px 14px 0 rgba(60,66,87, 0.12), 0 3px 6px 0 rgba(0,0,0, 0.12);
1080
+ width: 64rem;
1081
+ margin: 0 auto;
1082
  }
1083
 
1084
  .seopress-styles .seopress-option .submit {
1118
 
1119
  .seopress-styles #wpcontent {
1120
  padding-left: 0;
 
1121
  }
1122
 
1123
  .seopress-styles pre {
1132
  padding: 10px 0.5rem;
1133
  height: 56px;
1134
  margin: 0 auto;
1135
+ width: 64rem;
1136
  box-sizing: border-box;
1137
  position: relative;
1138
  }
1197
  z-index: 300;
1198
  padding: 0;
1199
  display: block;
1200
+ width: 64rem;
1201
  top: 0;
1202
  visibility: hidden;
1203
  cursor: auto;
1204
+ left: -0.5rem;
1205
  }
1206
 
1207
  #seopress-header #seopress-admin h1:hover .seopress-quick-access {
1326
  position: relative;
1327
  display: block;
1328
  width: 100%;
1329
+ max-width: 64rem;
1330
+ margin: 0 auto;
1331
+ box-sizing: border-box;
1332
  }
1333
 
1334
  #seopress-admin-tabs .seopress-tab {
1340
  transform: translateX(-15px);
1341
  position: absolute;
1342
  top: 0;
1343
+ box-sizing: border-box;
1344
  }
1345
 
1346
  #seopress-admin-tabs .seopress-tab.active {
1358
  display: none;
1359
  }
1360
 
1361
+ @media only screen and (max-width: 1024px) {
1362
+ #seopress-tabs .seopress-tab {
1363
+ width: 100%;
1364
+ }
1365
+ }
1366
+
1367
  #seopress-tabs .seopress-tab.active {
1368
  display: inline-block;
1369
  border-left: 1px solid RGB(238,238,238);
1370
  }
1371
 
1372
+ @media only screen and (max-width: 1024px) {
1373
+ #seopress-tabs .seopress-tab.active {
1374
+ width: 100%;
1375
+ padding: 0;
1376
+ border-left: none;
1377
+ border-top: 1px solid RGB(238,238,238);
1378
+ }
1379
+ }
1380
+
1381
+
1382
  .seopress-option input[type=text],.seopress-option input[type=password],.seopress-option textarea {
1383
  min-width: 485px;
1384
  }
1385
 
1386
+ @media only screen and (max-width: 1024px) {
1387
+ .seopress-option input[type=text],.seopress-option input[type=password],.seopress-option textarea {
1388
+ min-width: inherit;
1389
+ width: 100%;
1390
+ }
1391
+ }
1392
+
1393
  #seopress_htaccess_file {
1394
  width: 100%;
1395
  }
1498
  .seopress-page-list .seopress-feature,.seopress-useful-tools,
1499
  .seopress-get-started {
1500
  margin: 0 auto 20px;
1501
+ max-width: 64rem;
1502
+ padding: 2rem;
 
1503
  width: 100%;
1504
  border-radius: 0 0 4px 4px;
1505
+ box-sizing: border-box;
1506
  }
1507
 
1508
  .seopress-get-started {
1509
  margin-top: 20px;
1510
+ background: #fff url(../img/bg-hero-support.svg) no-repeat 95% 50% / contain;
1511
  position: relative;
1512
+ box-sizing: border-box;
1513
+ box-shadow: 0 7px 14px 0 rgba(60,66,87, 0.12), 0 3px 6px 0 rgba(0,0,0, 0.12);
1514
+ }
1515
+
1516
+ .seopress-get-started .inside {
1517
+ max-width: calc(100% - 380px);
1518
  }
1519
 
1520
  .seopress-get-started .preheader {
1521
  text-transform: uppercase;
1522
  font-size: 0.8rem;
1523
+ font-weight: 600;
1524
  }
1525
 
1526
  .seopress-get-started h2 {
1527
  font-size: 1.85em;
1528
+ margin: 15px 0 0 0;
1529
  font-weight: normal;
1530
  }
1531
 
1536
  .seopress-get-started a .dashicons {
1537
  vertical-align: middle;
1538
  text-decoration: none;
1539
+ color: #6a7c94;
1540
  }
1541
 
1542
  .seopress-get-started a.button-primary .dashicons {
1543
+ color: #fff;
1544
  }
1545
 
1546
  .seopress-get-started a.btn-link .dashicons {
1553
 
1554
  #seopress-notifications-center,.seopress-useful-tools {
1555
  background: #fff;
1556
+ padding: 0;
1557
  }
1558
 
1559
  .seopress-page-list .seopress-feature {
1561
  position: relative;
1562
  overflow: hidden;
1563
  transition-duration: .15s;
 
1564
  display: flex;
1565
  margin: 0;
 
1566
  background: #fff;
1567
+ box-shadow: 0 7px 14px 0 rgba(60,66,87, 0.12), 0 3px 6px 0 rgba(0,0,0, 0.12);
1568
  flex-wrap: wrap;
1569
  border-radius: 4px;
1570
  width: 100%;
1611
  .seopress-page-list .seopress-feature .inner {
1612
  margin: 0;
1613
  display: inline-block;
1614
+ padding: 1.5rem;
1615
  width: 100%;
1616
  height: 100%;
1617
  box-sizing: border-box;
1647
  min-height: 34px;
1648
  transition: all .3s linear;
1649
  text-shadow: none;
1650
+ box-shadow: 0 7px 14px rgba(50,50,93,.1), 0 3px 6px rgba(0,0,0,.1);
 
1651
  background: #6A7C94;
1652
  position: relative;
1653
  height: auto;
1654
+ display: flex;
1655
+ flex-wrap: wrap;
1656
  }
1657
 
1658
  #seopress-content .seopress-page-list .seopress-feature a.button-secondary {
1659
  padding-left: 30px;
 
 
1660
  }
1661
 
1662
  #seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after {
1670
  font-size: 16px;
1671
  }
1672
 
1673
+ #seopress-content .seopress-page-list .wrap-btn {display: inline-flex;margin-bottom: 2rem;flex-direction: column;}
1674
+
1675
  #seopress-content .seopress-page-list .seopress-feature a.view-redirects,
1676
  #seopress-notifications-center .seopress-alert .button-primary,
1677
  .seopress-option .button,
1678
  .seopress-get-started .button {
1679
+ color: rgb(106,124,148);
1680
+ background: #ffffff;
 
1681
  font-weight: 500;
1682
  transition: all .3s linear;
1683
  text-shadow: none;
1688
  min-height: 34px;
1689
  margin: 10px 0;
1690
  border-radius: 4px;
1691
+ box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.12) 0px 1px 1px 0px, rgba(60, 66, 87, 0.16) 0px 0px 0px 1px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(60, 66, 87, 0.12) 0px 2px 5px 0px;
1692
  vertical-align: baseline;
1693
+ display: inline-flex;
1694
+ align-items: center;
1695
+ border: none;
1696
+ margin-right: 0.5rem;
1697
+ }
1698
+
1699
+ .seopress-get-started .button {
1700
+ color: #ffffff;
1701
+ background: #6259e6;
1702
+ box-shadow: none;
1703
  }
1704
 
1705
  .seopress-option .wp-picker-container button {
1733
 
1734
  #seopress-content .seopress-page-list .seopress-feature a.view-redirects {
1735
  padding-left: 30px;
 
1736
  }
1737
 
1738
  #seopress-notifications-center .seopress-alert .button-primary::after {
1791
  }
1792
 
1793
  #seopress-notifications-center .seopress-alert {
1794
+ padding: 1.5rem 2rem 1.2rem 1rem;
1795
  border-bottom: 1px solid #e6ebf1;
1796
+ width: calc(100% - 3rem);
1797
  flex: 1 1 auto;
1798
  position: relative;
1799
  transition: all 150ms ease;
1802
  justify-content: space-between;
1803
  }
1804
 
1805
+ #seopress-notifications-center .seopress-alert:last-child {
1806
+ margin-bottom: 0;
1807
+ border-bottom: none;
1808
+ }
1809
+
1810
  #seopress-notifications-center .seopress-alert:hover {
1811
  cursor: default;
1812
  }
1813
 
1814
+ #seopress-notifications-center .dashicons {
1815
  display: flex;
1816
  align-self: normal;
1817
+ width: 48px;
1818
+ height: 48px;
1819
+ color: #d7dade;
1820
+ font-size: 48px;
1821
+ padding: 0 1rem;
1822
  }
1823
 
1824
  #seopress-notifications-center .seopress-alert p {
1835
  }
1836
 
1837
  #seopress-notifications-center .notice-right {
1838
+ padding: 1rem 0 0 0;
1839
  display: flex;
 
1840
  }
1841
 
1842
+ #seopress-notifications-center .seopress-alert.impact::after {
1843
+ content:"";
1844
+ width: 10px;
1845
+ height: 10px;
1846
+ border-radius: 50px;
1847
+ position: absolute;
1848
+ right: 1rem;
1849
+ top: 1rem;
 
1850
  }
1851
 
1852
+ #seopress-notifications-center .seopress-alert.impact.low::after {
1853
  background: #FFDE24;
 
1854
  }
1855
 
1856
+ #seopress-notifications-center .seopress-alert.impact.medium::after {
1857
  background: #e39f48;
1858
  }
1859
 
1860
+ #seopress-notifications-center .seopress-alert.impact.high::after {
1861
  background: #e25950;
1862
  }
1863
 
1864
+ #seopress-notifications-center .seopress-alert.impact.info::after {
1865
  background:#0085ba;
1866
  }
1867
 
1868
+ #seopress-notifications-center .seopress-alert.dashicons {
1869
  color: #6f8096;
1870
  }
1871
 
1872
  #seopress-notifications-center .dashicons.remove-notice,
1873
  .seopress-get-started .remove-notice {
1874
  position: absolute;
1875
+ right: 0rem;
1876
  color: #6b7c93;
1877
  font-size: 20px;
1878
  height: 30px;
1879
  width: 30px;
1880
  vertical-align: middle;
1881
+ top: 1.2rem;
1882
  line-height: 30px;
1883
  padding: 5px;
1884
  transition: all .3s linear;
1885
+ margin: 0;
1886
+ display: block;
1887
  }
1888
 
1889
  .seopress-get-started .remove-notice {
1904
  color: inherit;
1905
  box-shadow: none;
1906
  position: absolute;
1907
+ right: 0.5rem;
1908
+ top: 1rem;
1909
  }
1910
 
1911
  #seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover {
1946
  font-size: 10px;
1947
  display: inline-block;
1948
  background: rgba(0,140,135,.1);
1949
+ padding: 2px 10px;
1950
  border-radius: 25px;
1951
  color: #444;
1952
  font-weight: 400;
1955
  -webkit-font-smoothing: initial;
1956
  }
1957
 
1958
+ @media only screen and (max-width: 768px) {
1959
+ #seopress-content .feature-state,.seopress-option .feature-state {
1960
+ display: none;
1961
+ }
1962
+ }
1963
+
1964
+
1965
  .seopress-option .seopress_wrap_single_cpt .feature-state,
1966
  .seopress-option .seopress_wrap_tax .feature-state {
1967
  padding: 2px 12px;
2207
  background: #f8fafd;
2208
  }
2209
 
2210
+ #seopress-content input.toggle, .seopress-option input.toggle, #seopress_cpt input.toggle {
2211
  max-height: 0;
2212
  max-width: 0;
2213
  opacity: 0;
2218
  display: block;
2219
  }
2220
 
2221
+ .wrap-toggle-preview {
2222
+ position: relative;
2223
+ }
2224
+
2225
+ .wrap-toggle-preview p {
2226
+ font-weight: bold;
2227
+ margin: 0 0 1rem 0;
2228
+ }
2229
+
2230
  .seopress_wrap_single_cpt input.toggle,
2231
+ .seopress_wrap_tax input.toggle,
2232
+ #seopress_cpt input.toggle {
2233
  margin: 0;
2234
  border: none;
2235
  min-width: 0;
2245
  font-weight: bold;
2246
  }
2247
 
2248
+ #seopress-content input.toggle+label,.seopress-option input.toggle+label, #seopress_cpt #tabs-1 input.toggle+label {
2249
  display: inline-block;
2250
  position: relative;
2251
  box-shadow: inset 0 0 0 1px #d5d5d5;
2255
  border-radius: 15px;
2256
  }
2257
 
2258
+ #seopress_cpt #tabs-1 input.toggle+label {
2259
+ margin: 0;
2260
+ }
2261
+
2262
  .wrap-toggle-checkboxes input.toggle+label {
2263
  float: left;
2264
  margin-right: 10px;
2265
  }
2266
 
2267
+ #seopress-content input.toggle+label:before,.seopress-option input.toggle+label:before, #seopress_cpt input.toggle+label:before {
2268
  content: "";
2269
  position: absolute;
2270
  display: block;
2279
  transition: .25s ease-in-out;
2280
  }
2281
 
2282
+ #seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after, #seopress_cpt input.toggle+label:after {
2283
  content: "";
2284
  position: absolute;
2285
  display: block;
2298
  .seopress_wrap_single_cpt input.toggle+label,
2299
  .seopress_wrap_single_cpt input.toggle+label:before,
2300
  .seopress_wrap_tax input.toggle+label,
2301
+ .seopress_wrap_tax input.toggle+label:before,
2302
+ #seopress_cpt input.toggle+label,
2303
+ #seopress_cpt input.toggle+label:before {
2304
  width: 40px;
2305
  height: 20px;
2306
  }
2307
 
2308
  .seopress_wrap_single_cpt input.toggle+label:after,
2309
+ .seopress_wrap_tax input.toggle+label:after,
2310
+ #seopress_cpt input.toggle+label:after {
2311
  width: 20px;
2312
  height: 20px;
2313
  }
2314
 
2315
+ #seopress-content input.toggle[data-toggle="1"]+label:before, .seopress-option input.toggle[data-toggle="1"]+label:before, #seopress_cpt input.toggle[data-toggle="1"]+label:before {
2316
  width: 40px;
2317
+ background: rgb(49, 151, 211);
2318
  }
2319
 
2320
+ .seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before, #seopress_cpt input.toggle[data-toggle="1"]+label:before,
2321
+ .seopress_wrap_tax input.toggle[data-toggle="1"]+label:before, #seopress_cpt input.toggle[data-toggle="1"]+label:before {
2322
  width: 40px;
2323
  background: rgb(49, 151, 211);
2324
  }
2325
 
2326
+ #seopress-content input.toggle[data-toggle="1"]+label:after, .seopress-option input.toggle[data-toggle="1"]+label:after, #seopress_cpt input.toggle[data-toggle="1"]+label:after {
2327
  left: 20px;
2328
+ box-shadow: inset 0 0 0 1px rgb(49, 151, 211), 0 2px 4px rgba(0,0,0,.2);
2329
  }
2330
 
2331
  .seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,
2332
+ .seopress_wrap_tax input.toggle[data-toggle="1"]+label:after,
2333
+ #seopress_cpt input.toggle[data-toggle="1"]+label:after {
2334
  box-shadow: inset 0 0 0 1px rgb(49, 151, 211), 0 2px 4px rgba(0,0,0,.2);
2335
  }
2336
 
2337
  #seopress-content .seopress-page-list {
2338
  position: relative;
2339
  display: grid;
2340
+ max-width: 64rem;
2341
  grid-gap: 20px 20px;
2342
  grid-template-columns: repeat(3,1fr);
2343
  }
2377
  border-bottom: none;
2378
  }
2379
 
2380
+ @media only screen and (max-width: 1024px) {
2381
+ .seopress-option .wrap div.nav-tab-wrapper {
2382
+ width: 100%;
2383
+ margin: 0;
2384
+ padding: 0;
2385
+ }
2386
+ }
2387
+
2388
  #seopress-admin-tabs.wrap div.nav-tab-wrapper {
2389
  margin: 20px auto 0;
2390
+ max-width: 64rem;
2391
  width: 100%;
2392
+ border-bottom: 1px solid #e6ebf1;
2393
  padding: 0;
2394
  line-height: inherit;
2395
  position: -webkit-sticky; /* Required for Safari */
2397
  background: #f5f7fa;
2398
  z-index: 100;
2399
  top: 31px;
 
2400
  border-radius: 4px 4px 0 0;
2401
  font-weight: 400;
2402
  overflow: hidden;
2403
  display: flex;
2404
  align-items: center;
2405
  justify-content: space-between;
2406
+ box-sizing: border-box;
2407
  }
2408
 
2409
  #seopress-admin-tabs #tab_seopress_notifications.seopress-tab {
2433
  border: 0 solid #ccc;
2434
  background: 0 0;
2435
  opacity: .5;
2436
+ padding: 14px 20px;
2437
  transition: opacity .3s linear;
2438
  color: #191e23;
2439
  margin: 0;
2462
  background: rgba(0, 133, 186, 0.1);
2463
  }
2464
  #seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus {
2465
+ border-bottom: 3px solid rgb(49, 151, 211);
2466
  border-left: none;
2467
  background: #fff;
2468
  }
2525
 
2526
  .seopress-option .sp-section-header .wrap-toggle-checkboxes {
2527
  display: flex;
2528
+ }
2529
+
2530
+ .seopress-styles .wrap .notice {
2531
+ margin: 5px 0 15px 15px;
2532
  }
assets/css/seopress.min.css CHANGED
@@ -1 +1 @@
1
- #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format('embedded-opentype'),url(../fonts/seopress.woff?81521271) format('woff2'),url(../fonts/seopress.woff?81521271) format('woff'),url(../fonts/seopress.ttf?81521271) format('truetype'),url(../fonts/seopress.svg?81521271#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;color:#fff;font-size:.9em;background:#333;text-align:center;width:240px;right:-140px;border-radius:3px;padding:.618em 1em;box-shadow:0 1px 3px rgba(0,0,0,.2);top:25px;font-weight:400}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis a{color:#0073aa}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:#46b450}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:#ffb900}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid #e2e4e7;position:relative}#seopress_content_analysis .gr-analysis-title .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:#46b450;box-shadow:0 0 5px #46b450}#seopress_content_analysis .gr-analysis .impact.low{background:#ffde24;box-shadow:0 0 5px #ffde24}#seopress_content_analysis .gr-analysis .impact.medium{background:#e39f48;box-shadow:0 0 5px #e39f48}#seopress_content_analysis .gr-analysis .impact.high{background:#e25950;box-shadow:0 0 5px #e25950}#seopress_content_analysis .gr-analysis-content .impact.high{background:#e25950;box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .sp-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .sp-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid #e2e4e7;box-sizing:border-box}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid #e2e4e7;padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid #f3f4f5;cursor:default;padding:1px}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:100%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:6%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:8%}@media only screen and (max-width:1200px){.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex,.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:10%}}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;z-index:100;border-bottom:1px solid RGB(238,238,238);padding-bottom:20px}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:6px;padding:10px;margin-left:10px;color:#0085ba}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:20px 0 0 0;display:flex;position:relative}#seopress-admin-tabs.wrap{display:block}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-rk-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-squirrly-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:RGB(106,124,148);position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0;background:#f8fafd}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:53rem;box-sizing:border-box;position:relative}#seopress-header{margin:0 auto;position:relative;width:100%}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:-webkit-linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%);background:linear-gradient(45deg,rgba(58,74,251,1) 0,rgba(71,190,165,1) 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:relative;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:block;width:53rem;top:0;visibility:hidden;cursor:auto}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{padding:20px;margin:0;float:left;width:100%;box-sizing:border-box}#seopress-header #seopress-admin h1 .seopress-quick-access li{text-decoration:none;display:inline-block;width:50%;margin:0;float:left;padding:10px 0}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#6f8096;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;height:100%;max-width:53rem;margin:10px 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:0 1.5rem;width:calc(100% - 230px);display:none}#seopress-tabs .seopress-tab.active{display:inline-block;border-left:1px solid RGB(238,238,238)}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;color:#6f8096}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-get-started,.seopress-page-list .seopress-feature,.seopress-useful-tools{margin:0 auto 20px;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);max-width:50rem;padding:1.5rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{margin-top:20px;position:relative}.seopress-get-started .preheader{text-transform:uppercase;font-size:.8rem}.seopress-get-started h2{font-size:1.85em;margin:16px 0 0 0;font-weight:400}.seopress-get-started p{margin-bottom:20px}.seopress-get-started a .dashicons{vertical-align:middle;text-decoration:none;color:#6f8096}.seopress-get-started a.button-primary .dashicons{line-height:16px}.seopress-get-started a.btn-link .dashicons{margin-right:5px}.seopress-get-started a.btn-link{margin:0 0 0 10px}#seopress-notifications-center,.seopress-useful-tools{background:#fff}.seopress-page-list .seopress-feature{padding:0;position:relative;overflow:hidden;transition-duration:.15s;width:auto;display:flex;margin:0;align-items:start;background:#fff;flex-wrap:wrap;border-radius:4px;width:100%;height:100%}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:50px;width:50px;background:#c4f0ff;position:relative;border-radius:6px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:30px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:inline-block;padding:1.4rem;width:100%;height:100%;box-sizing:border-box}.seopress-page-list .seopress-feature h3{margin:1rem 0 0 0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:#6a7c94;position:relative;height:auto}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px;margin:0 0 1rem 0;display:flex}#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-get-started .button,.seopress-option .button{background:#fff;border:none;color:#6b7c93;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin:10px 0;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 .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:30px;margin-bottom:1rem}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-get-started .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}.seopress-get-started .button .dashicons{transition:all .3s linear}.seopress-get-started .button:hover .dashicons{color:#fff}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:1rem;border-bottom:1px solid #e6ebf1;width:calc(100% - 30px);flex:1 1 auto;position:relative;transition:all 150ms ease;align-items:center;display:flex;justify-content:space-between}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .dashicons-info{display:flex;align-self:normal}#seopress-notifications-center .seopress-alert p{margin:0}#seopress-notifications-center .notice-left{flex:1}#seopress-notifications-center .notice-left>p:first-child{color:#1a1f36;font-weight:500}#seopress-notifications-center .notice-right{align-items:center;display:flex;padding:0 1rem}#seopress-notifications-center .seopress-alert .impact{padding:2px 5px;color:#fff;text-transform:uppercase;font-weight:700;font-size:10px;border-radius:4px;margin:0 1rem;display:inline-block}#seopress-notifications-center .seopress-alert .impact.low{background:#ffde24;color:#6b6543}#seopress-notifications-center .seopress-alert .impact.medium{background:#e39f48}#seopress-notifications-center .seopress-alert .impact.high{background:#e25950}#seopress-notifications-center .seopress-alert .impact.high.info{background:#0085ba}#seopress-notifications-center .seopress-alert .dashicons{color:#6f8096}#seopress-notifications-center .dashicons.remove-notice,.seopress-get-started .remove-notice{position:absolute;right:-25px;color:#6b7c93;font-size:20px;height:30px;width:30px;vertical-align:middle;top:calc(50% - 15px);line-height:30px;padding:5px;transition:all .3s linear}.seopress-get-started .remove-notice{top:10px;right:10px}#seopress-notifications-center .dashicons.remove-notice:hover,.seopress-get-started .remove-notice:hover{color:#1a1f36;cursor:pointer}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:-.5rem;top:.5rem}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover .dashicons{color:#232323}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:10px;display:inline-block;background:rgba(0,140,135,.1);padding:2px 12px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}.seopress-option .seopress_wrap_single_cpt .feature-state,.seopress-option .seopress_wrap_tax .feature-state{padding:2px 12px;margin:0 0 .5rem .5rem}.seopress-option #tab_seopress_titles_archives h2,.seopress-option #tab_seopress_titles_single h2,.seopress-option #tab_seopress_titles_tax h2{margin:2em 0 1em 0;border-top:1px solid #eee;padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h2:first-child,.seopress-option #tab_seopress_titles_single h2:first-child,.seopress-option #tab_seopress_titles_tax h2:first-child{border-top:none;margin:0 0 1em 0}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:rgba(19,191,17,1);font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:4px 8px;position:relative;top:5px;left:0;font-size:11px;float:left;margin-right:5px;user-select:none;margin-bottom:5px;background:#fff;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08)}#seopress_cpt .tag-title:active,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:active,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:active,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{background:#232323;color:#fff;user-select:none}#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress_cpt span.label,#seopress_content_analysis span.label{outline:0;color:#fff;box-shadow:none;background:#555d66;padding:2px 4px;border-radius:4px;font-weight:700}#seopress-content input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px}.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:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:40px;background:rgba(19,191,17,1)}.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress-content input.toggle[data-toggle="1"]+label:after,.seopress-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_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:grid;max-width:53rem;grid-gap:20px 20px;grid-template-columns:repeat(3,1fr)}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}#seopress-notice-save .dashicons{color:#fff}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{margin:0 0 0 -26px;padding:0 0 0 10px;line-height:inherit;width:230px;z-index:95;font-weight:400;display:block;border-bottom:none}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:53rem;width:100%;border-bottom:0;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f5f7fa;z-index:100;top:31px;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0}.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;box-sizing:border-box;white-space:normal}#seopress-admin-tabs .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:16px 20px;transition:opacity .3s linear;color:#191e23;margin:0;box-shadow:inset -1px 0 #e3e8ee;float:none;display:inline-block;text-align:center;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;color:#191e23;border-left:3px solid #0085ba;background:rgba(0,133,186,.1)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:3px solid #0085ba;border-left:none;background:#fff}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:'';background:#dedede;height:1px;width:100%;display:block}.seopress-option .sp-section-header{border-bottom:1px solid #eee;margin:0 0 1rem 0;width:100%;display:flex;position:relative;align-items:center;padding-bottom:.5rem}.seopress-option .sp-section-header::after{position:absolute;content:'';background:#0085ba;height:2px;width:40px;bottom:0;left:0}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:#0085ba;padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress!important;font-weight:700;font-size:12px;line-height:20px}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format('embedded-opentype'),url(../fonts/seopress.woff?81521271) format('woff2'),url(../fonts/seopress.woff?81521271) format('woff'),url(../fonts/seopress.ttf?81521271) format('truetype'),url(../fonts/seopress.svg?81521271#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.icon-seopress-seopress:before{content:"\e800"}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom}.sp-tooltip .dashicons{color:#666}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:300px;right:-303px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgba(25,30,35,.1);border:1px solid #e2e4e7;background:#fff;word-break:break-word}.sp-tooltip .sp-tooltiptext::before{border:8px solid #e2e4e7;top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid #e2e4e7;padding-bottom:20px;font-size:13px}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:#42b72a;font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis a{color:#0073aa}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid #e2e4e7;display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:#46b450}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:#ffb900}#seopress_content_analysis .analysis-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid #e2e4e7;position:relative}#seopress_content_analysis .gr-analysis-title .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:#46b450;box-shadow:0 0 5px #46b450}#seopress_content_analysis .gr-analysis .impact.low{background:#ffde24;box-shadow:0 0 5px #ffde24}#seopress_content_analysis .gr-analysis .impact.medium{background:#e39f48;box-shadow:0 0 5px #e39f48}#seopress_content_analysis .gr-analysis .impact.high{background:#e25950;box-shadow:0 0 5px #e25950}#seopress_content_analysis .gr-analysis-content .impact.high{background:#e25950;box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .sp-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .sp-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid #e2e4e7;box-sizing:border-box}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid #e2e4e7;padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid #ddd;padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid #f3f4f5;cursor:default;padding:1px}#seopress_cpt .notice{padding:10px 14px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:inline-block;min-height:26px;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;background:#f3f4f5;border:none}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%;box-sizing:border-box}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:3px solid #0085ba}#seopress_content_analysis label,#seopress_cpt #tabs-1 label,#seopress_cpt #tabs-2 label[for=seopress_robots_breadcrumbs_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_canonical_meta],#seopress_cpt #tabs-2 label[for=seopress_robots_primary_cat_meta],#seopress_cpt #tabs-3 label,#seopress_cpt #tabs-4 label,#seopress_cpt #tabs-5 label,#seopress_cpt #tabs-6 label,#seopress_cpt .subsection-title,#seopress_pro_cpt label{display:block;margin:20px 0 5px;font-weight:700}#seopress_cpt .wp-color-result{margin:0}#seopress_content_analysis input[type=text],#seopress_cpt #tabs-1 input,#seopress_cpt #tabs-2 input[type=text],#seopress_cpt #tabs-3 input[type=text],#seopress_cpt #tabs-3 textarea,#seopress_cpt #tabs-4 input[type=text],#seopress_cpt #tabs-5 input[type=text],#seopress_cpt #tabs-6 input[type=text],#seopress_cpt #tabs-6 textarea{width:100%;display:inline-block}#seopress_cpt #tabs-1 input{width:100%}#seopress_cpt #tabs-6 input[type=number]{width:30%;min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_cpt select{width:300px}#seopress_cpt #tabs-4 select{width:250px;display:inline}#seopress_cpt #tabs-4 #seopress_redirections_value_meta{width:calc(100% - 258px);float:right}#seopress_cpt #tabs-6{padding:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid #eee}#seopress_cpt #tabs-6 #wrap-videos .video .inside{padding:0}#seopress_cpt #tabs-4 #seopress_redirections_enabled,#seopress_cpt #tabs-5 #seopress_news_disabled,#seopress_cpt #tabs-5 #seopress_news_standout,#seopress_cpt #tabs-6 #seopress_video_disabled,#seopress_cpt #tabs-6 .family-friendly label,#seopress_cpt #tabs-6 .internal_video label{font-weight:400}#seopress_cpt #tabs-6 #wrap-videos .video:nth-child(odd){background:#fdfdfd}#seopress_content_analysis .advise,#seopress_cpt .advise,#seopress_pro_cpt .advise,.seopress-option .advise{margin:5px;display:block;color:red;font-style:italic}#seopress_cpt #tabs-6 #wrap-videos .video .advise{color:#555}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:#c00}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#term-seopress #seopress_cpt{width:95%}.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:6%}.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex{width:8%}@media only screen and (max-width:1200px){.fixed .column-seopress_nofollow,.fixed .column-seopress_noindex,.fixed .column-seopress_ps,.fixed .column-seopress_score,.fixed .column-seopress_w3c,.fixed .column-seopress_words{width:10%}}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;display:inline-block;position:relative;top:2px;padding:0 5px;white-space:nowrap;margin:0;border:none;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:inline-block;padding:5px 10px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:2px;padding-bottom:1px}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{color:#191e23;font-weight:700}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:40px;line-height:40px}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:#12bd10;border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:#e25950}body.seopress-styles{background:#f8fafd}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}.seopress-styles .seopress-option{margin:10px auto 0;max-width:90%;padding:1rem;background:#fff;box-shadow:0 15px 35px rgba(50,50,93,.1),0 5px 15px rgba(0,0,0,.1);border-radius:4px}.seopress-styles .seopress-option h1{font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase;z-index:100;border-bottom:1px solid #eee;padding-bottom:20px}.seopress-styles .seopress-option h1 .dashicons,.seopress-styles .seopress-option h2 .dashicons{margin:0 10px;font-size:40px;width:40px;height:40px;vertical-align:middle}.seopress-styles .seopress-option .link-archive{font-size:14px}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-styles .seopress-option h1>.dashicons{font-size:30px;width:30px;height:30px;background:#c4f0ff;border-radius:6px;padding:10px;margin-left:10px;color:#0085ba}.seopress-styles .seopress-option .metabox-holder h2 .dashicons{font-size:16px}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .wrap{margin:20px 0 0 0;display:flex;position:relative}@media only screen and (max-width:1024px){.seopress-styles .wrap{display:inline-block;width:100%}}#seopress-admin-tabs.wrap{display:block;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);width:64rem;margin:0 auto}.seopress-styles .seopress-option .submit{background:#fff;text-align:center;border-top:1px solid #f1f1f1;padding-top:20px;padding-bottom:20px;margin:0}.seopress-styles .seopress-option #seopress-aio-migrate,.seopress-styles .seopress-option #seopress-rk-migrate,.seopress-styles .seopress-option #seopress-seo-framework-migrate,.seopress-styles .seopress-option #seopress-squirrly-migrate,.seopress-styles .seopress-option #seopress-yoast-migrate,.seopress-styles .seopress-option #submit{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);margin-right:15px;background:#6a7c94;position:relative;height:auto;z-index:10}.seopress-styles .seopress-option #seopress-aio-migrate:hover,.seopress-styles .seopress-option #seopress-rk-migrate:hover,.seopress-styles .seopress-option #seopress-seo-framework-migrate:hover,.seopress-styles .seopress-option #seopress-squirrly-migrate:hover,.seopress-styles .seopress-option #seopress-yoast-migrate:hover,.seopress-styles .seopress-option #submit:hover{text-decoration:none;color:#fff;background:#232323}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{color:#42b72a;background:#f5f6f7;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:7px}.seopress-styles #seopress-navbar{padding:10px .5rem;height:56px;margin:0 auto;width:64rem;box-sizing:border-box;position:relative}#seopress-header{margin:0 auto;position:relative;width:100%}#seopress-header #seopress-admin h1{line-height:40px;margin:0;display:inline-block;height:40px;width:40px;background-size:100%;background-repeat:no-repeat}#seopress-header #seopress-admin h1::before{font-size:14px;line-height:40px;position:absolute;border-radius:6px;font-weight:400;color:#fff;width:40px;height:40px;text-align:center;background:#3a4afb;background:-moz-linear-gradient(45deg,#3a4afb 0,#47bea5 100%);background:-webkit-linear-gradient(45deg,#3a4afb 0,#47bea5 100%);background:linear-gradient(45deg,#3a4afb 0,#47bea5 100%)}#seopress-header #seopress-admin h1:hover{cursor:pointer}#seopress-header #seopress-admin h1>a{text-decoration:none;color:inherit}#seopress-header #seopress-admin .seopress-quick-access{background:#fff;box-shadow:0 50px 100px rgba(50,50,93,.1),0 15px 35px rgba(50,50,93,.2),0 5px 15px rgba(0,0,0,.1);border-radius:4px;overflow:hidden;position:relative;font-size:17px;line-height:40px;white-space:nowrap;transform:rotate3d(1,1,0,-15deg);transform-origin:100% 0;opacity:0;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:.25s;z-index:300;padding:0;display:block;width:64rem;top:0;visibility:hidden;cursor:auto;left:-.5rem}#seopress-header #seopress-admin h1:hover .seopress-quick-access{transform:none;opacity:1;pointer-events:auto;visibility:visible}#seopress-header #seopress-admin .seopress-quick-access>ul{padding:20px;margin:0;float:left;width:100%;box-sizing:border-box}#seopress-header #seopress-admin h1 .seopress-quick-access li{text-decoration:none;display:inline-block;width:50%;margin:0;float:left;padding:10px 0}#seopress-header #seopress-admin h1 .seopress-quick-access li .dashicons{vertical-align:middle;background:#b7e1f3;border-radius:50%;padding:5px;margin-right:15px}#seopress-header #seopress-admin h1 .seopress-quick-access li a{text-decoration:none;font-size:15px;line-height:30px;text-transform:uppercase;display:block;width:100%;transition:all .3s linear;color:#3297d3}#seopress-header #seopress-admin h1 .seopress-quick-access li a:hover{color:#647a88}#seopress-header #seopress-admin h1 .seopress-info-version{position:relative;left:50px;top:0;font-size:14px;width:100px;display:block}#seopress-header #seopress-admin .wpc-info-version{font-size:14px;left:310px;position:absolute;text-indent:0;top:85px}#seopress-header #seopress-notice{float:right;line-height:40px}#seopress-header #seopress-notice p{font-size:16px}#seopress-header #seopress-notice .dashicons{color:#6f8096;text-decoration:none;line-height:40px}#seopress-header #seopress-notice div.small{font-size:13px;display:inline}#seopress-footer-credits{font-style:italic}#seopress-footer-credits .wporg-ratings{display:inline}#seopress-footer-credits .wporg-ratings a{text-decoration:none}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{float:left}.wp-admin-ui_page_seopress-import-export .postbox{margin-right:20px}.seopress-option #side-sortables .accordion-section-content{padding:0}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto;box-sizing:border-box}#seopress-admin-tabs .seopress-tab{padding:1.5rem;visibility:hidden;overflow:hidden;opacity:0;transition:all .2s ease;transform:translateX(-15px);position:absolute;top:0;box-sizing:border-box}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}#seopress-tabs .seopress-tab{padding:0 1.5rem;width:calc(100% - 230px);display:none}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;border-left:1px solid #eee}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab.active{width:100%;padding:0;border-left:none;border-top:1px solid #eee}}.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:485px}@media only screen and (max-width:1024px){.seopress-option input[type=password],.seopress-option input[type=text],.seopress-option textarea{min-width:inherit;width:100%}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option #side-sortables .highlight{border:1px dashed #ccc;display:block;width:382px;height:40px;background:0 0}.seopress-option #side-sortables .accordion-section{margin-bottom:9px;width:382px}.seopress-option #side-sortables .accordion-section h3{cursor:move;border:1px solid #e5e5e5;background:#fafafa}.seopress-option #side-sortables .accordion-section .inside{padding:10px 10px 24px;border-width:0 1px 1px;border-style:solid;box-shadow:0 1px 1px rgba(0,0,0,.04);border-color:#e5e5e5;display:inline-block;width:calc(100% - 22px);height:100%}.seopress-option #side-sortables .accordion-section .inside ul{padding-left:10px;margin-bottom:0;padding-top:2px;padding-bottom:2px}.seopress-option #side-sortables .accordion-section .inside ul li{border-left:2px solid #ccc;padding-left:10px;margin-bottom:10px}.seopress-option #side-sortables .accordion-section .inside ul li:first-child{border-bottom:1px dotted #e5e5e5;border-left:0;padding-bottom:10px;font-weight:700;margin-left:-15px;margin-bottom:10px}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;color:#6f8096}#seopress-admin-tabs .ui-tabs-nav,#seopress-notifications-center,.seopress-get-started,.seopress-page-list .seopress-feature,.seopress-useful-tools{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px;box-sizing:border-box}.seopress-get-started{margin-top:20px;background:#fff url(../img/bg-hero-support.svg) no-repeat 95% 50%/contain;position:relative;box-sizing:border-box;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12)}.seopress-get-started .inside{max-width:calc(100% - 380px)}.seopress-get-started .preheader{text-transform:uppercase;font-size:.8rem;font-weight:600}.seopress-get-started h2{font-size:1.85em;margin:15px 0 0 0;font-weight:400}.seopress-get-started p{margin-bottom:20px}.seopress-get-started a .dashicons{vertical-align:middle;text-decoration:none;color:#6a7c94}.seopress-get-started a.button-primary .dashicons{color:#fff}.seopress-get-started a.btn-link .dashicons{margin-right:5px}.seopress-get-started a.btn-link{margin:0 0 0 10px}#seopress-notifications-center,.seopress-useful-tools{background:#fff;padding:0}.seopress-page-list .seopress-feature{padding:0;position:relative;overflow:hidden;transition-duration:.15s;display:flex;margin:0;background:#fff;box-shadow:0 7px 14px 0 rgba(60,66,87,.12),0 3px 6px 0 rgba(0,0,0,.12);flex-wrap:wrap;border-radius:4px;width:100%;height:100%}.seopress-page-list .seopress-feature p{color:#6b7c93;font-size:14px;margin-bottom:30px}#seopress-notifications-center{margin-top:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}.seopress-page-list .seopress-feature .img-tool{height:50px;width:50px;background:#c4f0ff;position:relative;border-radius:6px}.seopress-page-list .seopress-feature .img-tool .dashicons{color:#217ab7;font-size:30px;text-align:left;vertical-align:middle;width:100%;height:100%;position:absolute;top:calc(50% - 15px);left:calc(50% - 15px);margin:0}.seopress-page-list .seopress-feature .inner{margin:0;display:inline-block;padding:1.5rem;width:100%;height:100%;box-sizing:border-box}.seopress-page-list .seopress-feature h3{margin:1rem 0 0 0;font-size:16px;font-weight:700;color:#3297d3;text-transform:uppercase}.seopress-page-list .seopress-feature h3 .dashicons{font-size:16px;margin-left:5px;vertical-align:middle}#seopress-content .seopress-page-list .seopress-feature a,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button-primary,.seopress-option .seopress-feature a,.seopress-useful-tools .widget .button-primary{color:#fff;text-decoration:none;border:none;border-radius:4px;padding-right:20px;padding-left:20px;line-height:34px;text-transform:uppercase;min-height:34px;transition:all .3s linear;text-shadow:none;box-shadow:0 7px 14px rgba(50,50,93,.1),0 3px 6px rgba(0,0,0,.1);background:#6a7c94;position:relative;height:auto;display:flex;flex-wrap:wrap}#seopress-content .seopress-page-list .seopress-feature a.button-secondary{padding-left:30px}#seopress-content .seopress-page-list .seopress-feature a.button-secondary::before,#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f111";font-family:Dashicons;position:absolute;left:10px;top:1px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:16px}#seopress-content .seopress-page-list .wrap-btn{display:inline-flex;margin-bottom:2rem;flex-direction:column}#seopress-content .seopress-page-list .seopress-feature a.view-redirects,#seopress-notifications-center .seopress-alert .button-primary,.seopress-get-started .button,.seopress-option .button{color:#6a7c94;background:#fff;font-weight:500;transition:all .3s linear;text-shadow:none;text-transform:uppercase;padding-right:20px;padding-left:20px;line-height:34px;min-height:34px;margin:10px 0;border-radius:4px;box-shadow:transparent 0 0 0 0,transparent 0 0 0 0,rgba(0,0,0,.12) 0 1px 1px 0,rgba(60,66,87,.16) 0 0 0 1px,transparent 0 0 0 0,transparent 0 0 0 0,rgba(60,66,87,.12) 0 2px 5px 0;vertical-align:baseline;display:inline-flex;align-items:center;border:none;margin-right:.5rem}.seopress-get-started .button{color:#fff;background:#6259e6;box-shadow:none}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-option .button .dashicons{font-size:16px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects{padding-left:30px}#seopress-notifications-center .seopress-alert .button-primary::after{content:"\f344";left:inherit;right:10px}#seopress-content .seopress-page-list .seopress-feature a.view-redirects::before{content:"\f177"}#seopress-content .seopress-page-list .seopress-feature a:hover,#seopress-notifications-center .seopress-alert .button-primary:hover,.seopress-get-started .button-primary:hover,.seopress-option .button:hover,.seopress-option .seopress-feature a:hover,.seopress-useful-tools .widget .button-primary:hover{text-decoration:none;color:#fff;background:#232323}.seopress-get-started .button .dashicons{transition:all .3s linear}.seopress-get-started .button:hover .dashicons{color:#fff}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:focus,#seopress-content .seopress-page-list .seopress-feature a:focus,#seopress-content .seopress-page-list .seopress-feature a:focus.button-secondary,#seopress-content a:focus,#seopress-notifications-center .seopress-alert .button-primary:focus,.seopress-option #seopress-tabs .seopress-doc:focus,.seopress-option .seopress-feature a:focus,.seopress-styles .seopress-option #seopress-aio-migrate:focus,.seopress-styles .seopress-option #seopress-yoast-migrate:focus,.seopress-styles .seopress-option #submit:focus,.seopress-useful-tools .widget .button-primary:focus{box-shadow:0 1px 0 #0073aa,0 0 2px 1px #33b3db;background:#008ec2;border-color:#006799;color:#fff}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}#seopress-notifications-center .seopress-alert .button-primary{margin:5px 0;padding-right:30px}#seopress-notifications-center h2,.seopress-useful-tools h2{margin:5px 0 15px 5px;display:inline-block;width:100%}#seopress-notifications-center .dashicons,.seopress-useful-tools .dashicons{margin-right:10px}#seopress-notifications-center .seopress-alert{padding:1.5rem 2rem 1.2rem 1rem;border-bottom:1px solid #e6ebf1;width:calc(100% - 3rem);flex:1 1 auto;position:relative;transition:all 150ms ease;align-items:center;display:flex;justify-content:space-between}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .seopress-alert:hover{cursor:default}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:48px;height:48px;color:#d7dade;font-size:48px;padding:0 1rem}#seopress-notifications-center .seopress-alert p{margin:0}#seopress-notifications-center .notice-left{flex:1}#seopress-notifications-center .notice-left>p:first-child{color:#1a1f36;font-weight:500}#seopress-notifications-center .notice-right{padding:1rem 0 0 0;display:flex}#seopress-notifications-center .seopress-alert.impact::after{content:"";width:10px;height:10px;border-radius:50px;position:absolute;right:1rem;top:1rem}#seopress-notifications-center .seopress-alert.impact.low::after{background:#ffde24}#seopress-notifications-center .seopress-alert.impact.medium::after{background:#e39f48}#seopress-notifications-center .seopress-alert.impact.high::after{background:#e25950}#seopress-notifications-center .seopress-alert.impact.info::after{background:#0085ba}#seopress-notifications-center .seopress-alert.dashicons{color:#6f8096}#seopress-notifications-center .dashicons.remove-notice,.seopress-get-started .remove-notice{position:absolute;right:0;color:#6b7c93;font-size:20px;height:30px;width:30px;vertical-align:middle;top:1.2rem;line-height:30px;padding:5px;transition:all .3s linear;margin:0;display:block}.seopress-get-started .remove-notice{top:10px;right:10px}#seopress-notifications-center .dashicons.remove-notice:hover,.seopress-get-started .remove-notice:hover{color:#1a1f36;cursor:pointer}#seopress-content .seopress-page-list .seopress-feature .seopress-doc,.seopress-option #seopress-tabs .seopress-doc{background:0 0;padding:0;text-decoration:none;color:inherit;box-shadow:none;position:absolute;right:.5rem;top:1rem}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover,.seopress-option #seopress-tabs .seopress-doc:hover{color:#747474;background:0 0}#seopress-content .seopress-page-list .seopress-feature .seopress-doc:hover .dashicons{color:#232323}.seopress-option .seopress-table{background:#fff;border:1px solid #ccc}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid #ccc;font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:10px;display:inline-block;background:rgba(0,140,135,.1);padding:2px 10px;border-radius:25px;color:#444;font-weight:400;text-transform:none;-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial}@media only screen and (max-width:768px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option .seopress_wrap_single_cpt .feature-state,.seopress-option .seopress_wrap_tax .feature-state{padding:2px 12px;margin:0 0 .5rem .5rem}.seopress-option #tab_seopress_titles_archives h2,.seopress-option #tab_seopress_titles_single h2,.seopress-option #tab_seopress_titles_tax h2{margin:2em 0 1em 0;border-top:1px solid #eee;padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h2:first-child,.seopress-option #tab_seopress_titles_single h2:first-child,.seopress-option #tab_seopress_titles_tax h2:first-child{border-top:none;margin:0 0 1em 0}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{margin:0;text-transform:uppercase;display:inline-block;vertical-align:middle;padding:5px;color:#13bf11;font-style:italic}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-block;width:100%;margin-bottom:10px}#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:4px 8px;position:relative;top:5px;left:0;font-size:11px;float:left;margin-right:5px;user-select:none;margin-bottom:5px;background:#fff;color:#6b7c93;box-shadow:0 0 0 .5px rgba(50,50,93,.17),0 2px 5px 0 rgba(50,50,93,.12),0 3px 9px 0 rgba(50,50,93,.08),0 1px 1.5px 0 rgba(0,0,0,.08),0 1px 2px 0 rgba(0,0,0,.08)}#seopress_cpt .tag-title:active,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:active,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:active,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{background:#232323;color:#fff;user-select:none}#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;vertical-align:middle}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;box-sizing:border-box;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget{border-right:1px solid #e6ebf1;margin:0;padding:0 20px;width:calc(50% - 2px);box-sizing:border-box;display:inline-block;vertical-align:top}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:first-child{width:100%;display:block;clear:both;border-right:none;border-bottom:1px solid #e6ebf1;padding-bottom:20px;margin-bottom:20px}#seopress-content #tab_seopress_seo_tools.seopress-useful-tools .widget:last-child{border-right:none}#seopress-content .seopress-useful-tools .widget-reverse ul{background:#fff}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid #e6ebf1}#seopress-content .seopress-useful-tools .widget-reverse li:hover{background:#f5f7fa}#seopress-content .seopress-useful-tools .widget-title{text-transform:uppercase;margin:0 0 10px;font-size:13px;padding:10px 0;color:#24b47e}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #screen-meta{margin:0;position:relative;background-color:#fff;border-bottom:0 solid #f2f2f2;border-top:none;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);top:0}.seopress-styles #contextual-help-link-wrap,.seopress-styles #screen-options-link-wrap{float:right;height:28px;margin:0 0 0 6px;border:1px solid #f2f2f2;border-top:none;background:#fff;-webkit-box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08);box-shadow:0 0 0 1px rgba(136,152,170,.1),0 15px 35px 0 rgba(49,49,93,.1),0 5px 15px 0 rgba(0,0,0,.08)}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:0;z-index:2000}.seopress-styles #contextual-help-back{background:#f8fafd}.seopress-styles .contextual-help-tabs .active{border-left:2px solid #3297d3;background:#f8fafd}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress_content_analysis span.label,#seopress_cpt span.label{outline:0;color:#fff;box-shadow:none;background:#555d66;padding:2px 4px;border-radius:4px;font-weight:700}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);-moz-transition:.25s ease-in-out;-webkit-transition:.25s ease-in-out;transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:#3197d3}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px #3197d3,0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:grid;max-width:64rem;grid-gap:20px 20px;grid-template-columns:repeat(3,1fr)}#seopress-notice-save{position:fixed;color:#fff;padding:15px 40px;font-size:.9rem;text-transform:uppercase;text-align:center;border-radius:0;background:rgba(74,184,102,.9);bottom:0;right:0;z-index:500;width:100%;font-weight:700}#seopress-notice-save .dashicons{color:#fff}.seopress_page_seopress-pro-page #wpcontent{background:#f4f7fa}.seopress-option .wrap div.nav-tab-wrapper{margin:0 0 0 -26px;padding:0 0 0 10px;line-height:inherit;width:230px;z-index:95;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:1024px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{margin:20px auto 0;max-width:64rem;width:100%;border-bottom:1px solid #e6ebf1;padding:0;line-height:inherit;position:-webkit-sticky;position:sticky;background:#f5f7fa;z-index:100;top:31px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0}.seopress-option .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:#191e23;margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;box-sizing:border-box;white-space:normal}#seopress-admin-tabs .nav-tab{border:0 solid #ccc;background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;color:#191e23;margin:0;box-shadow:inset -1px 0 #e3e8ee;float:none;display:inline-block;text-align:center;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:hover,.seopress-option .about-wrap h2 .nav-tab-active,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:hover{background-color:#fff}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;color:#191e23;border-left:3px solid #0085ba;background:rgba(0,133,186,.1)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:3px solid #3197d3;border-left:none;background:#fff}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:'';background:#dedede;height:1px;width:100%;display:block}.seopress-option .sp-section-header{border-bottom:1px solid #eee;margin:0 0 1rem 0;width:100%;display:flex;position:relative;align-items:center;padding-bottom:.5rem}.seopress-option .sp-section-header::after{position:absolute;content:'';background:#0085ba;height:2px;width:40px;bottom:0;left:0}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:#0085ba;padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-styles .wrap .notice{margin:5px 0 15px 15px}
assets/img/bg-hero-support.svg ADDED
@@ -0,0 +1 @@
 
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="703.709" height="540.708" viewBox="0 0 703.709 540.708"><ellipse cx="292.438" cy="22.707" rx="292.438" ry="22.707" transform="translate(30.021 432.038)" fill="#6c63ff" opacity="0.1"/><g transform="translate(467.793 63.325)" opacity="0.1"><path d="M810.974,444.387c-1.748-5.305-8.835-7.748-15.826-5.45a17.037,17.037,0,0,0-2.91,1.259c-.447-.124-.908-.234-1.376-.317a15.434,15.434,0,0,0,.433-4.672,16.927,16.927,0,0,0,7.5-14.773,16.947,16.947,0,0,0,7.473-14.773,16.347,16.347,0,0,0,5.663-6.413c3.372-6.674,1.975-14.175-3.124-16.755s-11.973.743-15.344,7.418a16.3,16.3,0,0,0-1.81,8.36,16.948,16.948,0,0,0-7.473,14.773,16.947,16.947,0,0,0-7.473,14.773,16.955,16.955,0,0,0-7.5,14.78,16.347,16.347,0,0,0-5.663,6.413,17.532,17.532,0,0,0-1.431,3.95,14.57,14.57,0,0,0-3.055-3.255,17.466,17.466,0,0,0-.688-3.1c-2.3-7-8.464-11.264-13.762-9.516s-7.748,8.828-5.45,15.826a15.871,15.871,0,0,0,5.2,7.624,17.471,17.471,0,0,0,.688,3.1,15.14,15.14,0,0,0,6.984,8.773,15.952,15.952,0,0,0-.571,2.684,17.4,17.4,0,0,0-5.188,10.259,17.389,17.389,0,0,0-5.188,10.266,16.955,16.955,0,0,0-3.44,4.686c-3.378,6.674-1.982,14.182,3.117,16.755s11.973-.736,15.351-7.418a16.945,16.945,0,0,0,1.72-5.567,17.4,17.4,0,0,0,5.188-10.259,17.389,17.389,0,0,0,5.188-10.266,17.347,17.347,0,0,0,5.126-10.259,17.346,17.346,0,0,0,5.2-10.28,16.568,16.568,0,0,0,2.333-2.752,16.139,16.139,0,0,0,8.443-.53,17.035,17.035,0,0,0,2.91-1.259,15.969,15.969,0,0,0,9.234-.33C808.428,455.865,812.715,449.7,810.974,444.387Z" transform="translate(-697.297 -182.356)" fill="#3f3d56"/><g transform="translate(39.24 217.808)" opacity="0.1"><path d="M825.7,442.44a14.79,14.79,0,0,1-2.367,1.892,15.823,15.823,0,0,1-.764,5.8,18.041,18.041,0,0,0,1.445-2.36A16.956,16.956,0,0,0,825.7,442.44Z" transform="translate(-763.601 -419.134)"/><path d="M836.561,420.97a14.783,14.783,0,0,1-2.367,1.892,15.821,15.821,0,0,1-.764,5.8,17.683,17.683,0,0,0,1.445-2.367A17.1,17.1,0,0,0,836.561,420.97Z" transform="translate(-766.988 -412.438)"/><path d="M811.438,411.6a15.066,15.066,0,0,1,.117-3.034,17.144,17.144,0,0,0-3.289,4.521,17.629,17.629,0,0,0-1.046,2.567A15.658,15.658,0,0,1,811.438,411.6Z" transform="translate(-758.813 -408.57)"/><path d="M744.42,540.608a16.251,16.251,0,0,1,2.03-2.326,15.752,15.752,0,0,1,.6-2.752,17.287,17.287,0,0,0-1.576,2.553A17.655,17.655,0,0,0,744.42,540.608Z" transform="translate(-739.225 -448.17)"/><path d="M751.96,525.739a16.19,16.19,0,0,1,2.03-2.326,15.81,15.81,0,0,1,.571-2.684h0a17.7,17.7,0,0,0-1.514,2.47A18.482,18.482,0,0,0,751.96,525.739Z" transform="translate(-741.577 -443.554)"/><path d="M814.984,463.836a14.318,14.318,0,0,1-2.36,1.885,15.434,15.434,0,0,1-.433,4.672,12.879,12.879,0,0,1,1.376.317,17.033,17.033,0,0,1,2.911-1.259c7-2.3,14.085.145,15.826,5.45a8.039,8.039,0,0,1,.22,4.129c2.305-2.711,3.261-6.014,2.271-9.042-1.748-5.305-8.835-7.748-15.826-5.45a17.033,17.033,0,0,0-2.911,1.259c-.447-.124-.908-.234-1.376-.317C814.812,464.93,814.908,464.387,814.984,463.836Z" transform="translate(-760.363 -425.757)"/><path d="M739.505,550.4a17.224,17.224,0,0,0-1.576,2.553,18.286,18.286,0,0,0-1.06,2.573,16.851,16.851,0,0,1,2.064-2.339A15.77,15.77,0,0,1,739.505,550.4Z" transform="translate(-736.87 -452.808)"/><path d="M800.528,433.074a15.175,15.175,0,0,1,.117-3.034,17.144,17.144,0,0,0-3.289,4.521,17.633,17.633,0,0,0-1.046,2.567A15.66,15.66,0,0,1,800.528,433.074Z" transform="translate(-755.41 -415.267)"/><path d="M786.438,521.055a16.7,16.7,0,0,1-.688,3.014,18.334,18.334,0,0,0,1.438-2.367,17.5,17.5,0,0,0,1.122-2.752A16.678,16.678,0,0,1,786.438,521.055Z" transform="translate(-752.116 -442.999)"/><path d="M771.358,550.875a16.625,16.625,0,0,1-.688,3.014,17.7,17.7,0,0,0,1.445-2.367,18.231,18.231,0,0,0,1.122-2.752A16.219,16.219,0,0,1,771.358,550.875Z" transform="translate(-747.413 -452.3)"/><path d="M778.9,535.974a16.576,16.576,0,0,1-.688,3.014,18.372,18.372,0,0,0,1.473-2.326,17.5,17.5,0,0,0,1.122-2.752A16.667,16.667,0,0,1,778.9,535.974Z" transform="translate(-749.764 -447.665)"/><path d="M793.978,506.124a16.481,16.481,0,0,1-.688,3.007,17.819,17.819,0,0,0,1.438-2.36,17.542,17.542,0,0,0,1.129-2.8A15.977,15.977,0,0,1,793.978,506.124Z" transform="translate(-754.468 -438.326)"/><path d="M743.367,466.97c5.312-1.741,11.477,2.518,13.762,9.516a17.66,17.66,0,0,1,.688,3.1,14.567,14.567,0,0,1,3.055,3.255,17.554,17.554,0,0,1,1.431-3.957c.241-.468.5-.915.771-1.376a14.5,14.5,0,0,0-2.752-2.876,17.473,17.473,0,0,0-.688-3.1c-2.3-7-8.464-11.264-13.762-9.516-3.028.991-5.119,3.723-5.931,7.177A8.041,8.041,0,0,1,743.367,466.97Z" transform="translate(-737.828 -425.12)"/><path d="M778.808,476.018a15.057,15.057,0,0,1,.124-3.028,17.024,17.024,0,0,0-3.3,4.521,17.239,17.239,0,0,0-1.046,2.56A15.825,15.825,0,0,1,778.808,476.018Z" transform="translate(-748.635 -428.663)"/><path d="M789.668,454.538a15.048,15.048,0,0,1,.124-3.028,16.874,16.874,0,0,0-3.3,4.514,17.652,17.652,0,0,0-1.046,2.567A15.66,15.66,0,0,1,789.668,454.538Z" transform="translate(-752.023 -421.963)"/><path d="M763.818,565.773a16.643,16.643,0,0,1-.688,3.021,17.692,17.692,0,0,0,2.567-5.154A16.174,16.174,0,0,1,763.818,565.773Z" transform="translate(-745.061 -456.938)"/></g><path d="M846.823,362.718a16.29,16.29,0,0,0,5.663-6.413c3.379-6.674,1.982-14.182-3.117-16.762s-11.973.743-15.351,7.424a16.289,16.289,0,0,0-1.8,8.381,16.947,16.947,0,0,0-7.473,14.773,16.246,16.246,0,0,0-5.663,6.413,16.976,16.976,0,0,0-1.039,2.539,14.35,14.35,0,0,1,7.411-5.5,8.422,8.422,0,0,0,10.6,5.424l.089-.029a14.343,14.343,0,0,1,0,9.227,17.567,17.567,0,0,0,1.431-2.34,16.291,16.291,0,0,0,1.8-8.36,16.906,16.906,0,0,0,7.473-14.773Z" transform="translate(-722.948 -168.959)" fill="#3f3d56"/><path d="M922.208,193.422a49.542,49.542,0,0,0,6-3.323l-22.246-16.253,26.147,13.466a49.631,49.631,0,0,0,18.578-34.618l-44.437.454,44.533-7.445a49.543,49.543,0,1,0-98.108,12.578,49.626,49.626,0,0,0-9.124,5.5l23.223,32.292-27.881-28.267a49.6,49.6,0,0,0-13.879,45.146,49.542,49.542,0,1,0,69.532,35.161,49.543,49.543,0,0,0,27.661-54.7Z" transform="translate(-716.203 -94.371)" fill="#6c63ff"/><path d="M829.4,217.542a49.386,49.386,0,0,0-4.369,32.141,49.542,49.542,0,1,0,69.531,35.161C904.29,280.331,831.9,212.581,829.4,217.542Z" transform="translate(-716.209 -131.098)" opacity="0.1"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(161.672)" fill="#6c63ff"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(204.636 4.72)" fill="#6c63ff"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(221.205 70.818)" fill="#6c63ff"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(198.842 103.826)" fill="#6c63ff"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(168.291 172.38)" fill="#6c63ff"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(168.291 172.38)" opacity="0.1"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(100.363 94.736)" fill="#6c63ff"/><circle cx="7.356" cy="7.356" r="7.356" transform="translate(100.363 94.736)" opacity="0.1"/><path d="M822.364,409.012c-4.892-2.47-6.372-9.468-3.516-15.922-.151.261-.3.53-.434.812-3.378,6.674-1.982,14.175,3.117,16.755s11.973-.743,15.344-7.418c.144-.275.268-.557.392-.833C833.766,408.538,827.25,411.49,822.364,409.012Z" transform="translate(-722.49 -185.934)" opacity="0.1"/><path d="M811.8,429.889c-4.885-2.47-6.372-9.468-3.509-15.929-.151.268-.3.537-.44.812-3.379,6.674-1.982,14.181,3.117,16.755s11.973-.736,15.351-7.418c.138-.275.268-.55.392-.833C823.206,429.408,816.7,432.359,811.8,429.889Z" transform="translate(-719.196 -192.443)" opacity="0.1"/><path d="M801.245,450.762c-4.885-2.47-6.372-9.468-3.509-15.922-.151.262-.3.53-.44.812-3.379,6.674-1.975,14.175,3.124,16.755s11.966-.743,15.344-7.418c.138-.275.268-.557.392-.833C812.654,450.288,806.137,453.24,801.245,450.762Z" transform="translate(-715.903 -198.956)" opacity="0.1"/><path d="M790.723,471.692c-4.892-2.47-6.372-9.468-3.516-15.922-.151.261-.3.53-.44.805-3.372,6.674-1.975,14.182,3.124,16.762s11.973-.743,15.344-7.424c.145-.275.268-.55.392-.833C802.1,471.176,795.588,474.128,790.723,471.692Z" transform="translate(-712.62 -205.484)" opacity="0.1"/><path d="M780.134,492.512c-4.892-2.47-6.372-9.468-3.516-15.922-.151.261-.3.53-.434.812-3.378,6.674-1.982,14.175,3.117,16.755s11.973-.743,15.351-7.418c.138-.275.268-.557.392-.833C791.549,492.038,785.019,494.989,780.134,492.512Z" transform="translate(-709.318 -211.978)" opacity="0.1"/><path d="M769.574,513.392c-4.885-2.47-6.372-9.468-3.509-15.922-.151.262-.3.53-.44.805-3.379,6.674-1.982,14.182,3.124,16.762s11.938-.75,15.379-7.424c.138-.275.268-.55.392-.833C780.976,512.911,774.494,515.863,769.574,513.392Z" transform="translate(-706.024 -218.491)" opacity="0.1"/><path d="M759.016,534.262c-4.885-2.47-6.372-9.468-3.509-15.922-.151.268-.3.53-.44.812-3.372,6.674-1.975,14.175,3.124,16.755s11.973-.743,15.344-7.418c.145-.275.268-.557.392-.833C770.425,533.788,763.909,536.74,759.016,534.262Z" transform="translate(-702.732 -225)" opacity="0.1"/><path d="M748.464,555.142c-4.892-2.47-6.372-9.468-3.516-15.922q-.227.392-.433.805c-3.378,6.674-1.982,14.182,3.117,16.762s11.973-.743,15.351-7.424c.138-.275.261-.551.385-.833C759.866,554.661,753.349,557.585,748.464,555.142Z" transform="translate(-699.439 -231.513)" opacity="0.1"/><path d="M741.524,568.859c-4.885-2.477-6.372-9.468-3.509-15.929-.151.268-.3.537-.44.812-3.378,6.674-1.982,14.182,3.117,16.755s11.973-.736,15.351-7.418c.138-.275.268-.55.392-.833C752.926,568.378,746.409,571.329,741.524,568.859Z" transform="translate(-697.275 -235.789)" opacity="0.1"/><path d="M902.138,466.49a25.738,25.738,0,0,0,1.376-6.736,3.674,3.674,0,0,0-.017-7.349,3.75,3.75,0,0,0-.541.041,25.673,25.673,0,0,0-13.514-17.416,3.677,3.677,0,1,0-6.564-3.317,3.454,3.454,0,0,0-.33.984,25.8,25.8,0,0,0-22.617,6.778,25.9,25.9,0,0,0-6.757-.2l-2.979,13.562-.179-13.074a25.748,25.748,0,1,0,13.762,49.542,3.633,3.633,0,0,0,1.548,1.486,3.675,3.675,0,0,0,5.037-4.734,25.769,25.769,0,0,0,3.3-2.7,25.769,25.769,0,0,0,27.049-13.645l-13.865-2.333Z" transform="translate(-726.608 -197.351)" fill="#6c63ff"/><g transform="translate(103.132 240.935)" opacity="0.1"><path d="M880.7,476.97c-5.119-6.757-8.257-14.76-11.87-22.439a93.751,93.751,0,0,0-4.865-9.193l-2.711-3.158c-.454.385-.908.784-1.376,1.2a25.9,25.9,0,0,0-6.757-.2l-2.979,13.562-.179-13.074a25.748,25.748,0,1,0,13.762,49.542,3.634,3.634,0,0,0,1.548,1.486,3.675,3.675,0,0,0,5.037-4.734,25.716,25.716,0,0,0,3.3-2.7,25.8,25.8,0,0,0,15.441-2.284A36.279,36.279,0,0,1,880.7,476.97Z" transform="translate(-829.724 -442.18)"/></g><path d="M743.3,427.035a3.674,3.674,0,0,0-3.289-5.333,25.715,25.715,0,0,0-8.051-14.333,25.815,25.815,0,0,0,.757-8.051l-13.521-2.305,13.129-.826a26.194,26.194,0,0,0-.97-3.633,3.751,3.751,0,0,0,1.211-1.376,3.681,3.681,0,0,0-4.534-5.119,25.748,25.748,0,0,0-45.957,21.276,3.611,3.611,0,0,0-1.83,1.72,3.674,3.674,0,0,0,4.645,5.071,25.827,25.827,0,0,0,4.879,5.952,25.739,25.739,0,0,0,1.2,16.349l18.131-4.707-16.17,8.5a25.748,25.748,0,0,0,47.416-11.188A3.667,3.667,0,0,0,743.3,427.035Z" transform="translate(-679.842 -180.348)" fill="#6c63ff"/><path d="M747.427,441.039a3.674,3.674,0,0,0-3.289-5.333,25.715,25.715,0,0,0-8.051-14.333c.11-.434.206-.86.289-1.294a9.07,9.07,0,0,0-1.328,1.177c-2.443,2.677-3.695,6.275-6.11,8.98-2.849,3.193-7.115,4.858-11.374,5.305a43.3,43.3,0,0,1-12.75-1.025c-3.482-.688-7.012-1.486-10.542-1.149a5.893,5.893,0,0,0-1,.131c.206.2.413.4.626.592a25.729,25.729,0,0,0,1.2,16.349l18.131-4.713-16.17,8.5a25.748,25.748,0,0,0,47.416-11.188A3.667,3.667,0,0,0,747.427,441.039Z" transform="translate(-683.974 -194.352)" opacity="0.1"/></g><g transform="translate(0 219.769)" opacity="0.1"><path d="M88.858,496.9c.881-2.677,4.452-3.908,7.975-2.752a8.766,8.766,0,0,1,1.466.633c.227-.062.461-.117.688-.158a7.743,7.743,0,0,1-.22-2.353A8.574,8.574,0,0,1,95,484.824a8.55,8.55,0,0,1-3.764-7.438,8.258,8.258,0,0,1-2.849-3.234c-1.693-3.358-1-7.135,1.576-8.443s6.035.378,7.734,3.736a8.254,8.254,0,0,1,.908,4.218,8.511,8.511,0,0,1,3.764,7.438,8.534,8.534,0,0,1,3.764,7.445,8.511,8.511,0,0,1,3.764,7.438,8.256,8.256,0,0,1,2.856,3.234,8.715,8.715,0,0,1,.688,2,7.321,7.321,0,0,1,1.534-1.645,8.679,8.679,0,0,1,.358-1.562c1.163-3.523,4.266-5.67,6.943-4.817s3.9,4.452,2.752,7.975a8.027,8.027,0,0,1-2.622,3.846,8.726,8.726,0,0,1-.358,1.555,7.638,7.638,0,0,1-3.516,4.418,8.847,8.847,0,0,1,.289,1.376,8.658,8.658,0,0,1,1.741,2.36,8.475,8.475,0,0,1,.867,2.807,8.645,8.645,0,0,1,1.748,2.36,8.529,8.529,0,0,1,.867,2.807,8.563,8.563,0,0,1,1.748,2.367c1.7,3.358,1,7.142-1.569,8.436s-6.035-.372-7.734-3.736a8.583,8.583,0,0,1-.867-2.807,8.736,8.736,0,0,1-2.615-5.168,8.735,8.735,0,0,1-2.615-5.167,8.655,8.655,0,0,1-1.748-2.36,8.749,8.749,0,0,1-.867-2.807,8.655,8.655,0,0,1-1.741-2.36,8.475,8.475,0,0,1-.867-2.807A7.988,7.988,0,0,1,104,504.91a8.186,8.186,0,0,1-4.252-.261,9.185,9.185,0,0,1-1.473-.64,7.988,7.988,0,0,1-4.645-.165C90.138,502.68,87.984,499.577,88.858,496.9Z" transform="translate(-27.281 -364.89)" fill="#3f3d56"/><g transform="translate(61.414 109.73)" opacity="0.1"><path d="M98.52,495.91a7.391,7.391,0,0,0,1.2.956,7.773,7.773,0,0,0,.385,2.918,8.232,8.232,0,0,1-.729-1.19A8.594,8.594,0,0,1,98.52,495.91Z" transform="translate(-92.143 -484.178)"/><path d="M93.05,485.11a7.73,7.73,0,0,0,1.2.95,7.837,7.837,0,0,0,.385,2.924A8.74,8.74,0,0,1,93.05,485.11Z" transform="translate(-90.437 -480.809)"/><path d="M105.455,480.387a7.61,7.61,0,0,0-.055-1.528,8.693,8.693,0,0,1,1.658,2.278,8.918,8.918,0,0,1,.523,1.294A7.857,7.857,0,0,0,105.455,480.387Z" transform="translate(-94.289 -478.86)"/><path d="M139.581,545.386a8,8,0,0,0-1.018-1.17,8.464,8.464,0,0,0-.3-1.376,9.148,9.148,0,0,1,1.321,2.546Z" transform="translate(-104.538 -498.816)"/><path d="M135.757,537.876a8,8,0,0,0-1.018-1.17,8.089,8.089,0,0,0-.289-1.376h0a8.713,8.713,0,0,1,1.294,2.532Z" transform="translate(-103.35 -496.474)"/><path d="M99.4,506.706a6.962,6.962,0,0,0,1.19.943,7.489,7.489,0,0,0,.22,2.353,6.748,6.748,0,0,0-.688.158,9.1,9.1,0,0,0-1.473-.633c-3.523-1.156-7.094.076-7.968,2.752a4.006,4.006,0,0,0-.117,2.064,4.769,4.769,0,0,1-1.142-4.548c.881-2.677,4.452-3.908,7.975-2.752a8.763,8.763,0,0,1,1.466.633c.227-.062.461-.117.688-.158A7.086,7.086,0,0,1,99.4,506.706Z" transform="translate(-89.253 -487.515)"/><path d="M142.06,550.31a8.809,8.809,0,0,1,.791,1.287,8.964,8.964,0,0,1,.53,1.294,8.091,8.091,0,0,0-1.018-1.177A8.5,8.5,0,0,0,142.06,550.31Z" transform="translate(-105.724 -501.146)"/><path d="M110.925,491.218a7.61,7.61,0,0,0-.055-1.528,8.6,8.6,0,0,1,1.658,2.278,8.841,8.841,0,0,1,.523,1.287A7.831,7.831,0,0,0,110.925,491.218Z" transform="translate(-95.995 -482.238)"/><path d="M118.426,535.52a8.258,8.258,0,0,0,.337,1.514,8.7,8.7,0,0,1-1.294-2.594A8.066,8.066,0,0,0,118.426,535.52Z" transform="translate(-98.054 -496.196)"/><path d="M126.02,550.553a8.708,8.708,0,0,0,.344,1.514,8.23,8.23,0,0,1-.729-1.19,8.894,8.894,0,0,1-.564-1.376A8.954,8.954,0,0,0,126.02,550.553Z" transform="translate(-100.424 -500.893)"/><path d="M122.226,543.043a8.256,8.256,0,0,0,.337,1.514,8.846,8.846,0,0,1-.729-1.19,8.709,8.709,0,0,1-.564-1.376A8.071,8.071,0,0,0,122.226,543.043Z" transform="translate(-99.239 -498.551)"/><path d="M114.642,528.016a8.2,8.2,0,0,0,.337,1.521,8.53,8.53,0,0,1-.688-1.19,8.434,8.434,0,0,1-.571-1.376A7.689,7.689,0,0,0,114.642,528.016Z" transform="translate(-96.884 -493.866)"/><path d="M135.423,508.286c-2.677-.881-5.78,1.266-6.936,4.817a8.682,8.682,0,0,0-.358,1.562,7.3,7.3,0,0,0-1.541,1.638,8.842,8.842,0,0,0-.722-2c-.117-.234-.248-.461-.385-.688a7.326,7.326,0,0,1,1.376-1.445,8.682,8.682,0,0,1,.358-1.562c1.163-3.523,4.266-5.67,6.943-4.817a4.768,4.768,0,0,1,2.986,3.619A4.082,4.082,0,0,0,135.423,508.286Z" transform="translate(-100.552 -487.203)"/><path d="M121.865,512.838a7.608,7.608,0,0,0-.055-1.528,8.6,8.6,0,0,1,1.658,2.278,8.92,8.92,0,0,1,.523,1.294A7.765,7.765,0,0,0,121.865,512.838Z" transform="translate(-99.408 -488.981)"/><path d="M116.4,502.018a7.66,7.66,0,0,0-.055-1.528A8.836,8.836,0,0,1,118,502.768a8.925,8.925,0,0,1,.523,1.294A7.857,7.857,0,0,0,116.4,502.018Z" transform="translate(-97.701 -485.607)"/><path d="M129.82,558.063a8.16,8.16,0,0,0,.344,1.521,8.633,8.633,0,0,1-.729-1.2,8.9,8.9,0,0,1-.564-1.376A8.936,8.936,0,0,0,129.82,558.063Z" transform="translate(-101.61 -503.236)"/></g><path d="M80.308,455.76a8.2,8.2,0,0,1-2.849-3.227c-1.7-3.365-1-7.142,1.569-8.443s6.035.372,7.734,3.736a8.207,8.207,0,0,1,.908,4.211,8.534,8.534,0,0,1,3.764,7.445,8.256,8.256,0,0,1,2.856,3.227,9.142,9.142,0,0,1,.523,1.28,7.278,7.278,0,0,0-3.736-2.752,4.239,4.239,0,0,1-5.313,2.776l-.075-.024a7.243,7.243,0,0,0,0,4.645A9.065,9.065,0,0,1,85,467.458a8.26,8.26,0,0,1-.915-4.211,8.554,8.554,0,0,1-3.764-7.445Z" transform="translate(-23.871 -358.148)" fill="#3f3d56"/><path d="M15.378,370.33a25.273,25.273,0,0,1-3.021-1.672l11.2-8.188-13.17,6.778a25,25,0,0,1-9.351-17.436l22.39.234L.99,346.288a24.971,24.971,0,1,1,49.412,6.33,25.3,25.3,0,0,1,4.6,2.752L43.3,371.638l14.044-14.23a24.991,24.991,0,0,1,6.991,22.741,24.971,24.971,0,1,1-35.024,17.711,24.963,24.963,0,0,1-13.934-27.524Z" transform="translate(-0.309 -320.43)" fill="#6c63ff"/><path d="M74.749,382.631a24.853,24.853,0,0,1,2.2,16.191,24.971,24.971,0,1,1-35.024,17.711C37.021,414.255,73.489,380.133,74.749,382.631Z" transform="translate(-12.924 -339.075)" opacity="0.1"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(29.987)" fill="#6c63ff"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(8.34 2.381)" fill="#6c63ff"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(0 35.677)" fill="#6c63ff"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(11.264 52.309)" fill="#6c63ff"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(26.65 86.844)" fill="#6c63ff"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(26.65 86.844)" opacity="0.1"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(60.868 47.726)" fill="#6c63ff"/><circle cx="3.709" cy="3.709" r="3.709" transform="translate(60.868 47.726)" opacity="0.1"/><path d="M96.194,479.083c2.463-1.245,3.206-4.768,1.768-8.023.076.138.151.268.22.406,1.7,3.365,1,7.142-1.576,8.443s-6.028-.372-7.727-3.736c-.069-.138-.138-.275-.2-.42C90.448,478.842,93.731,480.329,96.194,479.083Z" transform="translate(-27.66 -366.697)" opacity="0.1"/><path d="M101.507,489.6c2.463-1.245,3.213-4.775,1.775-8.023.076.131.151.268.22.406,1.7,3.365,1,7.142-1.576,8.443s-6.028-.372-7.727-3.736c-.076-.138-.138-.282-.2-.42C95.768,489.376,99.057,490.849,101.507,489.6Z" transform="translate(-29.32 -369.979)" opacity="0.1"/><path d="M106.827,500.113c2.463-1.245,3.213-4.768,1.768-8.023.083.138.151.268.227.413,1.7,3.358.991,7.142-1.576,8.436s-6.028-.372-7.727-3.736c-.076-.138-.138-.275-.2-.42C101.081,499.872,104.364,501.359,106.827,500.113Z" transform="translate(-30.979 -373.257)" opacity="0.1"/><path d="M112.147,510.633c2.463-1.245,3.213-4.768,1.768-8.023.076.131.151.268.22.406,1.706,3.365,1,7.142-1.569,8.443s-6.035-.372-7.734-3.736c-.069-.138-.131-.282-.193-.42C106.4,510.385,109.684,511.879,112.147,510.633Z" transform="translate(-32.638 -376.538)" opacity="0.1"/><path d="M117.464,521.146c2.463-1.245,3.206-4.769,1.768-8.016.076.131.151.268.22.406,1.7,3.365,1,7.142-1.569,8.443s-6.035-.378-7.734-3.736c-.069-.145-.131-.282-.2-.42C111.718,520.905,115,522.392,117.464,521.146Z" transform="translate(-34.295 -379.819)" opacity="0.1"/><path d="M122.784,531.663c2.463-1.245,3.207-4.768,1.768-8.023.076.138.151.268.22.406,1.7,3.365,1,7.142-1.569,8.443s-6.035-.372-7.734-3.736c-.069-.138-.138-.275-.2-.42C117.038,531.395,120.321,532.909,122.784,531.663Z" transform="translate(-35.954 -383.098)" opacity="0.1"/><path d="M128.1,542.183c2.456-1.245,3.206-4.775,1.768-8.023.076.131.151.268.22.406,1.7,3.365,1,7.142-1.576,8.443s-6.028-.378-7.727-3.736c-.069-.144-.138-.282-.2-.42C122.358,541.935,125.641,543.429,128.1,542.183Z" transform="translate(-37.613 -386.379)" opacity="0.1"/><path d="M133.417,552.693c2.463-1.245,3.213-4.768,1.768-8.023.083.138.151.268.227.413,1.7,3.358.991,7.142-1.576,8.436s-6.028-.372-7.727-3.736c-.076-.138-.138-.275-.2-.42C127.678,552.452,130.954,553.939,133.417,552.693Z" transform="translate(-39.273 -389.657)" opacity="0.1"/><path d="M136.944,559.6c2.463-1.245,3.206-4.768,1.768-8.023.076.138.151.268.22.413,1.7,3.358,1,7.142-1.569,8.436s-6.035-.372-7.734-3.736c-.069-.138-.138-.275-.2-.42C131.178,559.376,134.46,560.849,136.944,559.6Z" transform="translate(-40.371 -391.812)" opacity="0.1"/><path d="M43.062,508.037a12.783,12.783,0,0,1-.688-3.392,1.851,1.851,0,1,1,.282-3.681,12.949,12.949,0,0,1,6.805-8.773,1.854,1.854,0,0,1,3.31-1.672h0a1.681,1.681,0,0,1,.165.5,13.019,13.019,0,0,1,11.395,3.44,12.831,12.831,0,0,1,3.44-.1l1.5,6.826.034-6.585a12.97,12.97,0,0,1-5.843,25.274q-.553-.127-1.093-.3a1.9,1.9,0,0,1-.778.75,1.858,1.858,0,0,1-2.546-2.388,13.011,13.011,0,0,1-1.658-1.376,12.985,12.985,0,0,1-13.624-6.881l6.984-1.177Z" transform="translate(-12.641 -372.449)" fill="#6c63ff"/><g transform="translate(36.964 121.379)" opacity="0.1"><path d="M57.966,513.316c2.58-3.441,4.163-7.431,5.979-11.3a45.864,45.864,0,0,1,2.45-4.638l1.376-1.589c.234.2.461.4.688.605a12.835,12.835,0,0,1,3.44-.1l1.5,6.826.021-6.564a12.97,12.97,0,1,1-5.843,25.274q-.553-.127-1.093-.3a1.9,1.9,0,0,1-.778.75,1.858,1.858,0,0,1-2.546-2.388,13.011,13.011,0,0,1-1.658-1.376,13.071,13.071,0,0,1-7.782-1.149A18.3,18.3,0,0,0,57.966,513.316Z" transform="translate(-53.72 -495.79)"/></g><path d="M126.169,488.165a1.844,1.844,0,0,1,.809-2.479l.01,0a1.815,1.815,0,0,1,.839-.2,12.972,12.972,0,0,1,4.053-7.225,12.869,12.869,0,0,1-.378-4.053l6.805-1.142-6.613-.42a12.867,12.867,0,0,1,.5-1.83,1.816,1.816,0,0,1-.612-.688,1.858,1.858,0,0,1,2.284-2.58,12.814,12.814,0,0,1,4.727-4.08,12.964,12.964,0,0,1,18.42,14.794,1.851,1.851,0,0,1-1.417,3.42,12.9,12.9,0,0,1-2.456,2.986,13.006,13.006,0,0,1-.6,8.257l-9.1-2.395,8.14,4.287a12.977,12.977,0,0,1-22.59-1.06,13.154,13.154,0,0,1-1.335-4.576A1.838,1.838,0,0,1,126.169,488.165Z" transform="translate(-39.291 -363.889)" fill="#6c63ff"/><path d="M126.169,495.215a1.844,1.844,0,0,1,.809-2.479l.01,0a1.815,1.815,0,0,1,.839-.2,12.972,12.972,0,0,1,4.053-7.225c-.055-.213-.1-.433-.145-.647a5.042,5.042,0,0,1,.688.592c1.232,1.376,1.865,3.158,3.076,4.521a8.884,8.884,0,0,0,5.732,2.677,21.7,21.7,0,0,0,6.42-.516,18.832,18.832,0,0,1,5.312-.585l.509.069-.317.3a13.006,13.006,0,0,1-.6,8.257l-9.124-2.395,8.14,4.287a12.977,12.977,0,0,1-22.59-1.06,13.154,13.154,0,0,1-1.335-4.576A1.838,1.838,0,0,1,126.169,495.215Z" transform="translate(-39.291 -370.939)" opacity="0.1"/></g><path d="M327.43,43.5a13.916,13.916,0,0,0-8.078.881,11.916,11.916,0,0,1-9.7,0,13.6,13.6,0,0,0-11.409.227,7.069,7.069,0,0,1-3.282.819c-4.624,0-8.47-4.658-9.269-10.8A9,9,0,0,0,288,32.137c2.711-4.369,6.881-7.177,11.622-7.177s8.869,2.752,11.581,7.094a8.944,8.944,0,0,0,7.679,4.225h.124C322.654,36.258,325.84,39.21,327.43,43.5Z" transform="translate(-89.11 -7.785)" fill="#6c63ff" opacity="0.1"/><path d="M341.468,16.452,334,21.193l4.535-8.257a7.39,7.39,0,0,0-4.521-1.61h-.117a8.906,8.906,0,0,1-1.548-.117l-2.539,1.61,1.087-1.975a9.078,9.078,0,0,1-4.431-3.337l-4.548,2.842,2.862-5.209A13.264,13.264,0,0,0,314.619,0c-4.713,0-8.945,2.807-11.629,7.177a8.684,8.684,0,0,1-7.686,4.129h-.227c-5.2,0-9.427,5.9-9.427,13.184s4.225,13.177,9.427,13.177a7.069,7.069,0,0,0,3.282-.819,13.57,13.57,0,0,1,11.409-.22,11.954,11.954,0,0,0,9.7,0,13.59,13.59,0,0,1,11.305.22,7.125,7.125,0,0,0,3.248.8c5.209,0,9.427-5.9,9.427-13.177A16.761,16.761,0,0,0,341.468,16.452Z" transform="translate(-89.097 0)" fill="#6c63ff" opacity="0.1"/><path d="M93.32,178.423a19.957,19.957,0,0,0-11.539,1.252,17,17,0,0,1-13.858-.034,19.416,19.416,0,0,0-16.294.323,10.15,10.15,0,0,1-4.693,1.17c-6.606,0-12.1-6.654-13.246-15.434a12.672,12.672,0,0,0,3.3-3.557c3.874-6.241,9.874-10.253,16.61-10.253s12.661,3.963,16.514,10.136a12.743,12.743,0,0,0,11.009,6.035H81.3C86.515,168.053,91.07,172.271,93.32,178.423Z" transform="translate(-10.508 -47.376)" fill="#6c63ff" opacity="0.1"/><path d="M113.381,139.748,102.7,146.519l6.482-11.787a10.555,10.555,0,0,0-6.461-2.305h-.172a12.512,12.512,0,0,1-2.216-.165l-3.606,2.333,1.555-2.821a12.868,12.868,0,0,1-6.33-4.817l-6.482,4.129,4.08-7.5c-3.791-4.548-8.9-7.335-14.512-7.335-6.736,0-12.737,4-16.61,10.246a12.421,12.421,0,0,1-11.009,5.924h-.365c-7.438,0-13.466,8.429-13.466,18.833s6.028,18.833,13.466,18.833a10.047,10.047,0,0,0,4.693-1.177,19.416,19.416,0,0,1,16.294-.317,17,17,0,0,0,13.858.034,19.44,19.44,0,0,1,16.156.31,10.082,10.082,0,0,0,4.638,1.149c7.438,0,13.466-8.436,13.466-18.833A23.922,23.922,0,0,0,113.381,139.748Z" transform="translate(-10.477 -36.26)" fill="#6c63ff" opacity="0.1"/><path d="M747.97,82.488a13.927,13.927,0,0,1,8.078.881,11.9,11.9,0,0,0,9.7,0,13.6,13.6,0,0,1,11.408.227,7.1,7.1,0,0,0,3.282.819c4.624,0,8.477-4.658,9.275-10.8a8.906,8.906,0,0,1-2.312-2.491c-2.7-4.383-6.915-7.211-11.643-7.211S766.892,66.662,764.181,71a8.946,8.946,0,0,1-7.693,4.246h-.117C752.711,75.243,749.518,78.195,747.97,82.488Z" transform="translate(-233.3 -19.934)" fill="#6c63ff" opacity="0.1"/><path d="M726.61,55.468l7.473,4.727-4.541-8.257a7.4,7.4,0,0,1,4.521-1.61h.124a8.906,8.906,0,0,0,1.548-.117l2.532,1.61-1.087-1.975a9.09,9.09,0,0,0,4.473-3.323l4.534,2.876-2.869-5.209a13.224,13.224,0,0,1,10.163-5.14c4.713,0,8.945,2.807,11.629,7.177a8.677,8.677,0,0,0,7.686,4.129h.248c5.209,0,9.427,5.9,9.427,13.184s-4.218,13.177-9.427,13.177a7.115,7.115,0,0,1-3.282-.819,13.57,13.57,0,0,0-11.409-.22,11.938,11.938,0,0,1-9.7,0,13.6,13.6,0,0,0-11.312.22,7.1,7.1,0,0,1-3.248.8c-5.2,0-9.427-5.9-9.427-13.177A16.762,16.762,0,0,1,726.61,55.468Z" transform="translate(-226.031 -12.18)" fill="#6c63ff" opacity="0.1"/><path d="M499.861,636.225,377.25,634.65l.365-3.145,5.924-51.875H491.218l7.92,51.875.606,3.936Z" transform="translate(-117.668 -180.793)" fill="#d0d2d5"/><path d="M499.744,658.956H438.559l-61.309-.791.365-3.145H499.138Z" transform="translate(-117.668 -204.308)" opacity="0.1"/><rect width="162.699" height="3.929" transform="translate(239.146 451.504)" fill="#d0d2d5"/><path d="M594.4,122.176a10.232,10.232,0,0,0-10.184-10.266H129.854a10.232,10.232,0,0,0-10.184,10.28h0V397.6H594.4Z" transform="translate(-37.326 -34.906)" fill="#3f3d56"/><path d="M119.67,523.1v32.258a10.184,10.184,0,0,0,10.184,10.184H584.213A10.184,10.184,0,0,0,594.4,555.358V523.1Z" transform="translate(-37.326 -163.16)" fill="#d0d2d5"/><rect width="437.783" height="247.582" transform="translate(101.996 94.275)" fill="#fff"/><path d="M463.256,557.365a10.6,10.6,0,0,0,8.346-4.053h0a10.981,10.981,0,0,0,.826-1.211l-5.828-.984,6.3.041a10.611,10.611,0,0,0,.2-8.4l-8.443,4.376,7.789-5.725a10.61,10.61,0,1,0-17.526,11.876h0A10.6,10.6,0,0,0,463.256,557.365Z" transform="translate(-141.189 -167.225)" fill="#6c63ff"/><path d="M483.48,584.77,532.4,633.9l-7.507-49.13Z" transform="translate(-150.802 -182.396)" opacity="0.1"/><rect width="438.258" height="14.464" transform="translate(101.651 94.303)" fill="#444053" opacity="0.1"/><rect width="132.044" height="8.801" rx="0.58" transform="translate(253.816 96.821)" fill="#6c63ff" opacity="0.3"/><path d="M552.793,146.437h-.323l-.117-.1a2.677,2.677,0,0,0,.619-1.713,2.6,2.6,0,1,0-2.594,2.622,2.681,2.681,0,0,0,1.713-.626l.117.1v.323l2.016,2.016.6-.606Zm-2.415,0a1.817,1.817,0,1,1,1.81-1.823v.007a1.8,1.8,0,0,1-1.789,1.817Z" transform="translate(-170.855 -44.304)" fill="#3f3d56"/><circle cx="2.649" cy="2.649" r="2.649" transform="translate(106.881 98.885)" fill="#fa5959" opacity="0.8"/><circle cx="2.649" cy="2.649" r="2.649" transform="translate(114.168 98.885)" fill="#fed253" opacity="0.8"/><circle cx="2.649" cy="2.649" r="2.649" transform="translate(121.462 98.885)" fill="#8ccf4d" opacity="0.8"/><g transform="translate(182.157 245.27)"><path d="M332.589,375.779c-5.443,5.436-6.1,7.83-9.365,8.911s-15.028,7.17-11.333,13.92l9.936,6.564.289.193,1.521,4.569-15.028,26.753s-24.771-11.326-27.2,5.429-.888,21.331-1.541,30.276.213,11.532-1.968,11.532-3.041-5.876-3.041-5.876-.138-.268-.378-.771c-3.241-6.736-25.239-56.189,10-90.181,0,0,16.322-1.073,20.25-19.789,2.711-12.936,12.193-11.821,18.5-9.186a20.9,20.9,0,0,1,5.656,3.323,27.826,27.826,0,0,1,4.053,4.817C334.729,369.1,335.706,372.655,332.589,375.779Z" transform="translate(-264.728 -356.451)" fill="#d0d2d5"/><path d="M325.845,427.468l1.521,4.569L312.338,458.79s-24.771-11.326-27.2,5.429S284.25,485.55,283.6,494.5s.213,11.532-1.968,11.532-3.041-5.876-3.041-5.876-.138-.268-.378-.771c-1.094-8.367-6.64-57.311,13.466-54.71,0,0,16.315,7.624,18.923,4.583,2.064-2.408,11.23-16.26,14.959-21.943Z" transform="translate(-268.457 -378.553)" opacity="0.1"/><path d="M350.266,366.963l-9.936,11.292S328.791,393.7,326.4,393.042a11.184,11.184,0,0,0-2.181-.255,4.238,4.238,0,0,1-2.752-7.142c3.936-4.129,11.188-11.966,11.663-13.707s5.092-9.372,7.4-13.108a20.9,20.9,0,0,1,5.656,3.323A27.865,27.865,0,0,1,350.266,366.963Z" transform="translate(-282.061 -357.193)" opacity="0.1"/><path d="M633.753,552.62c-1.686,3.372-10.321,16.019-14.1,21.544l-1.768,2.6s-.688,4.569-11.966-1.094S329.666,458.2,329.666,458.2l-1.8-5.395,13.074-19.576L631.366,545.437S635.935,548.265,633.753,552.62Z" transform="translate(-284.423 -380.399)" fill="#454b69"/><path d="M619.654,583.038l-1.768,2.6s-.688,4.569-11.966-1.094S329.666,467.075,329.666,467.075l-1.8-5.395Z" transform="translate(-284.423 -389.273)" opacity="0.1"/></g><ellipse cx="22.218" cy="4.273" rx="22.218" ry="4.273" transform="translate(537.274 446.962)" fill="#6c63ff"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 446.033)" fill="#3f3d56"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 441.891)" fill="#3f3d56"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 437.756)" fill="#3f3d56"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 433.613)" fill="#3f3d56"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 429.471)" fill="#3f3d56"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 425.336)" fill="#3f3d56"/><ellipse cx="2.587" cy="3.385" rx="2.587" ry="3.385" transform="translate(556.534 421.193)" fill="#3f3d56"/><path d="M816.614,566.827a12.514,12.514,0,0,0,.963-1.417l-6.8-1.115,7.356.048a12.462,12.462,0,0,0,.234-9.819l-9.867,5.119,9.1-6.688a12.386,12.386,0,1,0-20.45,13.872,12.334,12.334,0,0,0-1.417,2.257l8.828,4.589-9.413-3.158a12.385,12.385,0,0,0,2,11.615,12.386,12.386,0,1,0,19.48,0,12.386,12.386,0,0,0,0-15.324Z" transform="translate(-247.812 -170.549)" fill="#6c63ff"/><path d="M794.47,586.927a12.324,12.324,0,0,0,2.67,7.665,12.386,12.386,0,1,0,19.48,0C818.264,592.48,794.47,585.537,794.47,586.927Z" transform="translate(-247.803 -183.012)" opacity="0.1"/><ellipse cx="31.989" cy="6.152" rx="31.989" ry="6.152" transform="translate(70.137 528.405)" fill="#6c63ff"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 527.063)" fill="#3f3d56"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 521.104)" fill="#3f3d56"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 515.145)" fill="#3f3d56"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 509.186)" fill="#3f3d56"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 503.227)" fill="#3f3d56"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 497.262)" fill="#3f3d56"/><ellipse cx="3.723" cy="4.879" rx="3.723" ry="4.879" transform="translate(97.867 491.303)" fill="#3f3d56"/><path d="M153.435,648.735a18.823,18.823,0,0,0,1.376-2.064l-9.785-1.61,10.583.083a17.892,17.892,0,0,0,.337-14.14l-14.188,7.39,13.074-9.633a17.842,17.842,0,1,0-29.471,19.955,17.769,17.769,0,0,0-2.064,3.248l12.709,6.606-13.549-4.548a17.842,17.842,0,0,0,2.931,16.782,17.842,17.842,0,1,0,28.047,0,17.835,17.835,0,0,0,0-22.06Z" transform="translate(-37.905 -193.329)" fill="#6c63ff"/><path d="M121.59,677.788a17.788,17.788,0,0,0,3.819,11.009,17.842,17.842,0,1,0,28.047,0C155.829,685.756,121.59,675.758,121.59,677.788Z" transform="translate(-37.925 -211.325)" opacity="0.1"/><g transform="translate(284.422 187.53)"><g transform="translate(0 0)"><rect width="75.695" height="75.695" rx="7.09" fill="#3740ff"/><path d="M49.8,55.2H38.266a1.246,1.246,0,1,0,0,2.491H49.8a1.246,1.246,0,0,0,0-2.491Z" transform="translate(-8.556 -12.758)" fill="#fff"/><path d="M38.266,33.791H49.8a1.246,1.246,0,0,0,0-2.491H38.266a1.246,1.246,0,0,0,0,2.491Z" transform="translate(-8.557 -7.234)" fill="#fff"/><path d="M62.831,31.32a10.433,10.433,0,0,0-10.357,9.226H38.266a1.246,1.246,0,1,0,0,2.491H52.474A10.434,10.434,0,1,0,62.831,31.32Zm0,18.314a7.881,7.881,0,1,1,7.881-7.881h0A7.889,7.889,0,0,1,62.831,49.634Z" transform="translate(-8.556 -7.239)" fill="#fff"/><path d="M23.664,40.816l-.915-.254-.515-.146c-3.345-.946-4.705-1.538-4.705-3.329,0-2.606,3.191-3.3,4.875-3.3a6.5,6.5,0,0,1,4.705,1.668,1.28,1.28,0,0,0,1.914-1.7h0a8.986,8.986,0,0,0-6.62-2.53c-3.691,0-7.435,2.014-7.435,5.859s3.491,4.921,6.566,5.79l.507.146.946.261c3.075.838,4.444,1.392,4.444,3.175,0,2.922-3.521,3.237-5.036,3.237a7.686,7.686,0,0,1-5.382-2.022,1.279,1.279,0,0,0-1.876,1.738h0a10.256,10.256,0,0,0,7.235,2.837c5.6,0,7.6-2.991,7.6-5.8C30,42.53,26.486,41.577,23.664,40.816Z" transform="translate(-3.42 -7.216)" fill="#fff"/><path d="M51.414,66.621a4.034,4.034,0,0,0-1.907-.392H46.694a.52.52,0,0,0-.392.169.555.555,0,0,0-.161.4v7.527a.546.546,0,0,0,.538.554h.015a.555.555,0,0,0,.4-.161.52.52,0,0,0,.169-.392V71.688H49.5a4.046,4.046,0,0,0,1.914-.392,2.429,2.429,0,0,0,1.061-1.007,2.915,2.915,0,0,0,0-2.66A2.424,2.424,0,0,0,51.414,66.621Zm-.254,3.529a2.561,2.561,0,0,1-1.768.477h-2.13V67.29h2.13a2.561,2.561,0,0,1,1.768.477,1.653,1.653,0,0,1,.046,2.337Z" transform="translate(-10.664 -15.307)" fill="#fff"/><path d="M59.808,69.241a.515.515,0,0,0-.384-.161h-.062a2.422,2.422,0,0,0-1.93,1.153V69.71a.569.569,0,0,0-.569-.569.52.52,0,0,0-.392.169.555.555,0,0,0-.161.4v5.274a.546.546,0,0,0,.538.554h.015a.555.555,0,0,0,.4-.161.52.52,0,0,0,.169-.392V71.24a2.491,2.491,0,0,1,.823-.769,2.1,2.1,0,0,1,1.084-.292H59.4a.575.575,0,0,0,.407-.146.489.489,0,0,0,.161-.384A.547.547,0,0,0,59.808,69.241Z" transform="translate(-13.015 -15.967)" fill="#fff"/><path d="M66.061,69.5a2.862,2.862,0,0,0-1.538-.423,2.832,2.832,0,0,0-1.638.454,2.736,2.736,0,0,0-.984,1.192,4,4,0,0,0-.323,1.615,3.275,3.275,0,0,0,.846,2.407,3.136,3.136,0,0,0,2.307.853,3.847,3.847,0,0,0,2.153-.538.531.531,0,0,0,.323-.454.447.447,0,0,0-.146-.346.492.492,0,0,0-.346-.138.486.486,0,0,0-.223.046,3.755,3.755,0,0,1-.769.284,3.677,3.677,0,0,1-.907.1,2.206,2.206,0,0,1-1.538-.477,2.023,2.023,0,0,1-.607-1.346h4.167a.538.538,0,0,0,.568-.507c0-.015,0-.032,0-.047a3.479,3.479,0,0,0-.346-1.538A2.742,2.742,0,0,0,66.061,69.5Zm-3.383,2.307a2,2,0,0,1,.308-1.007,1.65,1.65,0,0,1,.677-.6,1.873,1.873,0,0,1,1.645,0,1.7,1.7,0,0,1,.684.6,1.971,1.971,0,0,1,.315,1.007Z" transform="translate(-14.231 -15.966)" fill="#fff"/><path d="M74.988,73.746c0,.884-.623,1.838-2.376,1.838a3.139,3.139,0,0,1-2.245-.884.469.469,0,0,1-.013-.664l.013-.013a.478.478,0,0,1,.338-.131.5.5,0,0,1,.338.154,2.238,2.238,0,0,0,1.538.577c.423,0,1.415-.085,1.415-.877,0-.469-.384-.623-1.261-.861l-.377-.123c-.961-.269-2.045-.577-2.045-1.83s1.169-1.853,2.307-1.853a2.806,2.806,0,0,1,2.053.769.479.479,0,1,1-.715.638,1.854,1.854,0,0,0-1.338-.469c-.469,0-1.369.185-1.369.892,0,.484.392.638,1.346.907l.431.115C73.9,72.193,74.988,72.493,74.988,73.746Z" transform="translate(-16.231 -15.966)" fill="#fff"/><path d="M82.244,73.746c0,.884-.623,1.838-2.376,1.838a3.181,3.181,0,0,1-2.245-.884.452.452,0,0,1-.123-.338.479.479,0,0,1,.83-.308,2.247,2.247,0,0,0,1.538.569c.423,0,1.415-.085,1.415-.877,0-.469-.384-.623-1.261-.861l-.438-.123c-.961-.269-2.045-.577-2.045-1.83s1.169-1.853,2.307-1.853a2.738,2.738,0,0,1,2.061.769.469.469,0,0,1-.03.663l-.016.014a.46.46,0,0,1-.346.115.47.47,0,0,1-.331-.161h0a1.906,1.906,0,0,0-1.338-.461c-.477,0-1.369.185-1.369.892,0,.484.392.638,1.346.907l.423.123C81.152,72.193,82.244,72.485,82.244,73.746Z" transform="translate(-17.912 -15.965)" fill="#fff"/></g></g></svg>
assets/js/seopress-block-editor.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(e){const{subscribe:t,select:s}=wp.data;let a=!1;t(()=>{var t=wp.data.select("core/editor").isSavingPost(),s=wp.data.select("core/editor").isAutosavingPost();!t||s||a||e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:e("#seopress-tabs").attr("data_id"),tax_name:e("#seopress-tabs").attr("data_tax"),origin:e("#seopress-tabs").attr("data_origin"),post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(t){void 0===t.data.og_title?og_title="":og_title=t.data.og_title.values,void 0===t.data.og_desc?og_desc="":og_desc=t.data.og_desc.values,void 0===t.data.og_img?og_img="":og_img=t.data.og_img.values,void 0===t.data.og_url?og_url="":og_url=t.data.og_url.host,void 0===t.data.og_site_name?og_site_name="":og_site_name=t.data.og_site_name.values,void 0===t.data.tw_title?tw_title="":tw_title=t.data.tw_title.values,void 0===t.data.tw_desc?tw_desc="":tw_desc=t.data.tw_desc.values,void 0===t.data.tw_img?tw_img="":tw_img=t.data.tw_img.values;var s={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var a in s)s.length&&(a=s[a].length>1?s[a].slice(-1)[0]:s[a][0]);e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title),e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc),e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img),e("#seopress_cpt .snippet-fb-img img").attr("src",s.og_img),e("#seopress_cpt .snippet-fb-img-default img").attr("src",s.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title),e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc),e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading")}}),a=!!t})});
assets/js/seopress-cookies-ajax.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(e){null==Cookies.get("seopress-user-consent-close")&&null==Cookies.get("seopress-user-consent-accept")&&e(".seopress-user-consent").removeClass("seopress-user-consent-hide"),e("#seopress-user-consent-accept").on("click",function(){e(".seopress-user-consent").remove(),e.ajax({method:"GET",url:seopressAjaxGAUserConsent.seopress_cookies_user_consent,data:{action:"seopress_cookies_user_consent",_ajax_nonce:seopressAjaxGAUserConsent.seopress_nonce},success:function(s){e("head").append(s.data.gtag_js),e("head").append(s.data.custom),e("head").append(s.data.head_js),e("body").prepend(s.data.body_js),Cookies.set("seopress-user-consent-accept","1",{expires:30})}})}),e("#seopress-user-consent-close").on("click",function(){e(".seopress-user-consent").remove(),Cookies.set("seopress-user-consent-close","1",{expires:30})})});
assets/js/seopress-cookies.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var n=!1;if("function"==typeof define&&define.amd&&(define(e),n=!0),"object"==typeof exports&&(module.exports=e(),n=!0),!n){var o=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=o,t}}}(function(){function e(){for(var e=0,n={};e<arguments.length;e++){var o=arguments[e];for(var t in o)n[t]=o[t]}return n}return function n(o){function t(n,r,i){var c;if("undefined"!=typeof document){if(arguments.length>1){if("number"==typeof(i=e({path:"/"},t.defaults,i)).expires){var a=new Date;a.setMilliseconds(a.getMilliseconds()+864e5*i.expires),i.expires=a}i.expires=i.expires?i.expires.toUTCString():"";try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(e){}r=o.write?o.write(r,n):encodeURIComponent(String(r)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=(n=(n=encodeURIComponent(String(n))).replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent)).replace(/[\(\)]/g,escape);var s="";for(var f in i)i[f]&&(s+="; "+f,!0!==i[f]&&(s+="="+i[f]));return document.cookie=n+"="+r+s}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],d=/(%[0-9A-Z]{2})+/g,u=0;u<p.length;u++){var l=p[u].split("="),C=l.slice(1).join("=");this.json||'"'!==C.charAt(0)||(C=C.slice(1,-1));try{var g=l[0].replace(d,decodeURIComponent);if(C=o.read?o.read(C,g):o(C,g)||C.replace(d,decodeURIComponent),this.json)try{C=JSON.parse(C)}catch(e){}if(n===g){c=C;break}n||(c[g]=C)}catch(e){}}return c}}return t.set=t,t.get=function(e){return t.call(t,e)},t.getJSON=function(){return t.apply({json:!0},[].slice.call(arguments))},t.defaults={},t.remove=function(n,o){t(n,"",e(o,{expires:-1}))},t.withConverter=n,t}(function(){})});
assets/js/seopress-counters.js CHANGED
@@ -238,6 +238,16 @@ function sp_ca_toggle() {
238
  }
239
 
240
  jQuery(document).ready(function(e) {
 
 
 
 
 
 
 
 
 
 
241
  function s() {
242
  e.ajax({
243
  method: "GET",
238
  }
239
 
240
  jQuery(document).ready(function(e) {
241
+ //default state
242
+ if (jQuery('#toggle-preview').attr('data-toggle') == '1') {
243
+ jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview");
244
+ } else {
245
+ jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview");
246
+ }
247
+ jQuery('#toggle-preview').on('click', function() {
248
+ jQuery('#toggle-preview').attr('data-toggle', jQuery('#toggle-preview').attr('data-toggle') == '1' ? '0' : '1');
249
+ jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview");
250
+ });
251
  function s() {
252
  e.ajax({
253
  method: "GET",
assets/js/seopress-counters.min.js CHANGED
@@ -1 +1 @@
1
- function sp_titles_counters(){var e=jQuery("#seopress_titles_title_meta").val(),s=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),e.length>0?(jQuery("#seopress_titles_title_counters").text(e.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(e))):s.length&&(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))),e.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(e)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),e.length)var t=Math.round(pixelTitle(e)/568*100);else t=Math.round(pixelTitle(s)/568*100);t>=100&&(t=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_title_counters_progress").text(t+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_title_meta").val(),t=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==s.length&&(t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):t.length&&(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))),s.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==s.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),s.length)var i=Math.round(pixelTitle(s)/568*100);else i=Math.round(pixelTitle(t)/568*100);i>=100&&(i=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_title_counters_progress").text(i+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",i+"%")})}function sp_meta_desc_counters(){var e=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(e))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var t=Math.round(pixelDesc(e)/940*100);else t=Math.round(pixelDesc(s)/940*100);t>=100&&(t=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_desc_counters_progress").text(t+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==s.length&&(t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))),s.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==s.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),s.length)var i=Math.round(pixelDesc(s)/940*100);else i=Math.round(pixelDesc(t)/940*100);i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==s.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),s.length)var i=s.length;else i=t.length;i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")})}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_social(){jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var s=jQuery("#seopress_social_fb_title_meta").val();s.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==s.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))}),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",function(e){var s=jQuery("#seopress_social_fb_desc_meta").val();s.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==s.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))}),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",function(e){var s=jQuery("#seopress_social_fb_img_meta").val();s.length>0?(jQuery(".snippet-fb-img-custom img").attr("src",e.target.value),jQuery(".snippet-fb-img").css("display","none"),jQuery(".snippet-fb-img-custom").css("display","block"),jQuery(".snippet-fb-img-default").css("display","none")):0==s.length&&(jQuery(".snippet-fb-img-default").css("display","block"),jQuery(".snippet-fb-img-custom").css("display","none"),jQuery(".snippet-fb-img").css("display","none"))})}function sp_ca_toggle(){var e=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",function(s){e&&(event.stopImmediatePropagation(),event.preventDefault(),e=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()}),jQuery("#expand-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()}),jQuery("#close-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()})}jQuery(document).ready(function(e){function s(){e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:e("#seopress-tabs").attr("data_id"),tax_name:e("#seopress-tabs").attr("data_tax"),origin:e("#seopress-tabs").attr("data_origin"),post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(s){void 0===s.data.og_title?og_title="":og_title=s.data.og_title.values,void 0===s.data.og_desc?og_desc="":og_desc=s.data.og_desc.values,void 0===s.data.og_img?og_img="":og_img=s.data.og_img.values,void 0===s.data.og_url?og_url="":og_url=s.data.og_url.host,void 0===s.data.og_site_name?og_site_name="":og_site_name=s.data.og_site_name.values,void 0===s.data.tw_title?tw_title="":tw_title=s.data.tw_title.values,void 0===s.data.tw_desc?tw_desc="":tw_desc=s.data.tw_desc.values,void 0===s.data.tw_img?tw_img="":tw_img=s.data.tw_img.values;var t={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var i in t)t.length&&(i=t[i].length>1?t[i].slice(-1)[0]:t[i][0]);e("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),e("#seopress_titles_title_meta").attr("placeholder",s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",t.og_title),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(t.og_title),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(t.og_title),e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",t.og_desc),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(t.og_desc),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(t.og_desc),e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",t.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",t.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",t.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(t.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(t.og_site_name),e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",t.tw_title),e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",t.tw_desc),e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",t.tw_img),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}s(),e("#seopress_launch_analysis").on("click",function(){s()}),sp_ca_toggle()});
1
+ function sp_titles_counters(){var e=jQuery("#seopress_titles_title_meta").val(),s=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),e.length>0?(jQuery("#seopress_titles_title_counters").text(e.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(e))):s.length&&(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))),e.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(e)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),e.length)var t=Math.round(pixelTitle(e)/568*100);else t=Math.round(pixelTitle(s)/568*100);t>=100&&(t=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_title_counters_progress").text(t+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_title_meta").val(),t=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==s.length&&(t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):t.length&&(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))),s.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==s.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),s.length)var i=Math.round(pixelTitle(s)/568*100);else i=Math.round(pixelTitle(t)/568*100);i>=100&&(i=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_title_counters_progress").text(i+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",i+"%")})}function sp_meta_desc_counters(){var e=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(e))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var t=Math.round(pixelDesc(e)/940*100);else t=Math.round(pixelDesc(s)/940*100);t>=100&&(t=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_desc_counters_progress").text(t+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==s.length&&(t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))),s.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==s.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),s.length)var i=Math.round(pixelDesc(s)/940*100);else i=Math.round(pixelDesc(t)/940*100);i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==s.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),s.length)var i=s.length;else i=t.length;i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")})}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_social(){jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var s=jQuery("#seopress_social_fb_title_meta").val();s.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==s.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))}),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",function(e){var s=jQuery("#seopress_social_fb_desc_meta").val();s.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==s.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))}),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",function(e){var s=jQuery("#seopress_social_fb_img_meta").val();s.length>0?(jQuery(".snippet-fb-img-custom img").attr("src",e.target.value),jQuery(".snippet-fb-img").css("display","none"),jQuery(".snippet-fb-img-custom").css("display","block"),jQuery(".snippet-fb-img-default").css("display","none")):0==s.length&&(jQuery(".snippet-fb-img-default").css("display","block"),jQuery(".snippet-fb-img-custom").css("display","none"),jQuery(".snippet-fb-img").css("display","none"))})}function sp_ca_toggle(){var e=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",function(s){e&&(event.stopImmediatePropagation(),event.preventDefault(),e=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()}),jQuery("#expand-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()}),jQuery("#close-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()})}jQuery(document).ready(function(e){function s(){e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:e("#seopress-tabs").attr("data_id"),tax_name:e("#seopress-tabs").attr("data_tax"),origin:e("#seopress-tabs").attr("data_origin"),post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(s){void 0===s.data.og_title?og_title="":og_title=s.data.og_title.values,void 0===s.data.og_desc?og_desc="":og_desc=s.data.og_desc.values,void 0===s.data.og_img?og_img="":og_img=s.data.og_img.values,void 0===s.data.og_url?og_url="":og_url=s.data.og_url.host,void 0===s.data.og_site_name?og_site_name="":og_site_name=s.data.og_site_name.values,void 0===s.data.tw_title?tw_title="":tw_title=s.data.tw_title.values,void 0===s.data.tw_desc?tw_desc="":tw_desc=s.data.tw_desc.values,void 0===s.data.tw_img?tw_img="":tw_img=s.data.tw_img.values;var t={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var i in t)t.length&&(i=t[i].length>1?t[i].slice(-1)[0]:t[i][0]);e("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),e("#seopress_titles_title_meta").attr("placeholder",s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",t.og_title),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(t.og_title),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(t.og_title),e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",t.og_desc),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(t.og_desc),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(t.og_desc),e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",t.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",t.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",t.og_img),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(t.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(t.og_site_name),e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",t.tw_title),e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",t.tw_desc),e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",t.tw_img),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}"1"==jQuery("#toggle-preview").attr("data-toggle")?jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview"):jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview"),jQuery("#toggle-preview").on("click",function(){jQuery("#toggle-preview").attr("data-toggle","1"==jQuery("#toggle-preview").attr("data-toggle")?"0":"1"),jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview")}),s(),e("#seopress_launch_analysis").on("click",function(){s()}),sp_ca_toggle()});
assets/js/seopress-dashboard.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(e){e.trim(e("#seopress-notifications-center").html())||e("#seopress-notifications-center").remove();["notice-get-started","notice-wizard","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-go-pro"].forEach(function(s){e("#"+s).on("click",function(){e("#"+s).attr("data-notice","1"==e("#"+s).attr("data-notice")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:s,notice_value:e("#"+s).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(t){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html("Notice successfully removed"),e("#"+s+"-alert").fadeOut(),e("#seopress-notice-save").delay(3500).fadeOut()}})})});["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"].forEach(function(s){e("#toggle-"+s).on("click",function(){e("#toggle-"+s).attr("data-toggle","1"==e("#toggle-"+s).attr("data-toggle")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+s,feature_value:e("#toggle-"+s).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(t){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html(s+" "+seopressAjaxToggleFeatures.i18n),e("#"+s+"-state").toggleClass("feature-state-on"),e("#"+s+"-state-default").toggleClass("feature-state-off"),e("#seopress-notice-save").delay(3500).fadeOut()}})})})});
assets/js/seopress-media-uploader.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(e){["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"].forEach(function(t){var o;e(t+"_upload").click(function(a){a.preventDefault(),o?o.open():((o=wp.media.frames.file_frame=wp.media({title:"Choose Image",button:{text:"Choose Image"},multiple:!1})).on("select",function(){attachment=o.state().get("selection").first().toJSON(),e(t+"_meta").val(attachment.url),e("#seopress_social_fb_img_meta").trigger("keyup")}),o.open())})})});
assets/js/seopress-migrate.js CHANGED
@@ -1,4 +1,27 @@
1
  jQuery(document).ready(function($) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2
  //Yoast SEO
3
  $('#seopress-yoast-migrate').on('click', function(e) {
4
  e.preventDefault();
@@ -163,6 +186,72 @@ jQuery(document).ready(function($) {
163
  $( '#squirrly-migration-tool .log' ).html('');
164
  });
165
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
166
  //Export metadata to CSV
167
  $('#seopress-metadata-export').on('click', function(e6) {
168
  e6.preventDefault();
1
  jQuery(document).ready(function($) {
2
+ //Select toggle
3
+ $('#select-wizard-redirects, #select-wizard-import').change(function(e) {
4
+ e.preventDefault();
5
+
6
+ var select = $(this).val();
7
+
8
+ if (select =='none') {
9
+ $("#select-wizard-redirects option, #select-wizard-import option").each(function() {
10
+ var ids_to_hide = $(this).val();
11
+ $('#'+ids_to_hide).hide();
12
+ });
13
+ } else {
14
+ $("#select-wizard-redirects option:selected, #select-wizard-import option:selected").each(function() {
15
+ var ids_to_show = $(this).val();
16
+ $('#'+ids_to_show).show();
17
+ });
18
+ $("#select-wizard-redirects option:not(:selected), #select-wizard-import option:not(:selected)").each(function() {
19
+ var ids_to_hide = $(this).val();
20
+ $('#'+ids_to_hide).hide();
21
+ });
22
+ }
23
+ }).trigger('change');
24
+
25
  //Yoast SEO
26
  $('#seopress-yoast-migrate').on('click', function(e) {
27
  e.preventDefault();
186
  $( '#squirrly-migration-tool .log' ).html('');
187
  });
188
 
189
+ //SEO Ultimate
190
+ $('#seopress-seo-ultimate-migrate').on('click', function(e7) {
191
+ e7.preventDefault();
192
+ self.process_offset7( 0, self );
193
+ });
194
+ process_offset7 = function( offset7, self ) {
195
+ $.ajax({
196
+ method : 'POST',
197
+ url : seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_seo_ultimate_migration,
198
+ data : {
199
+ action: 'seopress_seo_ultimate_migration',
200
+ offset7: offset7,
201
+ _ajax_nonce: seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_nonce,
202
+ },
203
+ success : function( data ) {
204
+ if( 'done' == data.data.offset7 ) {
205
+ $('#seopress-seo-ultimate-migrate').removeAttr("disabled");
206
+ $( '.spinner' ).css( "visibility", "hidden" );
207
+ $( '#seo-ultimate-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
208
+ } else {
209
+ self.process_offset7( parseInt( data.data.offset7 ), self );
210
+ }
211
+ },
212
+ });
213
+ };
214
+
215
+ $('#seopress-seo-ultimate-migrate').on('click', function() {
216
+ $(this).attr("disabled", "disabled");
217
+ $( '#seo-ultimate-migration-tool .spinner' ).css( "visibility", "visible" );
218
+ $( '#seo-ultimate-migration-tool .spinner' ).css( "float", "none" );
219
+ $( '#seo-ultimate-migration-tool .log' ).html('');
220
+ });
221
+
222
+ //WP Meta SEO
223
+ $('#seopress-wp-meta-seo-migrate').on('click', function(e8) {
224
+ e8.preventDefault();
225
+ self.process_offset8( 0, self );
226
+ });
227
+ process_offset8 = function( offset8, self ) {
228
+ $.ajax({
229
+ method : 'POST',
230
+ url : seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_wp_meta_seo_migration,
231
+ data : {
232
+ action: 'seopress_wp_meta_seo_migration',
233
+ offset8: offset8,
234
+ _ajax_nonce: seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_nonce,
235
+ },
236
+ success : function( data ) {
237
+ if( 'done' == data.data.offset8 ) {
238
+ $('#seopress-wp-meta-seo-migrate').removeAttr("disabled");
239
+ $( '.spinner' ).css( "visibility", "hidden" );
240
+ $( '#wp-meta-seo-migration-tool .log' ).html(seopressAjaxMigrate.i18n.migration);
241
+ } else {
242
+ self.process_offset8( parseInt( data.data.offset8 ), self );
243
+ }
244
+ },
245
+ });
246
+ };
247
+
248
+ $('#seopress-wp-meta-seo-migrate').on('click', function() {
249
+ $(this).attr("disabled", "disabled");
250
+ $( '#wp-meta-seo-migration-tool .spinner' ).css( "visibility", "visible" );
251
+ $( '#wp-meta-seo-migration-tool .spinner' ).css( "float", "none" );
252
+ $( '#wp-meta-seo-migration-tool .log' ).html('');
253
+ });
254
+
255
  //Export metadata to CSV
256
  $('#seopress-metadata-export').on('click', function(e6) {
257
  e6.preventDefault();
assets/js/seopress-migrate.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(s){s("#seopress-yoast-migrate").on("click",function(s){s.preventDefault(),self.process_offset(0,self)}),process_offset=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,data:{action:"seopress_yoast_migration",offset:e,_ajax_nonce:seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce},success:function(e){"done"==e.data.offset?(s("#seopress-yoast-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#yoast-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset(parseInt(e.data.offset),o)}})},s("#seopress-yoast-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#yoast-migration-tool .spinner").css("visibility","visible"),s("#yoast-migration-tool .spinner").css("float","none"),s("#yoast-migration-tool .log").html("")}),s("#seopress-aio-migrate").on("click",function(s){s.preventDefault(),self.process_offset2(0,self)}),process_offset2=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,data:{action:"seopress_aio_migration",offset2:e,_ajax_nonce:seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce},success:function(e){"done"==e.data.offset2?(s("#seopress-aio-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#aio-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset2(parseInt(e.data.offset2),o)}})},s("#seopress-aio-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#aio-migration-tool .spinner").css("visibility","visible"),s("#aio-migration-tool .spinner").css("float","none"),s("#aio-migration-tool .log").html("")}),s("#seopress-seo-framework-migrate").on("click",function(s){s.preventDefault(),self.process_offset3(0,self)}),process_offset3=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,data:{action:"seopress_seo_framework_migration",offset3:e,_ajax_nonce:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce},success:function(e){"done"==e.data.offset3?(s("#seopress-seo-framework-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#seo-framework-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset3(parseInt(e.data.offset3),o)}})},s("#seopress-seo-framework-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#seo-framework-migration-tool .spinner").css("visibility","visible"),s("#seo-framework-migration-tool .spinner").css("float","none"),s("#seo-framework-migration-tool .log").html("")}),s("#seopress-rk-migrate").on("click",function(s){s.preventDefault(),self.process_offset4(0,self)}),process_offset4=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,data:{action:"seopress_rk_migration",offset4:e,_ajax_nonce:seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce},success:function(e){"done"==e.data.offset4?(s("#seopress-rk-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#rk-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset4(parseInt(e.data.offset4),o)}})},s("#seopress-rk-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#rk-migration-tool .spinner").css("visibility","visible"),s("#rk-migration-tool .spinner").css("float","none"),s("#rk-migration-tool .log").html("")}),s("#seopress-squirrly-migrate").on("click",function(s){s.preventDefault(),self.process_offset5(0,self)}),process_offset5=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,data:{action:"seopress_squirrly_migration",offset5:e,_ajax_nonce:seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce},success:function(e){"done"==e.data.offset5?(s("#seopress-squirrly-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#squirrly-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset5(parseInt(e.data.offset5),o)}})},s("#seopress-squirrly-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#squirrly-migration-tool .spinner").css("visibility","visible"),s("#squirrly-migration-tool .spinner").css("float","none"),s("#squirrly-migration-tool .log").html("")}),s("#seopress-metadata-export").on("click",function(s){s.preventDefault(),self.process_offset6(0,self)}),process_offset6=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,data:{action:"seopress_metadata_export",offset6:e,_ajax_nonce:seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce},success:function(e){"done"==e.data.offset6&&""!=e.data.url?(s("#seopress-metadata-export").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#seopress-metadata-tool .log").html(seopressAjaxMigrate.i18n.export),s(location).attr("href",e.data.url)):o.process_offset6(parseInt(e.data.offset6),o)}})},s("#seopress-metadata-export").on("click",function(){s(this).attr("disabled","disabled"),s("#seopress-metadata-tool .spinner").css("visibility","visible"),s("#seopress-metadata-tool .spinner").css("float","none"),s("#seopress-metadata-tool .log").html("")})});
1
+ jQuery(document).ready(function(e){e("#select-wizard-redirects, #select-wizard-import").change(function(s){s.preventDefault(),"none"==e(this).val()?e("#select-wizard-redirects option, #select-wizard-import option").each(function(){var s=e(this).val();e("#"+s).hide()}):(e("#select-wizard-redirects option:selected, #select-wizard-import option:selected").each(function(){var s=e(this).val();e("#"+s).show()}),e("#select-wizard-redirects option:not(:selected), #select-wizard-import option:not(:selected)").each(function(){var s=e(this).val();e("#"+s).hide()}))}).trigger("change"),e("#seopress-yoast-migrate").on("click",function(e){e.preventDefault(),self.process_offset(0,self)}),process_offset=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,data:{action:"seopress_yoast_migration",offset:s,_ajax_nonce:seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce},success:function(s){"done"==s.data.offset?(e("#seopress-yoast-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#yoast-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset(parseInt(s.data.offset),o)}})},e("#seopress-yoast-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#yoast-migration-tool .spinner").css("visibility","visible"),e("#yoast-migration-tool .spinner").css("float","none"),e("#yoast-migration-tool .log").html("")}),e("#seopress-aio-migrate").on("click",function(e){e.preventDefault(),self.process_offset2(0,self)}),process_offset2=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,data:{action:"seopress_aio_migration",offset2:s,_ajax_nonce:seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce},success:function(s){"done"==s.data.offset2?(e("#seopress-aio-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#aio-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset2(parseInt(s.data.offset2),o)}})},e("#seopress-aio-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#aio-migration-tool .spinner").css("visibility","visible"),e("#aio-migration-tool .spinner").css("float","none"),e("#aio-migration-tool .log").html("")}),e("#seopress-seo-framework-migrate").on("click",function(e){e.preventDefault(),self.process_offset3(0,self)}),process_offset3=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,data:{action:"seopress_seo_framework_migration",offset3:s,_ajax_nonce:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce},success:function(s){"done"==s.data.offset3?(e("#seopress-seo-framework-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#seo-framework-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset3(parseInt(s.data.offset3),o)}})},e("#seopress-seo-framework-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#seo-framework-migration-tool .spinner").css("visibility","visible"),e("#seo-framework-migration-tool .spinner").css("float","none"),e("#seo-framework-migration-tool .log").html("")}),e("#seopress-rk-migrate").on("click",function(e){e.preventDefault(),self.process_offset4(0,self)}),process_offset4=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,data:{action:"seopress_rk_migration",offset4:s,_ajax_nonce:seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce},success:function(s){"done"==s.data.offset4?(e("#seopress-rk-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#rk-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset4(parseInt(s.data.offset4),o)}})},e("#seopress-rk-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#rk-migration-tool .spinner").css("visibility","visible"),e("#rk-migration-tool .spinner").css("float","none"),e("#rk-migration-tool .log").html("")}),e("#seopress-squirrly-migrate").on("click",function(e){e.preventDefault(),self.process_offset5(0,self)}),process_offset5=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,data:{action:"seopress_squirrly_migration",offset5:s,_ajax_nonce:seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce},success:function(s){"done"==s.data.offset5?(e("#seopress-squirrly-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#squirrly-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset5(parseInt(s.data.offset5),o)}})},e("#seopress-squirrly-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#squirrly-migration-tool .spinner").css("visibility","visible"),e("#squirrly-migration-tool .spinner").css("float","none"),e("#squirrly-migration-tool .log").html("")}),e("#seopress-seo-ultimate-migrate").on("click",function(e){e.preventDefault(),self.process_offset7(0,self)}),process_offset7=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_seo_ultimate_migration,data:{action:"seopress_seo_ultimate_migration",offset7:s,_ajax_nonce:seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_nonce},success:function(s){"done"==s.data.offset7?(e("#seopress-seo-ultimate-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#seo-ultimate-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset7(parseInt(s.data.offset7),o)}})},e("#seopress-seo-ultimate-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#seo-ultimate-migration-tool .spinner").css("visibility","visible"),e("#seo-ultimate-migration-tool .spinner").css("float","none"),e("#seo-ultimate-migration-tool .log").html("")}),e("#seopress-wp-meta-seo-migrate").on("click",function(e){e.preventDefault(),self.process_offset8(0,self)}),process_offset8=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_wp_meta_seo_migration,data:{action:"seopress_wp_meta_seo_migration",offset8:s,_ajax_nonce:seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_nonce},success:function(s){"done"==s.data.offset8?(e("#seopress-wp-meta-seo-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#wp-meta-seo-migration-tool .log").html(seopressAjaxMigrate.i18n.migration)):o.process_offset8(parseInt(s.data.offset8),o)}})},e("#seopress-wp-meta-seo-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#wp-meta-seo-migration-tool .spinner").css("visibility","visible"),e("#wp-meta-seo-migration-tool .spinner").css("float","none"),e("#wp-meta-seo-migration-tool .log").html("")}),e("#seopress-metadata-export").on("click",function(e){e.preventDefault(),self.process_offset6(0,self)}),process_offset6=function(s,o){e.ajax({method:"POST",url:seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,data:{action:"seopress_metadata_export",offset6:s,_ajax_nonce:seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce},success:function(s){"done"==s.data.offset6&&""!=s.data.url?(e("#seopress-metadata-export").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#seopress-metadata-tool .log").html(seopressAjaxMigrate.i18n.export),e(location).attr("href",s.data.url)):o.process_offset6(parseInt(s.data.offset6),o)}})},e("#seopress-metadata-export").on("click",function(){e(this).attr("disabled","disabled"),e("#seopress-metadata-tool .spinner").css("visibility","visible"),e("#seopress-metadata-tool .spinner").css("float","none"),e("#seopress-metadata-tool .log").html("")})});
assets/js/seopress-network-tabs.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(s){var e=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_robots_tab");"1"==e[1]?(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active")):"2"==e[1]?(s("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),s("#tab_seopress_htaccess").addClass("active")):"3"==e[1]?(s("#tab_seopress_white_label-tab").addClass("nav-tab-active"),s("#tab_seopress_white_label").addClass("active")):a?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+a.split("#tab=")).addClass("active")):(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active"))}s("#seopress-tabs").find("a.nav-tab").click(function(a){a.preventDefault();var t=s(this).attr("href").split("#tab=")[1];s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+t+"-tab").addClass("nav-tab-active"),1==e[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==e[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==e[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",t),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-tag-robots-1, #seopress-tag-robots-2, #seopress-tag-robots-3, #seopress-tag-robots-4, #seopress-tag-robots-5, #seopress-tag-robots-6, #seopress-tag-robots-7").click(function(){s(".seopress_robots_file").val(s(".seopress_robots_file").val()+"\n"+s(this).attr("data-tag"))}),s("#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_flush_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
assets/js/seopress-quick-edit.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !function(e){var t=inlineEditPost.edit;inlineEditPost.edit=function(s){t.apply(this,arguments);var i=0;if("object"==typeof s&&(i=parseInt(this.getId(s))),i>0){var n=e("#edit-"+i),a=(e("#post-"+i),e("#seopress_title-"+i).text()),o=e("#seopress_desc-"+i).text(),p=e("#seopress_tkw-"+i).text(),r=e("#seopress_canonical-"+i).text();n.find('input[name="seopress_title"]').val(a),n.find('textarea[name="seopress_desc"]').val(o),n.find('input[name="seopress_tkw"]').val(p),n.find('input[name="seopress_canonical"]').val(r)}}}(jQuery);
assets/js/seopress-sitemap-ajax.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(s){s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_flush_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
assets/js/seopress-sitemap-video.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(e){function t(){var t;e(".seopress_video_thumbnail_upload").click(function(i){i.preventDefault(),$btn=e(this),t?t.open():(e(this).prev(),(t=wp.media.frames.file_frame=wp.media({title:"Choose Image",button:{text:"Choose Image"},multiple:!1})).on("select",function(){var e=t.state().get("selection").first().toJSON();$btn.prev().val(e.url)}),t.open())})}t();var i=e("#wrap-videos .video:last").clone(),a=!1;function o(){e("#wrap-videos .video").accordion({collapsible:!0,active:!1,heightStyle:"panel"})}e("#wrap-videos .video h3").click(function(e){a&&(e.stopImmediatePropagation(),e.preventDefault(),a=!1)}),o();var r=e("#wrap-videos").attr("data-count");e("#add-video").click(function(){r++;i.clone().find(":input").each(function(){var t=this.id,i=this.name,a=this.id.replace(/^(\w+)\[.*?\]/,"$1["+r+"]");e(this).attr("name",i.replace(/^(\w+)\[.*?\]/,"$1["+r+"]")),e(this).hasClass("seopress_video_thumbnail_upload")||e(this).attr("value",""),e(this).is(":checkbox")?(e(this).parent().attr("for",t.replace(/^(\w+)\[.*?\]/,"$1["+r+"]")),e(this).parent().attr("id",i.replace(/^(\w+)\[.*?\]/,"$1["+r+"]"))):e(this).hasClass("seopress_video_thumbnail_upload")||(e(this).prev().attr("for",t.replace(/^(\w+)\[.*?\]/,"$1["+r+"]")),e(this).prev().attr("id",i.replace(/^(\w+)\[.*?\]/,"$1["+r+"]"))),this.id=a}).end().appendTo("#wrap-videos");return o(),e("#wrap-videos .video").accordion("destroy"),o(),e("[id^=__wp-uploader-id-]").each(function(){e(this).remove()}),t(),!1}),e("#wrap-videos").on("click",".remove-video",function(){return e(this).fadeOut(300,function(){return e(this).parent().parent().parent().parent().remove(),!1}),!1})});
assets/js/seopress-tabs.js CHANGED
@@ -1,18 +1,25 @@
1
  jQuery(document).ready(function($) {
2
- if(typeof sessionStorage!='undefined') {
3
- var seopress_tab_session_storage = sessionStorage.getItem("seopress_titles_tab");
4
- if (seopress_tab_session_storage) {
5
- $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
- $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
-
8
- $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
- $('#'+seopress_tab_session_storage).addClass("active");
10
- } else {
11
- //Default TAB
12
- $('#tab_seopress_titles_home-tab').addClass("nav-tab-active");
13
- $('#tab_seopress_titles_home').addClass("active");
14
- }
15
- };
 
 
 
 
 
 
 
16
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
17
  e.preventDefault();
18
  var hash = $(this).attr('href').split('#tab=')[1];
1
  jQuery(document).ready(function($) {
2
+ var hash = $(location).attr('hash').split('#tab=')[1];
3
+
4
+ if (typeof hash !='undefined') {
5
+ $('#'+hash+'-tab').addClass("nav-tab-active");
6
+ $('#'+hash).addClass("active");
7
+ } else {
8
+ if(typeof sessionStorage!='undefined') {
9
+ var seopress_tab_session_storage = sessionStorage.getItem("seopress_titles_tab");
10
+ if (seopress_tab_session_storage) {
11
+ $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
12
+ $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
13
+
14
+ $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
15
+ $('#'+seopress_tab_session_storage).addClass("active");
16
+ } else {
17
+ //Default TAB
18
+ $('#tab_seopress_titles_home-tab').addClass("nav-tab-active");
19
+ $('#tab_seopress_titles_home').addClass("active");
20
+ }
21
+ }
22
+ };
23
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
24
  e.preventDefault();
25
  var hash = $(this).attr('href').split('#tab=')[1];
assets/js/seopress-tabs.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(s){var t=s(location).attr("hash").split("#tab=")[1];if(void 0!==t)s("#"+t+"-tab").addClass("nav-tab-active"),s("#"+t).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("seopress_titles_tab");e?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+e+"-tab").addClass("nav-tab-active"),s("#"+e).addClass("active")):(s("#tab_seopress_titles_home-tab").addClass("nav-tab-active"),s("#tab_seopress_titles_home").addClass("active"))}s("#seopress-tabs").find("a.nav-tab").click(function(t){t.preventDefault();var e=s(this).attr("href").split("#tab=")[1];s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_titles_tab",e),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+e).addClass("active")}),s("#seopress-tag-site-title").click(function(){s("#seopress_titles_home_site_title").val(s("#seopress_titles_home_site_title").val()+" "+s("#seopress-tag-site-title").attr("data-tag"))}),s("#seopress-tag-site-title-author").click(function(){s("#seopress_titles_archive_post_author").val(s("#seopress_titles_archive_post_author").val()+" "+s("#seopress-tag-site-title-author").attr("data-tag"))}),s("#seopress-tag-site-title-date").click(function(){s("#seopress_titles_archives_date_title").val(s("#seopress_titles_archives_date_title").val()+" "+s("#seopress-tag-site-title-date").attr("data-tag"))}),s("#seopress-tag-site-title-search").click(function(){s("#seopress_titles_archives_search_title").val(s("#seopress_titles_archives_search_title").val()+" "+s("#seopress-tag-site-title-search").attr("data-tag"))}),s("#seopress-tag-site-title-404").click(function(){s("#seopress_titles_archives_404_title").val(s("#seopress_titles_archives_404_title").val()+" "+s("#seopress-tag-site-title-404").attr("data-tag"))}),s("#seopress-tag-site-desc").click(function(){s("#seopress_titles_home_site_title").val(s("#seopress_titles_home_site_title").val()+" "+s("#seopress-tag-site-desc").attr("data-tag"))}),s("#seopress-tag-meta-desc").click(function(){s("#seopress_titles_home_site_desc").val(s("#seopress_titles_home_site_desc").val()+" "+s("#seopress-tag-meta-desc").attr("data-tag"))}),s("#seopress-tag-post-author").click(function(){s("#seopress_titles_archive_post_author").val(s("#seopress_titles_archive_post_author").val()+" "+s("#seopress-tag-post-author").attr("data-tag"))}),s("#seopress-tag-archive-date").click(function(){s("#seopress_titles_archives_date_title").val(s("#seopress_titles_archives_date_title").val()+" "+s("#seopress-tag-archive-date").attr("data-tag"))}),s("#seopress-tag-search-keywords").click(function(){s("#seopress_titles_archives_search_title").val(s("#seopress_titles_archives_search_title").val()+" "+s("#seopress-tag-search-keywords").attr("data-tag"))}),s("#seopress-tag-site-sep").click(function(){s("#seopress_titles_home_site_title").val(s("#seopress_titles_home_site_title").val()+" "+s("#seopress-tag-site-sep").attr("data-tag"))}),s("#seopress-tag-sep-author").click(function(){s("#seopress_titles_archive_post_author").val(s("#seopress_titles_archive_post_author").val()+" "+s("#seopress-tag-sep-author").attr("data-tag"))}),s("#seopress-tag-sep-date").click(function(){s("#seopress_titles_archives_date_title").val(s("#seopress_titles_archives_date_title").val()+" "+s("#seopress-tag-sep-date").attr("data-tag"))}),s("#seopress-tag-sep-search").click(function(){s("#seopress_titles_archives_search_title").val(s("#seopress_titles_archives_search_title").val()+" "+s("#seopress-tag-sep-search").attr("data-tag"))}),s("#seopress-tag-sep-404").click(function(){s("#seopress_titles_archives_404_title").val(s("#seopress_titles_archives_404_title").val()+" "+s("#seopress-tag-sep-404").attr("data-tag"))}),s(".more-tags").click(function(){s("#contextual-help-link").click()})});
assets/js/seopress-tabs2.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(e){e("#seopress-tabs .hidden").removeClass("hidden"),e("#seopress-tabs").tabs(),e("#seopress-tag-single-title").click(function(){e("#seopress_titles_title_meta").val(e("#seopress_titles_title_meta").val()+" "+e("#seopress-tag-single-title").attr("data-tag"))}),e("#seopress-tag-single-site-title").click(function(){e("#seopress_titles_title_meta").val(e("#seopress_titles_title_meta").val()+" "+e("#seopress-tag-single-site-title").attr("data-tag"))}),e("#seopress-tag-single-excerpt").click(function(){e("#seopress_titles_desc_meta").val(e("#seopress_titles_desc_meta").val()+" "+e("#seopress-tag-single-excerpt").attr("data-tag"))}),e("#seopress-tag-single-sep").click(function(){e("#seopress_titles_title_meta").val(e("#seopress_titles_title_meta").val()+" "+e("#seopress-tag-single-sep").attr("data-tag"))})});
assets/js/seopress-tabs3.js CHANGED
@@ -1,17 +1,24 @@
1
  jQuery(document).ready(function($) {
2
- if(typeof sessionStorage!='undefined') {
3
- var seopress_tab_session_storage = sessionStorage.getItem("seopress_social_tab");
4
- if (seopress_tab_session_storage) {
5
- $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
- $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
-
8
- $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
- $('#'+seopress_tab_session_storage).addClass("active");
10
- } else {
11
- //Default TAB
12
- $('#tab_seopress_social_knowledge-tab').addClass("nav-tab-active");
13
- $('#tab_seopress_social_knowledge').addClass("active");
14
- }
 
 
 
 
 
 
 
15
  };
16
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
17
  e.preventDefault();
1
  jQuery(document).ready(function($) {
2
+ var hash = $(location).attr('hash').split('#tab=')[1];
3
+
4
+ if (typeof hash !='undefined') {
5
+ $('#'+hash+'-tab').addClass("nav-tab-active");
6
+ $('#'+hash).addClass("active");
7
+ } else {
8
+ if(typeof sessionStorage!='undefined') {
9
+ var seopress_tab_session_storage = sessionStorage.getItem("seopress_social_tab");
10
+ if (seopress_tab_session_storage) {
11
+ $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
12
+ $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
13
+
14
+ $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
15
+ $('#'+seopress_tab_session_storage).addClass("active");
16
+ } else {
17
+ //Default TAB
18
+ $('#tab_seopress_social_knowledge-tab').addClass("nav-tab-active");
19
+ $('#tab_seopress_social_knowledge').addClass("active");
20
+ }
21
+ }
22
  };
23
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
24
  e.preventDefault();
assets/js/seopress-tabs3.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("seopress_social_tab");e?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active")):(a("#tab_seopress_social_knowledge-tab").addClass("nav-tab-active"),a("#tab_seopress_social_knowledge").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var e=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_social_tab",e),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e).addClass("active")})});
assets/js/seopress-tabs4.js CHANGED
@@ -1,18 +1,25 @@
1
  jQuery(document).ready(function($) {
2
- if(typeof sessionStorage!='undefined') {
3
- var seopress_tab_session_storage = sessionStorage.getItem("seopress_xml_sitemap_tab");
4
- if (seopress_tab_session_storage) {
5
- $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
- $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
-
8
- $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
- $('#'+seopress_tab_session_storage).addClass("active");
10
- } else {
11
- //Default TAB
12
- $('#tab_seopress_xml_sitemap_general-tab').addClass("nav-tab-active");
13
- $('#tab_seopress_xml_sitemap_general').addClass("active");
14
- }
15
- };
 
 
 
 
 
 
 
16
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
17
  e.preventDefault();
18
  var hash = $(this).attr('href').split('#tab=')[1];
1
  jQuery(document).ready(function($) {
2
+ var hash = $(location).attr('hash').split('#tab=')[1];
3
+
4
+ if (typeof hash !='undefined') {
5
+ $('#'+hash+'-tab').addClass("nav-tab-active");
6
+ $('#'+hash).addClass("active");
7
+ } else {
8
+ if(typeof sessionStorage!='undefined') {
9
+ var seopress_tab_session_storage = sessionStorage.getItem("seopress_xml_sitemap_tab");
10
+ if (seopress_tab_session_storage) {
11
+ $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
12
+ $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
13
+
14
+ $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
15
+ $('#'+seopress_tab_session_storage).addClass("active");
16
+ } else {
17
+ //Default TAB
18
+ $('#tab_seopress_xml_sitemap_general-tab').addClass("nav-tab-active");
19
+ $('#tab_seopress_xml_sitemap_general').addClass("active");
20
+ }
21
+ }
22
+ }
23
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
24
  e.preventDefault();
25
  var hash = $(this).attr('href').split('#tab=')[1];
assets/js/seopress-tabs4.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("seopress_xml_sitemap_tab");e?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active")):(a("#tab_seopress_xml_sitemap_general-tab").addClass("nav-tab-active"),a("#tab_seopress_xml_sitemap_general").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var e=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_xml_sitemap_tab",e),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e).addClass("active")})});
assets/js/seopress-tabs5.js CHANGED
@@ -1,18 +1,25 @@
1
  jQuery(document).ready(function($) {
2
- if(typeof sessionStorage!='undefined') {
3
- var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_advanced_advanced");
4
- if (seopress_tab_session_storage) {
5
- $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
- $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
-
8
- $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
- $('#'+seopress_tab_session_storage).addClass("active");
10
- } else {
11
- //Default TAB
12
- $('#tab_seopress_advanced_advanced-tab').addClass("nav-tab-active");
13
- $('#tab_seopress_advanced_advanced').addClass("active");
14
- }
15
- };
 
 
 
 
 
 
 
16
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
17
  e.preventDefault();
18
  var hash = $(this).attr('href').split('#tab=')[1];
1
  jQuery(document).ready(function($) {
2
+ var hash = $(location).attr('hash').split('#tab=')[1];
3
+
4
+ if (typeof hash !='undefined') {
5
+ $('#'+hash+'-tab').addClass("nav-tab-active");
6
+ $('#'+hash).addClass("active");
7
+ } else {
8
+ if(typeof sessionStorage!='undefined') {
9
+ var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_advanced_advanced");
10
+ if (seopress_tab_session_storage) {
11
+ $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
12
+ $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
13
+
14
+ $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
15
+ $('#'+seopress_tab_session_storage).addClass("active");
16
+ } else {
17
+ //Default TAB
18
+ $('#tab_seopress_advanced_advanced-tab').addClass("nav-tab-active");
19
+ $('#tab_seopress_advanced_advanced').addClass("active");
20
+ }
21
+ }
22
+ }
23
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
24
  e.preventDefault();
25
  var hash = $(this).attr('href').split('#tab=')[1];
assets/js/seopress-tabs5.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var e=sessionStorage.getItem("tab_seopress_advanced_advanced");e?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active")):(a("#tab_seopress_advanced_advanced-tab").addClass("nav-tab-active"),a("#tab_seopress_advanced_advanced").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var e=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+e+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_advanced_advanced",e),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+e).addClass("active")})});
assets/js/seopress-tabs6.js CHANGED
@@ -1,18 +1,25 @@
1
  jQuery(document).ready(function($) {
2
- if(typeof sessionStorage!='undefined') {
3
- var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_google_analytics_enable");
4
- if (seopress_tab_session_storage) {
5
- $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
- $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
-
8
- $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
- $('#'+seopress_tab_session_storage).addClass("active");
10
- } else {
11
- //Default TAB
12
- $('#tab_seopress_google_analytics_enable-tab').addClass("nav-tab-active");
13
- $('#tab_seopress_google_analytics_enable').addClass("active");
14
- }
15
- };
 
 
 
 
 
 
 
16
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
17
  e.preventDefault();
18
  var hash = $(this).attr('href').split('#tab=')[1];
1
  jQuery(document).ready(function($) {
2
+ var hash = $(location).attr('hash').split('#tab=')[1];
3
+
4
+ if (typeof hash !='undefined') {
5
+ $('#'+hash+'-tab').addClass("nav-tab-active");
6
+ $('#'+hash).addClass("active");
7
+ } else {
8
+ if(typeof sessionStorage!='undefined') {
9
+ var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_google_analytics_enable");
10
+ if (seopress_tab_session_storage) {
11
+ $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
12
+ $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
13
+
14
+ $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
15
+ $('#'+seopress_tab_session_storage).addClass("active");
16
+ } else {
17
+ //Default TAB
18
+ $('#tab_seopress_google_analytics_enable-tab').addClass("nav-tab-active");
19
+ $('#tab_seopress_google_analytics_enable').addClass("active");
20
+ }
21
+ }
22
+ }
23
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
24
  e.preventDefault();
25
  var hash = $(this).attr('href').split('#tab=')[1];
assets/js/seopress-tabs6.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(a){var e=a(location).attr("hash").split("#tab=")[1];if(void 0!==e)a("#"+e+"-tab").addClass("nav-tab-active"),a("#"+e).addClass("active");else if("undefined"!=typeof sessionStorage){var s=sessionStorage.getItem("tab_seopress_google_analytics_enable");s?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active")):(a("#tab_seopress_google_analytics_enable-tab").addClass("nav-tab-active"),a("#tab_seopress_google_analytics_enable").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(e){e.preventDefault();var s=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+s+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_google_analytics_enable",s),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+s).addClass("active")}),a(".seopress_admin_color_picker").wpColorPicker()});
assets/js/seopress-tabs7.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(s){var e=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_admin_tab");"1"==e[1]?(s("#tab_seopress_notifications-tab").addClass("nav-tab-active"),s("#tab_seopress_notifications").addClass("active")):"2"==e[1]?(s("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),s("#tab_seopress_seo_tools").addClass("active")):"3"==e[1]?(s("#tab_seopress_links-tab").addClass("nav-tab-active"),s("#tab_seopress_links_tools").addClass("active")):a?(s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+a.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+a.split("#tab=")).addClass("active")):(s("#tab_seopress_notifications-tab").addClass("nav-tab-active"),s("#tab_seopress_notifications").addClass("active"))}s("#seopress-admin-tabs").find("a.nav-tab").click(function(a){a.preventDefault();var t=s(this).attr("href").split("#tab=")[1];s("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#"+t+"-tab").addClass("nav-tab-active"),1==e[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_notifications"):2==e[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==e[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_links_tools"):sessionStorage.setItem("seopress_admin_tab",t),s("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-reverse-submit").on("click",function(){s.ajax({method:"GET",url:seopressAjaxReverse.seopress_request_reverse,data:{action:"seopress_request_reverse",_ajax_nonce:seopressAjaxReverse.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-reverse-submit").on("click",function(){s(this).attr("disabled","disabled"),s("#spinner-reverse.spinner").css("visibility","visible"),s("#spinner-reverse.spinner").css("float","none")})});
assets/js/seopress-tabs8.js CHANGED
@@ -1,17 +1,24 @@
1
  jQuery(document).ready(function($) {
2
- if(typeof sessionStorage!='undefined') {
3
- var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_tool_settings");
4
- if (seopress_tab_session_storage) {
5
- $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
6
- $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
7
-
8
- $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
9
- $('#'+seopress_tab_session_storage).addClass("active");
10
- } else {
11
- //Default TAB
12
- $('#tab_seopress_tool_settings-tab').addClass("nav-tab-active");
13
- $('#tab_seopress_tool_settings').addClass("active");
14
- }
 
 
 
 
 
 
 
15
  };
16
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
17
  e.preventDefault();
@@ -26,25 +33,4 @@ jQuery(document).ready(function($) {
26
  $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
27
  $('#'+hash).addClass("active");
28
  });
29
- $('#select-wizard-redirects').change(function(e) {
30
- e.preventDefault();
31
-
32
- var select = $(this).val();
33
-
34
- if (select =='none') {
35
- $("#select-wizard-redirects option").each(function() {
36
- var ids_to_hide = $(this).val();
37
- $('#'+ids_to_hide).hide();
38
- });
39
- } else {
40
- $("#select-wizard-redirects option:selected").each(function() {
41
- var ids_to_show = $(this).val();
42
- $('#'+ids_to_show).show();
43
- });
44
- $("#select-wizard-redirects option:not(:selected)").each(function() {
45
- var ids_to_hide = $(this).val();
46
- $('#'+ids_to_hide).hide();
47
- });
48
- }
49
- }).trigger('change');
50
  });
1
  jQuery(document).ready(function($) {
2
+ var hash = $(location).attr('hash').split('#tab=')[1];
3
+
4
+ if (typeof hash !='undefined') {
5
+ $('#'+hash+'-tab').addClass("nav-tab-active");
6
+ $('#'+hash).addClass("active");
7
+ } else {
8
+ if(typeof sessionStorage !='undefined') {
9
+ var seopress_tab_session_storage = sessionStorage.getItem("tab_seopress_tool_settings");
10
+ if (seopress_tab_session_storage) {
11
+ $('#seopress-tabs').find('.nav-tab.nav-tab-active').removeClass("nav-tab-active");
12
+ $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
13
+
14
+ $('#'+seopress_tab_session_storage+'-tab').addClass("nav-tab-active");
15
+ $('#'+seopress_tab_session_storage).addClass("active");
16
+ } else {
17
+ //Default TAB
18
+ $('#tab_seopress_tool_settings-tab').addClass("nav-tab-active");
19
+ $('#tab_seopress_tool_settings').addClass("active");
20
+ }
21
+ }
22
  };
23
  $("#seopress-tabs").find("a.nav-tab").click(function(e){
24
  e.preventDefault();
33
  $('#seopress-tabs').find('.seopress-tab.active').removeClass("active");
34
  $('#'+hash).addClass("active");
35
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36
  });
assets/js/seopress-tabs8.min.js ADDED
@@ -0,0 +1 @@
 
1
+ jQuery(document).ready(function(a){var s=a(location).attr("hash").split("#tab=")[1];if(void 0!==s)a("#"+s+"-tab").addClass("nav-tab-active"),a("#"+s).addClass("active");else if("undefined"!=typeof sessionStorage){var t=sessionStorage.getItem("tab_seopress_tool_settings");t?(a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+t+"-tab").addClass("nav-tab-active"),a("#"+t).addClass("active")):(a("#tab_seopress_tool_settings-tab").addClass("nav-tab-active"),a("#tab_seopress_tool_settings").addClass("active"))}a("#seopress-tabs").find("a.nav-tab").click(function(s){s.preventDefault();var t=a(this).attr("href").split("#tab=")[1];a("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),a("#"+t+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_tool_settings",t),a("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),a("#"+t).addClass("active")})});
contributors.txt CHANGED
@@ -2,6 +2,7 @@ Great people who contributed to this plugin :
2
 
3
  Developers:
4
  - Benjamin Denis: contact@seopress.org / @wp_seopress
 
5
 
6
  SEO consultant:
7
  - Alan Cladx: @cladxxx
@@ -22,6 +23,7 @@ Integrations:
22
  - The Polylang team
23
  - The WPML team
24
  - The Weglot team
 
25
 
26
  Translators:
27
  - French: Didier Wolforg, @rainbowgeek, and Clément Polito + WP-Translations
2
 
3
  Developers:
4
  - Benjamin Denis: contact@seopress.org / @wp_seopress
5
+ - Julio Potier: @juliobox
6
 
7
  SEO consultant:
8
  - Alan Cladx: @cladxxx
23
  - The Polylang team
24
  - The WPML team
25
  - The Weglot team
26
+ - The TranslatePress team
27
 
28
  Translators:
29
  - French: Didier Wolforg, @rainbowgeek, and Clément Polito + WP-Translations
inc/admin/admin-features-list.php CHANGED
@@ -1,788 +1,449 @@
 
 
 
 
 
 
 
1
  <div class="seopress-page-list">
2
  <div id="seopress-notice-save" style="display: none"><span class="dashicons dashicons-yes"></span><span class="html"></span></div>
3
  <?php
4
- $seopress_feature = apply_filters('seopress_remove_feature_titles', true);
5
- if ($seopress_feature === true) { ?>
6
- <div class="seopress-feature">
7
- <span class="inner">
8
- <div class="img-tool">
9
- <span class="dashicons dashicons-editor-table"></span>
10
- </div>
11
- <h3><?php _e('Titles & metas','wp-seopress'); ?></h3>
12
- <p><?php _e('Manage all your titles & metas for post types, taxonomies, archives...','wp-seopress'); ?></p>
13
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-titles' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
14
- <?php
15
- if(seopress_get_toggle_option('titles')=='1') {
16
- $seopress_get_toggle_titles_option = '1';
17
- } else {
18
- $seopress_get_toggle_titles_option = '0';
19
- }
20
- ?>
21
- <input type="checkbox" name="toggle-titles" id="toggle-titles" class="toggle" data-toggle="<?php echo $seopress_get_toggle_titles_option; ?>">
22
- <label for="toggle-titles"></label>
23
- <?php
24
- if($seopress_get_toggle_titles_option =='1') {
25
- echo '<span id="titles-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
26
- echo '<span id="titles-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
27
- } else {
28
- echo '<span id="titles-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
29
- echo '<span id="titles-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
30
- }
31
- ?>
32
- <?php
33
- if (function_exists('seopress_get_locale')) {
34
- if (seopress_get_locale() =='fr') {
35
- $seopress_docs_link['support']['titles'] = 'https://www.seopress.org/fr/support/guides/gerez-vos-balises-titres-metas/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
36
- } else {
37
- $seopress_docs_link['support']['titles'] = 'https://www.seopress.org/support/guides/manage-titles-meta-descriptions/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
38
- }
39
- }
40
- ?>
41
- <a href="<?php echo $seopress_docs_link['support']['titles']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to manage your titles and meta descriptions - new window','wp-seopress'); ?></span></a>
42
- </span>
43
- </div>
44
- <?php
45
- }
46
- $seopress_feature = apply_filters('seopress_remove_feature_xml_sitemap', true);
47
- if ($seopress_feature === true) { ?>
48
- <div class="seopress-feature">
49
- <span class="inner">
50
- <div class="img-tool">
51
- <span class="dashicons dashicons-media-spreadsheet"></span>
52
- </div>
53
- <h3><?php _e('XML / Image / Video / HTML Sitemap','wp-seopress'); ?></h3>
54
- <p><?php _e('Manage your XML / Image / Video / HTML Sitemap','wp-seopress'); ?></p>
55
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-xml-sitemap' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
56
- <?php
57
- if(seopress_get_toggle_option('xml-sitemap')=='1') {
58
- $seopress_get_toggle_xml_sitemap_option = '1';
59
- } else {
60
- $seopress_get_toggle_xml_sitemap_option = '0';
61
- }
62
- ?>
63
- <input type="checkbox" name="toggle-xml-sitemap" id="toggle-xml-sitemap" class="toggle" data-toggle="<?php echo $seopress_get_toggle_xml_sitemap_option; ?>">
64
- <label for="toggle-xml-sitemap"></label>
65
- <?php
66
- if($seopress_get_toggle_xml_sitemap_option =='1') {
67
- echo '<span id="xml-sitemap-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
68
- echo '<span id="xml-sitemap-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
69
- } else {
70
- echo '<span id="xml-sitemap-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
71
- echo '<span id="xml-sitemap-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
72
- }
73
- ?>
74
- <?php
75
- if (function_exists('seopress_get_locale')) {
76
- if (seopress_get_locale() =='fr') {
77
- $seopress_docs_link['support']['sitemaps'] = 'https://www.seopress.org/fr/support/guides/activer-sitemap-xml/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
78
- } else {
79
- $seopress_docs_link['support']['sitemaps'] = 'https://www.seopress.org/support/guides/enable-xml-sitemaps/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
80
- }
81
- }
82
- ?>
83
- <a href="<?php echo $seopress_docs_link['support']['sitemaps']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to enable your XML Sitemaps - new window','wp-seopress'); ?></span></a>
84
- </span>
85
- </div>
86
- <?php
87
- }
88
- $seopress_feature = apply_filters('seopress_remove_feature_social', true);
89
- if ($seopress_feature === true) { ?>
90
- <div class="seopress-feature">
91
- <span class="inner">
92
- <div class="img-tool">
93
- <span class="dashicons dashicons-share"></span>
94
- </div>
95
- <h3><?php _e('Social Networks','wp-seopress'); ?></h3>
96
- <p><?php _e('Open Graph, Twitter Card, Google Knowledge Graph and more...','wp-seopress'); ?></p>
97
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-social' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
98
- <?php
99
- if(seopress_get_toggle_option('social')=='1') {
100
- $seopress_get_toggle_social_option = '1';
101
- } else {
102
- $seopress_get_toggle_social_option = '0';
103
- }
104
- ?>
105
- <input type="checkbox" name="toggle-social" id="toggle-social" class="toggle" data-toggle="<?php echo $seopress_get_toggle_social_option; ?>">
106
- <label for="toggle-social"></label>
107
- <?php
108
- if($seopress_get_toggle_social_option =='1') {
109
- echo '<span id="social-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
110
- echo '<span id="social-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
111
- } else {
112
- echo '<span id="social-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
113
- echo '<span id="social-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
114
- }
115
- ?>
116
- <?php
117
- if (function_exists('seopress_get_locale')) {
118
- if (seopress_get_locale() =='fr') {
119
- $seopress_docs_link['support']['knowledge'] = 'https://www.seopress.org/fr/support/guides/activer-google-knowledge-graph/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
120
- } else {
121
- $seopress_docs_link['support']['knowledge'] = 'https://www.seopress.org/support/guides/enable-google-knowledge-graph/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
122
- }
123
- }
124
- ?>
125
- <a href="<?php echo $seopress_docs_link['support']['knowledge']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to enable Google Knowledge Graph - new window','wp-seopress'); ?></span></a>
126
- </span>
127
- </div>
128
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  }
130
- $seopress_feature = apply_filters('seopress_remove_feature_google_analytics', true);
131
- if ($seopress_feature === true) { ?>
132
- <div class="seopress-feature">
133
- <span class="inner">
134
- <div class="img-tool">
135
- <span class="dashicons dashicons-chart-area"></span>
136
- </div>
137
- <h3><?php _e('Google Analytics','wp-seopress'); ?></h3>
138
- <p><?php _e('Track everything about your visitors with Google Analytics','wp-seopress'); ?></p>
139
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-google-analytics' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
140
- <?php
141
- if(seopress_get_toggle_option('google-analytics')=='1') {
142
- $seopress_get_toggle_google_analytics_option = '1';
143
- } else {
144
- $seopress_get_toggle_google_analytics_option = '0';
145
- }
146
- ?>
147
- <input type="checkbox" name="toggle-google-analytics" id="toggle-google-analytics" class="toggle" data-toggle="<?php echo $seopress_get_toggle_google_analytics_option; ?>">
148
- <label for="toggle-google-analytics"></label>
149
- <?php
150
- if($seopress_get_toggle_google_analytics_option =='1') {
151
- echo '<span id="google-analytics-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
152
- echo '<span id="google-analytics-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
153
- } else {
154
- echo '<span id="google-analytics-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
155
- echo '<span id="google-analytics-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
156
- }
157
- ?>
158
- <?php
159
- if (function_exists('seopress_get_locale')) {
160
- if (seopress_get_locale() =='fr') {
161
- $seopress_docs_link['support']['analytics'] = 'https://www.seopress.org/fr/support/guides/debutez-google-analytics/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
162
- } else {
163
- $seopress_docs_link['support']['analytics'] = 'https://www.seopress.org/support/guides/google-analytics/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
164
- }
165
- }
166
- ?>
167
- <a href="<?php echo $seopress_docs_link['support']['analytics']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to getting started with Google Analytics - new window','wp-seopress'); ?></span></a>
168
- </span>
169
- </div>
170
- <?php
171
  }
172
- $seopress_feature = apply_filters('seopress_remove_feature_advanced', true);
173
- if ($seopress_feature === true) { ?>
174
- <div class="seopress-feature">
175
- <span class="inner">
176
- <div class="img-tool">
177
- <span class="dashicons dashicons-admin-tools"></span>
178
- </div>
179
- <h3><?php _e('Advanced','wp-seopress'); ?></h3>
180
- <p><?php _e('Advanced SEO options for advanced users!','wp-seopress'); ?></p>
181
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-advanced' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
182
- <?php
183
- if(seopress_get_toggle_option('advanced')=='1') {
184
- $seopress_get_toggle_advanced_option = '1';
185
- } else {
186
- $seopress_get_toggle_advanced_option = '0';
187
- }
188
- ?>
189
- <input type="checkbox" name="toggle-advanced" id="toggle-advanced" class="toggle" data-toggle="<?php echo $seopress_get_toggle_advanced_option; ?>">
190
- <label for="toggle-advanced"></label>
191
- <?php
192
- if($seopress_get_toggle_advanced_option =='1') {
193
- echo '<span id="advanced-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
194
- echo '<span id="advanced-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
195
- } else {
196
- echo '<span id="advanced-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
197
- echo '<span id="advanced-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
198
- }
199
- ?>
200
- </span>
201
- </div>
202
- <?php
203
- }
204
- ?>
205
- <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
206
- $seopress_feature = apply_filters('seopress_remove_feature_woocommerce', true);
207
- if ($seopress_feature === true) { ?>
208
- <div class="seopress-feature">
209
- <span class="inner">
210
- <div class="img-tool">
211
- <span class="dashicons dashicons-cart"></span>
212
- </div>
213
- <h3><?php _e('WooCommerce','wp-seopress'); ?></h3>
214
- <p><?php _e('Improve WooCommerce SEO','wp-seopress'); ?></p>
215
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_woocommerce$1' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
216
- <?php
217
- if(seopress_get_toggle_option('woocommerce')=='1') {
218
- $seopress_get_toggle_woocommerce_option = '1';
219
- } else {
220
- $seopress_get_toggle_woocommerce_option = '0';
221
- }
222
- ?>
223
- <input type="checkbox" name="toggle-woocommerce" id="toggle-woocommerce" class="toggle" data-toggle="<?php echo $seopress_get_toggle_woocommerce_option; ?>">
224
- <label for="toggle-woocommerce"></label>
225
- <?php
226
- if($seopress_get_toggle_woocommerce_option =='1') {
227
- echo '<span id="woocommerce-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
228
- echo '<span id="woocommerce-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
229
- } else {
230
- echo '<span id="woocommerce-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
231
- echo '<span id="woocommerce-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
232
- }
233
- ?>
234
 
235
- <?php
236
- if (function_exists('seopress_get_locale')) {
237
- if (seopress_get_locale() =='fr') {
238
- $seopress_docs_link['support']['wc'] = 'https://www.seopress.org/fr/blog/woocommerce-seo-seopress-le-guide/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
239
- } else {
240
- $seopress_docs_link['support']['wc'] = 'https://www.seopress.org/blog/woocommerce-seo-seopress/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
241
- }
242
- }
243
- ?>
244
- <a href="<?php echo $seopress_docs_link['support']['wc']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to optimize your WooCommerce SEO - new window','wp-seopress'); ?></span></a>
245
- </span>
246
- </div>
247
- <?php
248
- }
249
- $seopress_feature = apply_filters('seopress_remove_feature_edd', true);
250
- if ($seopress_feature === true) { ?>
251
- <div class="seopress-feature">
252
- <span class="inner">
253
- <div class="img-tool">
254
- <span class="dashicons dashicons-cart"></span>
255
- </div>
256
- <h3><?php _e('Easy Digital Downloads','wp-seopress'); ?></h3>
257
- <p><?php _e('Improve Easy Digital Downloads SEO','wp-seopress'); ?></p>
258
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_edd$13' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
259
- <?php
260
- if(seopress_get_toggle_option('edd')=='1') {
261
- $seopress_get_toggle_edd_option = '1';
262
- } else {
263
- $seopress_get_toggle_edd_option = '0';
264
- }
265
- ?>
266
- <input type="checkbox" name="toggle-edd" id="toggle-edd" class="toggle" data-toggle="<?php echo $seopress_get_toggle_edd_option; ?>">
267
- <label for="toggle-edd"></label>
268
- <?php
269
- if($seopress_get_toggle_edd_option =='1') {
270
- echo '<span id="edd-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
271
- echo '<span id="edd-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
272
- } else {
273
- echo '<span id="edd-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
274
- echo '<span id="edd-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
275
- }
276
- ?>
277
- </span>
278
- </div>
279
- <?php
280
- }
281
- $seopress_feature = apply_filters('seopress_remove_feature_local_business', true);
282
- if ($seopress_feature === true) { ?>
283
- <div class="seopress-feature">
284
- <span class="inner">
285
- <div class="img-tool">
286
- <span class="dashicons dashicons-store"></span>
287
- </div>
288
- <h3><?php _e('Local Business','wp-seopress'); ?></h3>
289
- <p><?php _e('Add Google Local Business data type','wp-seopress'); ?></p>
290
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_local_business$10' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
291
- <?php
292
- if(seopress_get_toggle_option('local-business')=='1') {
293
- $seopress_get_toggle_local_business_option = '1';
294
- } else {
295
- $seopress_get_toggle_local_business_option = '0';
296
- }
297
- ?>
298
- <input type="checkbox" name="toggle-local-business" id="toggle-local-business" class="toggle" data-toggle="<?php echo $seopress_get_toggle_local_business_option; ?>">
299
- <label for="toggle-local-business"></label>
300
- <?php
301
- if($seopress_get_toggle_local_business_option =='1') {
302
- echo '<span id="local-business-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
303
- echo '<span id="local-business-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
304
- } else {
305
- echo '<span id="local-business-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
306
- echo '<span id="local-business-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
307
- }
308
- ?>
309
- </span>
310
- </div>
311
- <?php
312
- }
313
- $seopress_feature = apply_filters('seopress_remove_feature_dublin_core', true);
314
- if ($seopress_feature === true) { ?>
315
- <div class="seopress-feature">
316
- <span class="inner">
317
- <div class="img-tool">
318
- <span class="dashicons dashicons-welcome-learn-more"></span>
319
- </div>
320
- <h3><?php _e('Dublin Core','wp-seopress'); ?></h3>
321
- <p><?php _e('Add Dublin Core meta tags','wp-seopress'); ?></p>
322
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_dublin_core$8' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
323
- <?php
324
- if(seopress_get_toggle_option('dublin-core')=='1') {
325
- $seopress_get_toggle_dublin_core_option = '1';
326
- } else {
327
- $seopress_get_toggle_dublin_core_option = '0';
328
- }
329
- ?>
330
- <input type="checkbox" name="toggle-dublin-core" id="toggle-dublin-core" class="toggle" data-toggle="<?php echo $seopress_get_toggle_dublin_core_option; ?>">
331
- <label for="toggle-dublin-core"></label>
332
- <?php
333
- if($seopress_get_toggle_dublin_core_option =='1') {
334
- echo '<span id="dublin-core-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
335
- echo '<span id="dublin-core-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
336
- } else {
337
- echo '<span id="dublin-core-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
338
- echo '<span id="dublin-core-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
339
- }
340
- ?>
341
- </span>
342
- </div>
343
- <?php
344
- }
345
- $seopress_feature = apply_filters('seopress_remove_feature_schemas', true);
346
- if ($seopress_feature === true) { ?>
347
- <div class="seopress-feature">
348
- <span class="inner">
349
- <div class="img-tool">
350
- <span class="dashicons dashicons-media-spreadsheet"></span>
351
- </div>
352
- <h3><?php _e('Structured Data Types','wp-seopress'); ?></h3>
353
- <p><?php _e('Add data types to your content: articles, courses, recipes, videos, events, products and more.','wp-seopress'); ?></p>
354
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_rich_snippets$9' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
355
- <a class="button-secondary view-redirects" href="<?php echo admin_url( 'edit.php?post_type=seopress_schemas' ); ?>"><?php _e('See schemas','wp-seopress'); ?></a>
356
- <?php
357
- if(seopress_get_toggle_option('rich-snippets')=='1') {
358
- $seopress_get_toggle_rich_snippets_option = '1';
359
- } else {
360
- $seopress_get_toggle_rich_snippets_option = '0';
361
- }
362
- ?>
363
- <input type="checkbox" name="toggle-rich-snippets" id="toggle-rich-snippets" class="toggle" data-toggle="<?php echo $seopress_get_toggle_rich_snippets_option; ?>">
364
- <label for="toggle-rich-snippets"></label>
365
- <?php
366
- if($seopress_get_toggle_rich_snippets_option =='1') {
367
- echo '<span id="rich-snippets-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
368
- echo '<span id="rich-snippets-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
369
- } else {
370
- echo '<span id="rich-snippets-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
371
- echo '<span id="rich-snippets-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
372
- }
373
- ?>
374
- <?php
375
- if (function_exists('seopress_get_locale')) {
376
- if (seopress_get_locale() =='fr') {
377
- $seopress_docs_link['support']['schema'] = 'https://www.seopress.org/fr/support/guides/#types-de-donnees-structurees?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
378
- } else {
379
- $seopress_docs_link['support']['schema'] = 'https://www.seopress.org/support/guides/#structured-data-types?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
380
- }
381
- }
382
- ?>
383
- <a href="<?php echo $seopress_docs_link['support']['schema']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to add schemas with SEOPress PRO - new window','wp-seopress'); ?></span></a>
384
- </span>
385
- </div>
386
- <?php
387
- }
388
- $seopress_feature = apply_filters('seopress_remove_feature_breadcrumbs', true);
389
- if ($seopress_feature === true) { ?>
390
- <div class="seopress-feature">
391
- <span class="inner">
392
- <div class="img-tool">
393
- <span class="dashicons dashicons-feedback"></span>
394
- </div>
395
- <h3><?php _e('Breadcrumbs','wp-seopress'); ?></h3>
396
- <p><?php _e('Enable Breadcrumbs for your theme and improve your SEO in SERPs','wp-seopress'); ?></p>
397
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_breadcrumbs$2' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
398
- <?php
399
- if(seopress_get_toggle_option('breadcrumbs')=='1') {
400
- $seopress_get_toggle_breadcrumbs_option = '1';
401
- } else {
402
- $seopress_get_toggle_breadcrumbs_option = '0';
403
- }
404
- ?>
405
- <input type="checkbox" name="toggle-breadcrumbs" id="toggle-breadcrumbs" class="toggle" data-toggle="<?php echo $seopress_get_toggle_breadcrumbs_option; ?>">
406
- <label for="toggle-breadcrumbs"></label>
407
- <?php
408
- if($seopress_get_toggle_breadcrumbs_option =='1') {
409
- echo '<span id="breadcrumbs-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
410
- echo '<span id="breadcrumbs-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
411
- } else {
412
- echo '<span id="breadcrumbs-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
413
- echo '<span id="breadcrumbs-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
414
- }
415
- ?>
416
- <?php
417
- if (function_exists('seopress_get_locale')) {
418
- if (seopress_get_locale() =='fr') {
419
- $seopress_docs_link['support']['breadcrumbs'] = 'https://www.seopress.org/fr/support/guides/activer-fil-dariane/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
420
- } else {
421
- $seopress_docs_link['support']['breadcrumbs'] = 'https://www.seopress.org/support/guides/enable-breadcrumbs/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
422
- }
423
- }
424
- ?>
425
- <a href="<?php echo $seopress_docs_link['support']['breadcrumbs']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to enable Breadcrumbs - new window','wp-seopress'); ?></span></a>
426
- </span>
427
- </div>
428
- <?php
429
- }
430
- $seopress_feature = apply_filters('seopress_remove_feature_page_speed', true);
431
- if ($seopress_feature === true) { ?>
432
- <div class="seopress-feature">
433
- <span class="inner">
434
- <div class="img-tool">
435
- <span class="dashicons dashicons-performance"></span>
436
- </div>
437
- <h3><?php _e('Google Page Speed','wp-seopress'); ?></h3>
438
- <p><?php _e('Track your website performance to improve SEO with Google Page Speed','wp-seopress'); ?></p>
439
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_page_speed$3' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
440
- <?php
441
- if (function_exists('seopress_get_locale')) {
442
- if (seopress_get_locale() =='fr') {
443
- $seopress_docs_link['support']['page_speed'] = 'https://www.seopress.org/fr/support/guides/analyser-site-google-page-speed/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
444
- } else {
445
- $seopress_docs_link['support']['page_speed'] = 'https://www.seopress.org/support/guides/analyse-site-google-page-speed/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
446
- }
447
- }
448
- ?>
449
- <a href="<?php echo $seopress_docs_link['support']['page_speed']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to analyze your site with Google Page Speed - new window','wp-seopress'); ?></span></a>
450
- </span>
451
- </div>
452
- <?php
453
- } ?>
454
- <?php if (!is_multisite()) { ?>
455
- <?php
456
- $seopress_feature = apply_filters('seopress_remove_feature_robots', true);
457
- if ($seopress_feature === true) { ?>
458
- <div class="seopress-feature">
459
- <span class="inner">
460
- <div class="img-tool">
461
- <span class="dashicons dashicons-media-text"></span>
462
- </div>
463
- <h3><?php _e('robots.txt','wp-seopress'); ?></h3>
464
- <p><?php _e('Edit your robots.txt file','wp-seopress'); ?></p>
465
- <a href="<?php get_home_url(); ?>/robots.txt" class="button-secondary view-redirects" target="_blank"><?php _e('View your robots.txt','wp-seopress-pro'); ?></a>
466
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_robots$4' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
467
- <?php
468
- if(seopress_get_toggle_option('robots')=='1') {
469
- $seopress_get_toggle_robots_option = '1';
470
- } else {
471
- $seopress_get_toggle_robots_option = '0';
472
- }
473
- ?>
474
-
475
- <input type="checkbox" name="toggle-robots" id="toggle-robots" class="toggle" data-toggle="<?php echo $seopress_get_toggle_robots_option; ?>">
476
- <label for="toggle-robots"></label>
477
- <?php
478
- if($seopress_get_toggle_robots_option =='1') {
479
- echo '<span id="robots-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
480
- echo '<span id="robots-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
481
- } else {
482
- echo '<span id="robots-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
483
- echo '<span id="robots-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
484
- }
485
- ?>
486
- <?php
487
- if (function_exists('seopress_get_locale')) {
488
- if (seopress_get_locale() =='fr') {
489
- $seopress_docs_link['support']['robots'] = 'https://www.seopress.org/fr/support/guides/editer-fichier-robots-txt/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
490
- } else {
491
- $seopress_docs_link['support']['robots'] = 'https://www.seopress.org/support/guides/edit-robots-txt-file/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
492
  }
493
  }
494
- ?>
495
- <a href="<?php echo $seopress_docs_link['support']['robots']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to edit your robots.txt file - new window','wp-seopress'); ?></span></a>
496
- </span>
497
- </div>
498
- <?php
499
- }
500
- }
501
- $seopress_feature = apply_filters('seopress_remove_feature_news', true);
502
- if ($seopress_feature === true) { ?>
503
- <div class="seopress-feature">
504
- <span class="inner">
505
- <div class="img-tool">
506
- <span class="dashicons dashicons-admin-post"></span>
507
- </div>
508
- <h3><?php _e('Google News Sitemap','wp-seopress'); ?></h3>
509
- <p><?php _e('Optimize your site for Google News','wp-seopress'); ?></p>
510
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_news$5' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
511
- <?php
512
- if(seopress_get_toggle_option('news')=='1') {
513
- $seopress_get_toggle_news_option = '1';
514
- } else {
515
- $seopress_get_toggle_news_option = '0';
516
- }
517
- ?>
518
- <input type="checkbox" name="toggle-news" id="toggle-news" class="toggle" data-toggle="<?php echo $seopress_get_toggle_news_option; ?>">
519
- <label for="toggle-news"></label>
520
- <?php
521
- if($seopress_get_toggle_news_option =='1') {
522
- echo '<span id="news-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
523
- echo '<span id="news-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
524
- } else {
525
- echo '<span id="news-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
526
- echo '<span id="news-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
527
- }
528
- ?>
529
- <?php
530
- if (function_exists('seopress_get_locale')) {
531
- if (seopress_get_locale() =='fr') {
532
- $seopress_docs_link['support']['gnews'] = 'https://www.seopress.org/fr/support/guides/activer-plan-de-site-xml-google-news/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
533
- } else {
534
- $seopress_docs_link['support']['gnews'] = 'https://www.seopress.org/support/guides/enable-google-news-xml-sitemap/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
535
- }
536
- }
537
- ?>
538
- <a href="<?php echo $seopress_docs_link['support']['gnews']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to activate Google News XML sitemap with SEOPress PRO - new window','wp-seopress'); ?></span></a>
539
- </span>
540
- </div>
541
- <?php
542
- }
543
- $seopress_feature = apply_filters('seopress_remove_feature_schemas', true);
544
- if ($seopress_feature === true) { ?>
545
- <div class="seopress-feature">
546
- <span class="inner">
547
- <div class="img-tool">
548
- <span class="dashicons dashicons-media-spreadsheet"></span>
549
- </div>
550
- <h3><?php _e('Schemas','wp-seopress'); ?></h3>
551
- <p><?php _e('Create / manage your schemas','wp-seopress'); ?></p>
552
- <a class="button-secondary view-redirects" href="<?php echo admin_url( 'edit.php?post_type=seopress_schemas' ); ?>"><?php _e('See schemas','wp-seopress'); ?></a>
553
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_schemas$9' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
554
-
555
- <?php
556
- if (function_exists('seopress_get_locale')) {
557
- if (seopress_get_locale() =='fr') {
558
- $seopress_docs_link['support']['schema'] = 'https://www.seopress.org/fr/support/guides/#types-de-donnees-structurees?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
559
- } else {
560
- $seopress_docs_link['support']['schema'] = 'https://www.seopress.org/support/guides/#structured-data-types?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
561
- }
562
- }
563
- ?>
564
- <a href="<?php echo $seopress_docs_link['support']['schema']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to add schemas with SEOPress PRO - new window','wp-seopress'); ?></span></a>
565
- </span>
566
- </div>
567
- <?php
568
- }
569
- $seopress_feature = apply_filters('seopress_remove_feature_redirects', true);
570
- if ($seopress_feature === true) { ?>
571
- <div class="seopress-feature">
572
- <span class="inner">
573
- <div class="img-tool">
574
- <span class="dashicons dashicons-admin-links"></span>
575
- </div>
576
- <h3><?php _e('Redirections','wp-seopress'); ?></h3>
577
- <p><?php _e('Monitor 404, create 301, 302 and 307 redirections','wp-seopress'); ?></p>
578
- <a class="button-secondary view-redirects" href="<?php echo admin_url( 'edit.php?post_type=seopress_404' ); ?>"><?php _e('See redirects','wp-seopress'); ?></a>
579
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_404$6' ); ?>"><?php _e('Manage','wp-seopress'); ?></a><br><br>
580
- <?php
581
- if(seopress_get_toggle_option('404')=='1') {
582
- $seopress_get_toggle_404_option = '1';
583
- } else {
584
- $seopress_get_toggle_404_option = '0';
585
- }
586
- ?>
587
- <input type="checkbox" name="toggle-404" id="toggle-404" class="toggle" data-toggle="<?php echo $seopress_get_toggle_404_option; ?>">
588
- <label for="toggle-404"></label>
589
- <?php
590
- if($seopress_get_toggle_404_option =='1') {
591
- echo '<span id="404-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
592
- echo '<span id="404-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
593
- } else {
594
- echo '<span id="404-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
595
- echo '<span id="404-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
596
- }
597
- ?>
598
- <?php
599
- if (function_exists('seopress_get_locale')) {
600
- if (seopress_get_locale() =='fr') {
601
- $seopress_docs_link['support']['redirections'] = 'https://www.seopress.org/fr/support/guides/activer-redirections-301-surveillance-404/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
602
- } else {
603
- $seopress_docs_link['support']['redirections'] = 'https://www.seopress.org/support/guides/redirections/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
604
- }
605
- }
606
- ?>
607
- <a href="<?php echo $seopress_docs_link['support']['redirections']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to enable 301 redirections and 404 monitoring - new window','wp-seopress'); ?></span></a>
608
- </span>
609
- </div>
610
- <?php
611
- }
612
- $seopress_feature = apply_filters('seopress_remove_feature_bot', true);
613
- if ($seopress_feature === true) { ?>
614
- <div class="seopress-feature">
615
- <span class="inner">
616
- <div class="img-tool">
617
- <span class="dashicons dashicons-admin-generic"></span>
618
- </div>
619
- <h3><?php _e('Broken links','wp-seopress'); ?></h3>
620
- <p><?php _e('Scan your site to find SEO problems.','wp-seopress'); ?></p>
621
- <a class="button-secondary view-redirects" href="<?php echo admin_url( 'edit.php?post_type=seopress_bot' ); ?>"><?php _e('See broken links','wp-seopress'); ?></a>
622
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-bot-batch' ); ?>"><?php _e('Scan','wp-seopress'); ?></a>
623
- <?php
624
- if(seopress_get_toggle_option('bot')=='1') {
625
- $seopress_get_toggle_bot_option = '1';
626
- } else {
627
- $seopress_get_toggle_bot_option = '0';
628
- }
629
- ?>
630
- <input type="checkbox" name="toggle-bot" id="toggle-bot" class="toggle" data-toggle="<?php echo $seopress_get_toggle_bot_option; ?>">
631
- <label for="toggle-bot"></label>
632
- <?php
633
- if($seopress_get_toggle_bot_option =='1') {
634
- echo '<span id="bot-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
635
- echo '<span id="bot-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
636
- } else {
637
- echo '<span id="bot-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
638
- echo '<span id="bot-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
639
- }
640
- ?>
641
- <?php
642
- if (function_exists('seopress_get_locale')) {
643
- if (seopress_get_locale() =='fr') {
644
- $seopress_docs_link['support']['broken'] = 'https://www.seopress.org/fr/support/guides/detecter-liens-casses/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
645
- } else {
646
- $seopress_docs_link['support']['broken'] = 'https://www.seopress.org/support/guides/detect-broken-links/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
647
- }
648
- }
649
- ?>
650
- <a href="<?php echo $seopress_docs_link['support']['broken']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to find broken links with SEOPress PRO - new window','wp-seopress'); ?></span></a>
651
- </span>
652
- </div>
653
- <?php
654
- }
655
- $seopress_feature = apply_filters('seopress_remove_feature_backlinks', true);
656
- if ($seopress_feature === true) { ?>
657
- <div class="seopress-feature">
658
- <span class="inner">
659
- <div class="img-tool">
660
- <span class="dashicons dashicons-admin-links"></span>
661
- </div>
662
- <h3><?php _e('Backlinks','wp-seopress'); ?></h3>
663
- <p><?php _e('Check your backlinks with Majestic API.','wp-seopress'); ?></p>
664
- <a class="button-secondary view-redirects" href="<?php echo admin_url( 'edit.php?post_type=seopress_backlinks' ); ?>"><?php _e('See backlinks','wp-seopress'); ?></a>
665
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_backlinks$12' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
666
- </span>
667
- </div>
668
- <?php
669
- }
670
- $seopress_feature = apply_filters('seopress_remove_feature_rewrite', true);
671
- if ($seopress_feature === true) { ?>
672
- <div class="seopress-feature">
673
- <span class="inner">
674
- <div class="img-tool">
675
- <span class="dashicons dashicons-admin-links"></span>
676
- </div>
677
- <h3><?php _e('URL Rewriting','wp-seopress'); ?></h3>
678
- <p><?php _e('Customize your permalinks.','wp-seopress'); ?></p>
679
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_rewrite$14' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
680
- <?php
681
- if(function_exists('seopress_get_toggle_option') && seopress_get_toggle_option('rewrite')=='1') {
682
- $seopress_get_toggle_rewrite_option = '1';
683
- } else {
684
- $seopress_get_toggle_rewrite_option = '0';
685
- }
686
- ?>
687
 
688
- <input type="checkbox" name="toggle-rewrite" id="toggle-rewrite" class="toggle" data-toggle="<?php echo $seopress_get_toggle_rewrite_option; ?>">
689
- <label for="toggle-rewrite"></label>
690
-
691
- <?php
692
- if($seopress_get_toggle_rewrite_option =='1') {
693
- echo '<span id="rewrite-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
694
- echo '<span id="rewrite-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
695
- } else {
696
- echo '<span id="rewrite-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable this feature','wp-seopress').'</span>';
697
- echo '<span id="rewrite-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable this feature','wp-seopress').'</span>';
698
- }
699
- ?>
700
- </span>
701
- </div>
702
- <?php
703
- }
704
- if (!is_multisite()) {
705
- $seopress_feature = apply_filters('seopress_remove_feature_htaccess', true);
706
- if ($seopress_feature === true) {
707
- ?>
708
- <div class="seopress-feature">
709
- <span class="inner">
710
- <div class="img-tool">
711
- <span class="dashicons dashicons-media-text"></span>
712
- </div>
713
- <h3><?php _e('.htaccess','wp-seopress'); ?></h3>
714
- <p><?php _e('Edit your htaccess file.','wp-seopress'); ?></p>
715
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_htaccess$7' ); ?>"><?php _e('Manage','wp-seopress'); ?>
716
- </a>
717
- </span>
718
- </div>
719
- <?php
720
- }
721
- }
722
- $seopress_feature = apply_filters('seopress_remove_feature_rss', true);
723
- if ($seopress_feature === true) { ?>
724
- <div class="seopress-feature">
725
- <span class="inner">
726
- <div class="img-tool">
727
- <span class="dashicons dashicons-rss"></span>
728
- </div>
729
- <h3><?php _e('RSS','wp-seopress'); ?></h3>
730
- <p><?php _e('Configure default WordPress RSS.','wp-seopress'); ?></p>
731
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_rss$11' ); ?>"><?php _e('Manage','wp-seopress'); ?>
732
- </a>
733
- </span>
734
- </div>
735
- <?php
736
- }
737
- }
738
- $seopress_feature = apply_filters('seopress_remove_feature_tools', true);
739
- if ($seopress_feature === true) { ?>
740
- <div class="seopress-feature">
741
- <span class="inner">
742
- <div class="img-tool">
743
- <span class="dashicons dashicons-admin-settings"></span>
744
- </div>
745
- <h3><?php _e('Tools','wp-seopress'); ?></h3>
746
- <p><?php _e('Import/Export plugin settings from site to site.','wp-seopress'); ?></p>
747
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-import-export' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
748
- <?php
749
- if (function_exists('seopress_get_locale')) {
750
- if (seopress_get_locale() =='fr') {
751
- $seopress_docs_link['support']['export'] = 'https://www.seopress.org/fr/support/guides/exporter-importer-remise-a-niveau-parametres/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
752
- } else {
753
- $seopress_docs_link['support']['export'] = 'https://www.seopress.org/support/guides/export-import-reset-settings/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
754
- }
755
- }
756
- ?>
757
- <a href="<?php echo $seopress_docs_link['support']['export']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to Export/Import/Reset settings - new window','wp-seopress'); ?></span></a>
758
- </span>
759
- </div>
760
- <?php
761
- }
762
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
763
- $seopress_feature = apply_filters('seopress_remove_feature_license', true);
764
- if ($seopress_feature === true) { ?>
765
- <div class="seopress-feature">
766
- <span class="inner">
767
- <div class="img-tool">
768
- <span class="dashicons dashicons-admin-network"></span>
769
  </div>
770
- <h3><?php _e('License','wp-seopress'); ?></h3>
771
- <p><?php _e('Edit your license key.','wp-seopress'); ?></p>
772
- <a class="button-secondary" href="<?php echo admin_url( 'admin.php?page=seopress-license' ); ?>"><?php _e('Manage','wp-seopress'); ?></a>
773
- <?php
774
- if (function_exists('seopress_get_locale')) {
775
- if (seopress_get_locale() =='fr') {
776
- $seopress_docs_link['support']['license'] = 'https://www.seopress.org/fr/support/guides/activer-licence-seopress-pro/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
777
- } else {
778
- $seopress_docs_link['support']['license'] = 'https://www.seopress.org/support/guides/activate-seopress-pro-license/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
779
- }
780
- }
781
- ?>
782
- <a href="<?php echo $seopress_docs_link['support']['license']; ?>" target="_blank" class="seopress-doc" title="<?php _e('Read our guide','wp-seopress'); ?>"><span class="dashicons dashicons-editor-help"></span><span class="screen-reader-text"><?php _e('Guide to activate SEOPress PRO - new window','wp-seopress'); ?></span></a>
783
- </span>
784
- </div>
785
- <?php
786
  }
787
- } ?>
788
  </div>
1
+ <?php
2
+ // To prevent calling the plugin directly
3
+ if ( !function_exists( 'add_action' ) ) {
4
+ echo 'Please don&rsquo;t call the plugin directly. Thanks :)';
5
+ exit;
6
+ }
7
+ ?>
8
  <div class="seopress-page-list">
9
  <div id="seopress-notice-save" style="display: none"><span class="dashicons dashicons-yes"></span><span class="html"></span></div>
10
  <?php
11
+ $features = [];
12
+ $features = [
13
+ 'titles' => [
14
+ 'icon' => 'dashicons-editor-table',
15
+ 'title' => __('Titles & metas','wp-seopress'),
16
+ 'desc' => __('Manage all your titles & metas for post types, taxonomies, archives...', 'wp-seopress'),
17
+ 'btn_secondary' => [
18
+ admin_url( 'admin.php?page=seopress-titles' ) => __('Manage','wp-seopress')
19
+ ],
20
+ 'help' => [
21
+ 'en' => 'https://www.seopress.org/support/guides/manage-titles-meta-descriptions/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
22
+ 'fr' => 'https://www.seopress.org/fr/support/guides/gerez-vos-balises-titres-metas/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
23
+ 'title' => __('Read our guide','wp-seopress'),
24
+ 'aria' => __('Guide to manage your titles and meta descriptions - new window','wp-seopress'),
25
+ 'external' => true
26
+ ],
27
+ 'filter' => 'seopress_remove_feature_titles'
28
+ ],
29
+ 'xml-sitemap' => [
30
+ 'icon' => 'dashicons-media-spreadsheet',
31
+ 'title' => __('XML / Image / Video / HTML Sitemap','wp-seopress'),
32
+ 'desc' => __('Manage your XML / Image / Video / HTML Sitemap', 'wp-seopress'),
33
+ 'btn_secondary' => [
34
+ admin_url( 'admin.php?page=seopress-xml-sitemap' ) => __('Manage','wp-seopress')
35
+ ],
36
+ 'help' => [
37
+ 'en' => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
38
+ 'fr' => 'https://www.seopress.org/fr/support/guides/activer-sitemap-xml/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
39
+ 'title' => __('Read our guide','wp-seopress'),
40
+ 'aria' => __('Guide to enable your XML Sitemaps - new window','wp-seopress'),
41
+ 'external' => true
42
+ ],
43
+ 'filter' => 'seopress_remove_feature_xml_sitemap'
44
+ ],
45
+ 'social' => [
46
+ 'icon' => 'dashicons-share',
47
+ 'title' => __('Social Networks','wp-seopress'),
48
+ 'desc' => __('Open Graph, Twitter Card, Google Knowledge Graph and more...', 'wp-seopress'),
49
+ 'btn_secondary' => [
50
+ admin_url( 'admin.php?page=seopress-social' ) => __('Manage','wp-seopress')
51
+ ],
52
+ 'help' => [
53
+ 'en' => 'https://www.seopress.org/support/guides/enable-google-knowledge-graph/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
54
+ 'fr' => 'https://www.seopress.org/fr/support/guides/activer-google-knowledge-graph/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
55
+ 'title' => __('Read our guide','wp-seopress'),
56
+ 'aria' => __('Guide to enable Google Knowledge Graph - new window','wp-seopress'),
57
+ 'external' => true
58
+ ],
59
+ 'filter' => 'seopress_remove_feature_social'
60
+ ],
61
+ 'google-analytics' => [
62
+ 'icon' => 'dashicons-chart-area',
63
+ 'title' => __('Google Analytics','wp-seopress'),
64
+ 'desc' => __('Track everything about your visitors with Google Analytics', 'wp-seopress'),
65
+ 'btn_secondary' => [
66
+ admin_url( 'admin.php?page=seopress-google-analytics' ) => __('Manage','wp-seopress')
67
+ ],
68
+ 'help' => [
69
+ 'en' => 'https://www.seopress.org/support/guides/google-analytics/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
70
+ 'fr' => 'https://www.seopress.org/fr/support/guides/debutez-google-analytics/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
71
+ 'title' => __('Read our guide','wp-seopress'),
72
+ 'aria' => __('Guide to getting started with Google Analytics - new window','wp-seopress'),
73
+ 'external' => true
74
+ ],
75
+ 'filter' => 'seopress_remove_feature_google_analytics'
76
+ ],
77
+ 'advanced' => [
78
+ 'icon' => 'dashicons-admin-tools',
79
+ 'title' => __('Advanced','wp-seopress'),
80
+ 'desc' => __('Advanced SEO options for advanced users!', 'wp-seopress'),
81
+ 'btn_secondary' => [
82
+ admin_url( 'admin.php?page=seopress-advanced' ) => __('Manage','wp-seopress')
83
+ ],
84
+ 'filter' => 'seopress_remove_feature_advanced'
85
+ ]
86
+ ];
87
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
88
+ $features['woocommerce'] = [
89
+ 'icon' => 'dashicons-cart',
90
+ 'title' => __('WooCommerce','wp-seopress'),
91
+ 'desc' => __('Improve WooCommerce SEO', 'wp-seopress'),
92
+ 'btn_secondary' => [
93
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_woocommerce$1' ) => __('Manage','wp-seopress')
94
+ ],
95
+ 'help' => [
96
+ 'en' => 'https://www.seopress.org/blog/woocommerce-seo-seopress/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
97
+ 'fr' => 'https://www.seopress.org/fr/blog/woocommerce-seo-seopress-le-guide/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
98
+ 'title' => __('Read our guide','wp-seopress'),
99
+ 'aria' => __('Guide to optimize your WooCommerce SEO - new window','wp-seopress'),
100
+ 'external' => true
101
+ ],
102
+ 'filter' => 'seopress_remove_feature_woocommerce'
103
+ ];
104
+ $features['edd'] = [
105
+ 'icon' => 'dashicons-cart',
106
+ 'title' => __('Easy Digital Downloads','wp-seopress'),
107
+ 'desc' => __('Improve Easy Digital Downloads SEO', 'wp-seopress'),
108
+ 'btn_secondary' => [
109
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_edd$13' ) => __('Manage','wp-seopress')
110
+ ],
111
+ 'filter' => 'seopress_remove_feature_edd'
112
+ ];
113
+ $features['local-business'] = [
114
+ 'icon' => 'dashicons-store',
115
+ 'title' => __('Local Business','wp-seopress'),
116
+ 'desc' => __('Add Google Local Business data type', 'wp-seopress'),
117
+ 'btn_secondary' => [
118
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_local_business$10' ) => __('Manage','wp-seopress')
119
+ ],
120
+ 'filter' => 'seopress_remove_feature_local_business'
121
+ ];
122
+ $features['dublin-core'] = [
123
+ 'icon' => 'dashicons-welcome-learn-more',
124
+ 'title' => __('Dublin Core','wp-seopress'),
125
+ 'desc' => __('Add Dublin Core meta tags', 'wp-seopress'),
126
+ 'btn_secondary' => [
127
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_dublin_core$8' ) => __('Manage','wp-seopress')
128
+ ],
129
+ 'filter' => 'seopress_remove_feature_dublin_core'
130
+ ];
131
+ $features['rich-snippets'] = [
132
+ 'icon' => 'dashicons-media-spreadsheet',
133
+ 'title' => __('Structured Data Types','wp-seopress'),
134
+ 'desc' => __('Add data types to your content: articles, courses, recipes, videos, events, products and more.', 'wp-seopress'),
135
+ 'btn_secondary' => [
136
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_rich_snippets$9' ) => __('Manage','wp-seopress')
137
+ ],
138
+ 'btn_primary' => [
139
+ admin_url( 'edit.php?post_type=seopress_schemas' ) => __('See schemas','wp-seopress')
140
+ ],
141
+ 'help' => [
142
+ 'en' => 'https://www.seopress.org/support/guides/#structured-data-types?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
143
+ 'fr' => 'https://www.seopress.org/fr/support/guides/#types-de-donnees-structurees?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
144
+ 'title' => __('Read our guide','wp-seopress'),
145
+ 'aria' => __('Guide to add schemas with SEOPress PRO - new window','wp-seopress'),
146
+ 'external' => true
147
+ ],
148
+ 'filter' => 'seopress_remove_feature_schemas'
149
+ ];
150
+ $features['breadcrumbs'] = [
151
+ 'icon' => 'dashicons-feedback',
152
+ 'title' => __('Breadcrumbs','wp-seopress'),
153
+ 'desc' => __('Enable Breadcrumbs for your theme and improve your SEO in SERPs', 'wp-seopress'),
154
+ 'btn_secondary' => [
155
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_breadcrumbs$2' ) => __('Manage','wp-seopress')
156
+ ],
157
+ 'help' => [
158
+ 'en' => 'https://www.seopress.org/support/guides/enable-breadcrumbs/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
159
+ 'fr' => 'https://www.seopress.org/fr/support/guides/activer-fil-dariane/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
160
+ 'title' => __('Read our guide','wp-seopress'),
161
+ 'aria' => __('Guide to enable Breadcrumbs - new window','wp-seopress'),
162
+ 'external' => true
163
+ ],
164
+ 'filter' => 'seopress_remove_feature_breadcrumbs'
165
+ ];
166
+ $features['page-speed'] = [
167
+ 'icon' => 'dashicons-performance',
168
+ 'title' => __('Google Page Speed','wp-seopress'),
169
+ 'desc' => __('Track your website performance to improve SEO with Google Page Speed', 'wp-seopress'),
170
+ 'btn_secondary' => [
171
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_page_speed$3' ) => __('Manage','wp-seopress')
172
+ ],
173
+ 'help' => [
174
+ 'en' => 'https://www.seopress.org/support/guides/analyse-site-google-page-speed/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
175
+ 'fr' => 'https://www.seopress.org/fr/support/guides/analyser-site-google-page-speed/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
176
+ 'title' => __('Read our guide','wp-seopress'),
177
+ 'aria' => __('Guide to analyze your site with Google Page Speed - new window','wp-seopress'),
178
+ 'external' => true
179
+ ],
180
+ 'filter' => 'seopress_remove_feature_page_speed',
181
+ 'toggle' => false
182
+ ];
183
+ if (!is_multisite()) {
184
+ $features['robots'] = [
185
+ 'icon' => 'dashicons-media-text',
186
+ 'title' => __('robots.txt','wp-seopress'),
187
+ 'desc' => __('Edit your robots.txt file', 'wp-seopress'),
188
+ 'btn_primary' => [
189
+ get_home_url().'/robots.txt' => __('View your robots.txt','wp-seopress')
190
+ ],
191
+ 'btn_secondary' => [
192
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_robots$4' ) => __('Manage','wp-seopress')
193
+ ],
194
+ 'help' => [
195
+ 'en' => 'https://www.seopress.org/support/guides/edit-robots-txt-file/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
196
+ 'fr' => 'https://www.seopress.org/fr/support/guides/editer-fichier-robots-txt/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
197
+ 'title' => __('Read our guide','wp-seopress'),
198
+ 'aria' => __('Guide to edit your robots.txt file - new window','wp-seopress'),
199
+ 'external' => true
200
+ ],
201
+ 'filter' => 'seopress_remove_feature_robots'
202
+ ];
203
+ }
204
+ $features['news'] = [
205
+ 'icon' => 'dashicons-admin-post',
206
+ 'title' => __('Google News Sitemap','wp-seopress'),
207
+ 'desc' => __('Optimize your site for Google News', 'wp-seopress'),
208
+ 'btn_secondary' => [
209
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_news$5' ) => __('Manage','wp-seopress')
210
+ ],
211
+ 'help' => [
212
+ 'en' => 'https://www.seopress.org/support/guides/enable-google-news-xml-sitemap/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
213
+ 'fr' => 'https://www.seopress.org/fr/support/guides/activer-plan-de-site-xml-google-news/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
214
+ 'title' => __('Read our guide','wp-seopress'),
215
+ 'aria' => __('Guide to edit your robots.txt file - new window','wp-seopress'),
216
+ 'external' => true
217
+ ],
218
+ 'filter' => 'seopress_remove_feature_news'
219
+ ];
220
+ $features['rich-snippets'] = [
221
+ 'icon' => 'dashicons-media-spreadsheet',
222
+ 'title' => __('Schemas','wp-seopress'),
223
+ 'desc' => __('Create / manage your schemas', 'wp-seopress'),
224
+ 'btn_primary' => [
225
+ admin_url( 'edit.php?post_type=seopress_schemas' ) => __('See schemas','wp-seopress')
226
+ ],
227
+ 'btn_secondary' => [
228
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_schemas$9' ) => __('Manage','wp-seopress')
229
+ ],
230
+ 'help' => [
231
+ 'en' => 'https://www.seopress.org/support/guides/#structured-data-types?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
232
+ 'fr' => 'https://www.seopress.org/fr/support/guides/#types-de-donnees-structurees?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
233
+ 'title' => __('Read our guide','wp-seopress'),
234
+ 'aria' => __('Guide to add schemas with SEOPress PRO - new window','wp-seopress'),
235
+ 'external' => true
236
+ ],
237
+ 'filter' => 'seopress_remove_feature_schemas'
238
+ ];
239
+ $features['404'] = [
240
+ 'icon' => 'dashicons-admin-links',
241
+ 'title' => __('Redirections','wp-seopress'),
242
+ 'desc' => __('Monitor 404, create 301, 302 and 307 redirections', 'wp-seopress'),
243
+ 'btn_primary' => [
244
+ admin_url( 'edit.php?post_type=seopress_404' ) => __('See redirects','wp-seopress')
245
+ ],
246
+ 'btn_secondary' => [
247
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_404$6' ) => __('Manage','wp-seopress')
248
+ ],
249
+ 'help' => [
250
+ 'en' => 'https://www.seopress.org/support/guides/redirections/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
251
+ 'fr' => 'https://www.seopress.org/fr/support/guides/activer-redirections-301-surveillance-404/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
252
+ 'title' => __('Read our guide','wp-seopress'),
253
+ 'aria' => __('Guide to enable 301 redirections and 404 monitoring - new window','wp-seopress'),
254
+ 'external' => true
255
+ ],
256
+ 'filter' => 'seopress_remove_feature_redirects'
257
+ ];
258
+ $features['bot'] = [
259
+ 'icon' => 'dashicons-admin-generic',
260
+ 'title' => __('Broken links','wp-seopress'),
261
+ 'desc' => __('Scan your site to find SEO problems.', 'wp-seopress'),
262
+ 'btn_primary' => [
263
+ admin_url( 'edit.php?post_type=seopress_bot' ) => __('See broken links','wp-seopress')
264
+ ],
265
+ 'btn_secondary' => [
266
+ admin_url( 'admin.php?page=seopress-bot-batch' ) => __('Scan','wp-seopress')
267
+ ],
268
+ 'help' => [
269
+ 'en' => 'https://www.seopress.org/support/guides/detect-broken-links/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
270
+ 'fr' => 'https://www.seopress.org/fr/support/guides/detecter-liens-casses/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
271
+ 'title' => __('Read our guide','wp-seopress'),
272
+ 'aria' => __('Guide to find broken links with SEOPress PRO - new window','wp-seopress'),
273
+ 'external' => true
274
+ ],
275
+ 'filter' => 'seopress_remove_feature_bot'
276
+ ];
277
+ $features['backlinks'] = [
278
+ 'icon' => 'dashicons-admin-links',
279
+ 'title' => __('Backlinks','wp-seopress'),
280
+ 'desc' => __('Check your backlinks with Majestic API.', 'wp-seopress'),
281
+ 'btn_primary' => [
282
+ admin_url( 'edit.php?post_type=seopress_backlinks' ) => __('See backlinks','wp-seopress')
283
+ ],
284
+ 'btn_secondary' => [
285
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_backlinks$12' ) => __('Manage','wp-seopress')
286
+ ],
287
+ 'filter' => 'seopress_remove_feature_backlinks',
288
+ 'toggle' => false
289
+ ];
290
+ $features['rewrite'] = [
291
+ 'icon' => 'dashicons-admin-links',
292
+ 'title' => __('URL Rewriting','wp-seopress'),
293
+ 'desc' => __('Customize your permalinks.', 'wp-seopress'),
294
+ 'btn_secondary' => [
295
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_rewrite$14' ) => __('Manage','wp-seopress')
296
+ ],
297
+ 'filter' => 'seopress_remove_feature_rewrite'
298
+ ];
299
+ if (!is_multisite()) {
300
+ $features['htaccess'] = [
301
+ 'icon' => 'dashicons-media-text',
302
+ 'title' => __('.htaccess','wp-seopress'),
303
+ 'desc' => __('Edit your htaccess file.', 'wp-seopress'),
304
+ 'btn_secondary' => [
305
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_htaccess$7' ) => __('Manage','wp-seopress')
306
+ ],
307
+ 'filter' => 'seopress_remove_feature_htaccess',
308
+ 'toggle' => false
309
+ ];
310
+ }
311
+ $features['rss'] = [
312
+ 'icon' => 'dashicons-rss',
313
+ 'title' => __('RSS','wp-seopress'),
314
+ 'desc' => __('Configure default WordPress RSS.', 'wp-seopress'),
315
+ 'btn_secondary' => [
316
+ admin_url( 'admin.php?page=seopress-pro-page#tab=tab_seopress_rss$11' ) => __('Manage','wp-seopress')
317
+ ],
318
+ 'filter' => 'seopress_remove_feature_rss',
319
+ 'toggle' => false
320
+ ];
321
  }
322
+ $features['tools'] = [
323
+ 'icon' => 'dashicons-admin-settings',
324
+ 'title' => __('Tools','wp-seopress'),
325
+ 'desc' => __('Import/Export plugin settings from site to site.', 'wp-seopress'),
326
+ 'btn_secondary' => [
327
+ admin_url( 'admin.php?page=seopress-import-export' ) => __('Manage','wp-seopress')
328
+ ],
329
+ 'help' => [
330
+ 'en' => 'https://www.seopress.org/support/guides/export-import-reset-settings/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
331
+ 'fr' => 'https://www.seopress.org/fr/support/guides/exporter-importer-remise-a-niveau-parametres/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
332
+ 'title' => __('Read our guide','wp-seopress'),
333
+ 'aria' => __('Guide to Export/Import/Reset settings - new window','wp-seopress'),
334
+ 'external' => true
335
+ ],
336
+ 'filter' => 'seopress_remove_feature_tools',
337
+ 'toggle' => false
338
+ ];
339
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
340
+ $features['license'] = [
341
+ 'icon' => 'dashicons-admin-network',
342
+ 'title' => __('License','wp-seopress'),
343
+ 'desc' => __('Edit your license key.', 'wp-seopress'),
344
+ 'btn_secondary' => [
345
+ admin_url( 'admin.php?page=seopress-license' ) => __('Manage','wp-seopress')
346
+ ],
347
+ 'help' => [
348
+ 'en' => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
349
+ 'fr' => 'https://www.seopress.org/fr/support/guides/activer-licence-seopress-pro/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
350
+ 'title' => __('Read our guide','wp-seopress'),
351
+ 'aria' => __('Guide to activate SEOPress PRO - new window','wp-seopress'),
352
+ 'external' => true
353
+ ],
354
+ 'filter' => 'seopress_remove_feature_license',
355
+ 'toggle' => false
356
+ ];
 
 
 
 
 
 
357
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
358
 
359
+ if (!empty($features)) {
360
+ foreach($features as $key => $value) {
361
+ if (isset( $value['filter'] ) ) {
362
+ $seopress_feature = apply_filters($value['filter'], true);
363
+ }
364
+
365
+ if ($seopress_feature === true) {
366
+ $icon = isset( $value['icon'] ) ? $value['icon'] : NULL;
367
+ $title = isset( $value['title'] ) ? $value['title'] : NULL;
368
+ $desc = isset( $value['desc'] ) ? $value['desc'] : NULL;
369
+ $btn_primary = isset( $value['btn_primary'] ) ? $value['btn_primary'] : NULL;
370
+ $btn_secondary = isset( $value['btn_secondary'] ) ? $value['btn_secondary'] : NULL;
371
+ $help = isset( $value['help'] ) ? $value['help'] : NULL;
372
+ $toggle = isset( $value['toggle'] ) ? $value['toggle'] : true;
373
+ ?>
374
+ <div class="seopress-feature">
375
+ <span class="inner">
376
+ <div class="img-tool">
377
+ <span class="dashicons <?php echo $icon; ?>"></span>
378
+ </div>
379
+ <h3><?php echo $title; ?></h3>
380
+ <p><?php echo $desc; ?></p>
381
+
382
+ <?php if ($btn_secondary || $btn_primary) { ?>
383
+ <div class="wrap-btn">
384
+
385
+ <?php if ($btn_secondary) { ?>
386
+ <a class="button-secondary" href="<?php echo key($btn_secondary); ?>"><?php echo reset($btn_secondary); ?></a>
387
+ <?php } ?>
388
+
389
+ <?php if ($btn_primary) { ?>
390
+ <a class="button-secondary view-redirects" href="<?php echo key($btn_primary); ?>"><?php echo reset($btn_primary); ?></a>
391
+ <?php } ?>
392
+
393
+ </div>
394
+ <?php }
395
+ if ($toggle === true) {
396
+ if(seopress_get_toggle_option($key) =='1') {
397
+ $seopress_get_toggle_option = '1';
398
+ } else {
399
+ $seopress_get_toggle_option = '0';
400
+ }
401
+ ?>
402
+ <input type="checkbox" name="toggle-<?php echo $key; ?>" id="toggle-<?php echo $key; ?>" class="toggle" data-toggle="<?php echo $seopress_get_toggle_option; ?>">
403
+ <label for="toggle-<?php echo $key; ?>"></label>
404
+ <?php
405
+ if($seopress_get_toggle_option =='1') {
406
+ echo '<span id="'.$key.'-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable','wp-seopress').'</span>';
407
+ echo '<span id="'.$key.'-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable','wp-seopress').'</span>';
408
+ } else {
409
+ echo '<span id="'.$key.'-state-default" class="feature-state"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to enable','wp-seopress').'</span>';
410
+ echo '<span id="'.$key.'-state" class="feature-state feature-state-off"><span class="dashicons dashicons-arrow-left-alt"></span>'.__('Click to disable','wp-seopress').'</span>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
411
  }
412
  }
413
+ $href = '';
414
+ if (function_exists('seopress_get_locale')) {
415
+ if (seopress_get_locale() =='fr' && isset($help['fr'])) {
416
+ $href = ' href="'.$help['fr'].'"';
417
+ } elseif (isset($help['en'])) {
418
+ $href = ' href="'.$help['en'].'"';
419
+ }
420
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
421
 
422
+ $target = '';
423
+ if (isset($help['external']) && $help['external'] === true) {
424
+ $target = ' target="_blank"';
425
+ }
426
+
427
+ $aria = '';
428
+ if (isset($help['aria'])) {
429
+ $aria = '<span class="screen-reader-text">'.$help['aria'].'</span>';
430
+ }
431
+
432
+ $help_title = '';
433
+ if (isset($help['title'])) {
434
+ $help_title = 'title="'.$help['title'].'"';
435
+ }
436
+ if ($href !='') { ?>
437
+ <a <?php echo $href; ?> <?php echo $target; ?> class="seopress-doc" <?php echo $help_title; ?>>
438
+ <span class="dashicons dashicons-editor-help"></span>
439
+ <?php echo $aria; ?>
440
+ </a>
441
+ <?php } ?>
442
+ </span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
  </div>
444
+ <?php
445
+ }
446
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
447
  }
448
+ ?>
449
  </div>
inc/admin/admin-get-started.php CHANGED
@@ -1,22 +1,30 @@
 
 
 
 
 
 
1
  <div id="notice-get-started-alert" class="seopress-get-started seopress-alert deleteable">
2
- <span class="preheader"><?php _e('How-to get started','wp-seopress'); ?></span>
3
- <h2><?php _e('Welcome to SEOPress!','wp-seopress'); ?></h2>
4
- <p><?php _e('Launch our installation wizard to quickly and easily configure the basic SEO settings for your site. Browse our video guides to go further. Can\'t find the answers to your questions? Open a ticket from your customer area. A happiness engineer will be happy to help you.','wp-seopress'); ?></p>
5
- <a href="<?php echo admin_url('admin.php?page=seopress-setup'); ?>" class="button button-primary"><?php _e('Get started','wp-seopress'); ?> <span class="dashicons dashicons-arrow-right-alt"></span></a>
6
- <a class="btn-link" href="https://youtube.com/seopress" target="_blank"><span class="dashicons dashicons-video-alt3"></span><?php _e('Watch our video guides','wp-seopress'); ?></a>
7
- <?php
8
- if (function_exists('seopress_get_locale')) {
9
- if (seopress_get_locale() =='fr') {
10
- $seopress_docs_link['support']['wizard'] = 'https://www.seopress.org/fr/support/';
11
- } else {
12
- $seopress_docs_link['support']['wizard'] = 'https://www.seopress.org/support/';
 
 
13
  }
14
- }
15
 
16
- echo
17
- '<a class="btn-link" href="'.$seopress_docs_link['support']['wizard'].'" target="_blank">
18
- <span class="dashicons dashicons-sos"></span>'.__('Our support center','wp-seopress').'
19
- </a>';
20
- ?>
21
- <span name="notice-get-started" id="notice-get-started" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-get-started"></span>
 
22
  </div>
1
+ <?php
2
+ // To prevent calling the plugin directly
3
+ if ( !function_exists( 'add_action' ) ) {
4
+ echo 'Please don&rsquo;t call the plugin directly. Thanks :)';
5
+ exit;
6
+ } ?>
7
  <div id="notice-get-started-alert" class="seopress-get-started seopress-alert deleteable">
8
+ <div class="inside">
9
+ <span class="preheader"><?php _e('How-to get started','wp-seopress'); ?></span>
10
+ <h2><?php _e('Welcome to SEOPress!','wp-seopress'); ?></h2>
11
+ <p><?php _e('Launch our installation wizard to quickly and easily configure the basic SEO settings for your site. Browse our video guides to go further. Can\'t find the answers to your questions? Open a ticket from your customer area. A happiness engineer will be happy to help you.','wp-seopress'); ?></p>
12
+ <a href="<?php echo admin_url('admin.php?page=seopress-setup'); ?>" class="button button-primary"><?php _e('Get started','wp-seopress'); ?> <span class="dashicons dashicons-arrow-right-alt"></span></a>
13
+ <a class="btn-link" href="https://youtube.com/seopress" target="_blank"><span class="dashicons dashicons-video-alt3"></span><?php _e('Watch our video guides','wp-seopress'); ?></a>
14
+ <?php
15
+ if (function_exists('seopress_get_locale')) {
16
+ if (seopress_get_locale() =='fr') {
17
+ $seopress_docs_link['support']['wizard'] = 'https://www.seopress.org/fr/support/';
18
+ } else {
19
+ $seopress_docs_link['support']['wizard'] = 'https://www.seopress.org/support/';
20
+ }
21
  }
 
22
 
23
+ echo
24
+ '<a class="btn-link" href="'.$seopress_docs_link['support']['wizard'].'" target="_blank">
25
+ <span class="dashicons dashicons-sos"></span>'.__('Our support center','wp-seopress').'
26
+ </a>';
27
+ ?>
28
+ <span name="notice-get-started" id="notice-get-started" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-get-started"></span>
29
+ </div>
30
  </div>
inc/admin/admin-header.php CHANGED
@@ -3,8 +3,9 @@
3
  defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
4
 
5
  function seopress_admin_header() { ?>
 
6
  <div id="seopress-header">
7
- <div id="seopress-admin">
8
  <div id="seopress-navbar">
9
  <?php if (defined('SEOPRESS_WL_ADMIN_HEADER_LOGO') && SEOPRESS_WL_ADMIN_HEADER_LOGO !== '') { ?>
10
  <style>
@@ -226,4 +227,4 @@ function seopress_admin_header() { ?>
226
  </div>
227
  </div>
228
  </div>
229
- <?php } ?>
3
  defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
4
 
5
  function seopress_admin_header() { ?>
6
+ <div class="wrap"><h2><!--// hack to get WP notice at the correct place //--></h2></div>
7
  <div id="seopress-header">
8
+ <div id="seopress-admin">
9
  <div id="seopress-navbar">
10
  <?php if (defined('SEOPRESS_WL_ADMIN_HEADER_LOGO') && SEOPRESS_WL_ADMIN_HEADER_LOGO !== '') { ?>
11
  <style>
227
  </div>
228
  </div>
229
  </div>
230
+ <?php } ?>
inc/admin/admin-metaboxes-content-analysis-form.php CHANGED
@@ -162,7 +162,7 @@ if (!empty($seopress_analysis_data['0']['json']) && isset($seopress_analysis_dat
162
  $desc = '<p>'.__('We found these schemas in the source code of this page:','wp-seopress').'</p>';
163
 
164
  $desc .= '<ul>';
165
- $json_ld = $seopress_analysis_data['0']['json'];
166
  foreach(array_count_values($json_ld) as $key => $value) {
167
  $html = NULL;
168
  if ($value > 1) {
@@ -365,7 +365,7 @@ if ($seopress_titles_title !='') {
365
  $analyzes['meta_title']['desc'] = $desc;
366
  } else {
367
  $analyzes['meta_title']['impact'] = 'medium';
368
- $analyzes['meta_title']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('No custom title is set for this post.','wp-seopress').'</p>';
369
  }
370
 
371
  //Meta description
@@ -399,7 +399,7 @@ if ($seopress_titles_desc !='') {
399
  $analyzes['meta_desc']['desc'] = $desc;
400
  } else {
401
  $analyzes['meta_desc']['impact'] = 'medium';
402
- $analyzes['meta_desc']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('No custom meta description is set for this post.','wp-seopress').'</p>';
403
  }
404
 
405
  //Social tags
@@ -709,9 +709,11 @@ $analyzes['robots']['desc'] = $desc;
709
  if (!empty($seopress_analysis_data['0']['img'])) {
710
  $images = isset($seopress_analysis_data['0']['img']['images']) ? $seopress_analysis_data['0']['img']['images'] : NULL;
711
 
 
 
712
  if (isset($images) && !empty($images)) {
713
  $analyzes['img_alt']['impact'] = 'high';
714
- $desc = '<p><span class="dashicons dashicons-no-alt"></span>'.__('No alternative text found for these images. Alt tags are important for both SEO and accessibility. Edit your images using the media library or your favorite page builder and fill in alternative text fields.','wp-seopress').'</p>';
715
 
716
  //Standard images & galleries
717
  if (isset($images) && !empty($images)) {
@@ -722,8 +724,10 @@ if (!empty($seopress_analysis_data['0']['img'])) {
722
  $desc .= '</ul>';
723
  }
724
  } else {
725
- $desc = '<p><span class="dashicons dashicons-yes"></span>'.__('All alternative tags are filled in. Good work!','wp-seopress').'</p>';
726
  }
 
 
727
  $analyzes['img_alt']['desc'] = $desc;
728
  } else {
729
  $analyzes['img_alt']['impact'] = 'medium';
162
  $desc = '<p>'.__('We found these schemas in the source code of this page:','wp-seopress').'</p>';
163
 
164
  $desc .= '<ul>';
165
+ $json_ld = array_filter($seopress_analysis_data['0']['json']);
166
  foreach(array_count_values($json_ld) as $key => $value) {
167
  $html = NULL;
168
  if ($value > 1) {
365
  $analyzes['meta_title']['desc'] = $desc;
366
  } else {
367
  $analyzes['meta_title']['impact'] = 'medium';
368
+ $analyzes['meta_title']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('No custom title is set for this post. If the global meta title suits you, you can ignore this recommendation.','wp-seopress').'</p>';
369
  }
370
 
371
  //Meta description
399
  $analyzes['meta_desc']['desc'] = $desc;
400
  } else {
401
  $analyzes['meta_desc']['impact'] = 'medium';
402
+ $analyzes['meta_desc']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('No custom meta description is set for this post. If the global meta description suits you, you can ignore this recommendation.','wp-seopress').'</p>';
403
  }
404
 
405
  //Social tags
709
  if (!empty($seopress_analysis_data['0']['img'])) {
710
  $images = isset($seopress_analysis_data['0']['img']['images']) ? $seopress_analysis_data['0']['img']['images'] : NULL;
711
 
712
+ $desc = '<div class="wrap-analysis-img">';
713
+
714
  if (isset($images) && !empty($images)) {
715
  $analyzes['img_alt']['impact'] = 'high';
716
+ $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('No alternative text found for these images. Alt tags are important for both SEO and accessibility. Edit your images using the media library or your favorite page builder and fill in alternative text fields.','wp-seopress').'</p>';
717
 
718
  //Standard images & galleries
719
  if (isset($images) && !empty($images)) {
724
  $desc .= '</ul>';
725
  }
726
  } else {
727
+ $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('All alternative tags are filled in. Good work!','wp-seopress').'</p>';
728
  }
729
+ $desc .= '</div>';
730
+
731
  $analyzes['img_alt']['desc'] = $desc;
732
  } else {
733
  $analyzes['img_alt']['impact'] = 'medium';
inc/admin/admin-metaboxes-form.php CHANGED
@@ -26,7 +26,7 @@ if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
26
 
27
  function seopress_display_date_snippet() {
28
  if (seopress_titles_single_cpt_date_option()) {
29
- return '<div class="snippet-date">'.get_the_date('M j, Y').' - </div>';
30
  }
31
  }
32
  } elseif ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
@@ -101,7 +101,10 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
101
  }
102
  echo '<div class="box-left">
103
  <p style="margin-bottom:0">
104
- <label for="seopress_titles_title_meta">'. __( 'Title', 'wp-seopress' ) .'</label>
 
 
 
105
  <input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.esc_html__('Enter your title','wp-seopress').'" aria-label="'.__('Title','wp-seopress').'" value="'.$seopress_titles_title.'" />
106
  </p>
107
  <div class="sp-progress">
@@ -123,7 +126,10 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
123
  </div>
124
 
125
  <p style="margin-bottom:0">
126
- <label for="seopress_titles_desc_meta">'. __( 'Meta description', 'wp-seopress' ) .'</label>
 
 
 
127
  <textarea id="seopress_titles_desc_meta" style="width:100%" rows="4" name="seopress_titles_desc" placeholder="'.esc_html__('Enter your meta description','wp-seopress').'" aria-label="'.__('Meta description','wp-seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
128
  </p>
129
  <div class="sp-progress">
@@ -144,29 +150,61 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
144
  <span id="seopress-tag-single-excerpt" data-tag="%%post_excerpt%%" class="tag-title"><span class="dashicons dashicons-plus"></span>'.__('Post Excerpt','wp-seopress').'</span>
145
  </div>';
146
  }
147
- echo '</div>
148
- <div class="box-right">
149
- <div class="google-snippet-preview">
150
- <h3>'.__('Google Snippet Preview','wp-seopress').'</h3>
 
 
 
 
 
 
 
151
  <p>'.__('This is what your page will look like in Google search results. You have to publish your post to get the Google Snippet Preview.','wp-seopress').'</p>
152
- <div class="snippet-title"></div>
153
- <div class="snippet-title-custom" style="display:none"></div>';
154
- global $tag;
155
- if (get_the_title()) {
156
- echo '<div class="snippet-title-default" style="display:none">'.get_the_title().' - '.get_bloginfo('name').'</div>
157
- <div class="snippet-permalink">'.htmlspecialchars(urldecode(get_permalink())).'</div>';
158
- } elseif ($tag) {
159
- echo '<div class="snippet-title-default" style="display:none">'.$tag->name.' - '.get_bloginfo('name').'</div>';
160
- echo '<div class="snippet-permalink">'.htmlspecialchars(urldecode(get_term_link($tag))).'</div>';
161
- }
 
162
 
163
- if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
164
- echo seopress_display_date_snippet();
165
- }
166
- echo '<div class="snippet-description">...</div>
167
- <div class="snippet-description-custom" style="display:none"></div>
168
- <div class="snippet-description-default" style="display:none"></div>';
169
- echo '</div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
170
  </div>
171
  </div>';
172
  }
@@ -176,36 +214,42 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
176
  <label for="seopress_robots_index_meta">
177
  <input type="checkbox" name="seopress_robots_index" id="seopress_robots_index_meta" value="yes" '. checked( $seopress_robots_index, 'yes', false ) .' '.$disabled['robots_index'].'/>
178
  '. __( 'Do not display this page in search engine results / XML - HTML sitemaps <strong>(noindex)</strong>', 'wp-seopress' ) .'
 
179
  </label>
180
  </p>
181
  <p>
182
  <label for="seopress_robots_follow_meta">
183
  <input type="checkbox" name="seopress_robots_follow" id="seopress_robots_follow_meta" value="yes" '. checked( $seopress_robots_follow, 'yes', false ) .' '.$disabled['robots_follow'].'/>
184
  '. __( 'Do not follow links for this page <strong>(nofollow)</strong>', 'wp-seopress' ) .'
 
185
  </label>
186
  </p>
187
  <p>
188
  <label for="seopress_robots_odp_meta">
189
  <input type="checkbox" name="seopress_robots_odp" id="seopress_robots_odp_meta" value="yes" '. checked( $seopress_robots_odp, 'yes', false ) .' '.$disabled['robots_odp'].'/>
190
  '. __( 'Do not use Open Directory project metadata for titles or excerpts for this page <strong>(noodp)</strong>', 'wp-seopress' ) .'
 
191
  </label>
192
  </p>
193
  <p>
194
  <label for="seopress_robots_imageindex_meta">
195
  <input type="checkbox" name="seopress_robots_imageindex" id="seopress_robots_imageindex_meta" value="yes" '. checked( $seopress_robots_imageindex, 'yes', false ) .' '.$disabled['imageindex'].'/>
196
  '. __( 'Do not index images for this page <strong>(noimageindex)</strong>', 'wp-seopress' ) .'
 
197
  </label>
198
  </p>
199
  <p>
200
  <label for="seopress_robots_archive_meta">
201
  <input type="checkbox" name="seopress_robots_archive" id="seopress_robots_archive_meta" value="yes" '. checked( $seopress_robots_archive, 'yes', false ) .' '.$disabled['archive'].'/>
202
  '. __( 'Do not display a "Cached" link in the Google search results <strong>(noarchive)</strong>', 'wp-seopress' ) .'
 
203
  </label>
204
  </p>
205
  <p>
206
  <label for="seopress_robots_snippet_meta">
207
  <input type="checkbox" name="seopress_robots_snippet" id="seopress_robots_snippet_meta" value="yes" '. checked( $seopress_robots_snippet, 'yes', false ) .' '.$disabled['snippet'].'/>
208
  '. __( 'Do not display a description in search results for this page <strong>(nosnippet)</strong>', 'wp-seopress' ) .'
 
209
  </label>
210
  </p>
211
  <p class="description">';
@@ -214,9 +258,8 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
214
  echo '</p>
215
  <p>
216
  <label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'wp-seopress' ) .'
217
- <span class="sp-tooltip"><span class="dashicons dashicons-editor-help"></span>
218
- <span class="sp-tooltiptext">'.__('A canonical URL is the URL of the page that Google thinks is most representative from a set of duplicate pages on your site. For example, if you have URLs for the same page (for example: example.com?dress=1234 and example.com/dresses/1234), Google chooses one as canonical. Note that the pages do not need to be absolutely identical; minor changes in sorting or filtering of list pages do not make the page unique (for example, sorting by price or filtering by item color).
219
- The canonical can be in a different domain than a duplicate.','wp-seopress').'</span>
220
  </label>
221
  <input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.esc_html__('Default value: ','wp-seopress').htmlspecialchars(urldecode(get_permalink())).'" aria-label="'.__('Canonical URL','wp-seopress').'" value="'.$seopress_robots_canonical.'" />
222
 
@@ -376,7 +419,7 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
376
  $status_code = array('410','451');
377
  if ($seopress_redirections_value !='' || in_array($seopress_redirections_type, $status_code)) {
378
  if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
379
- if ( 'seopress_404' == $typenow ) {
380
  echo '<a href="'.get_home_url().'/'.get_the_title().'" id="seopress_redirections_value_default" class="button" target="_blank">'.__('Test your URL','wp-seopress').'</a>';
381
  } else {
382
  echo '<a href="'.get_permalink().'" id="seopress_redirections_value_default" class="button" target="_blank">'.__('Test your URL','wp-seopress').'</a>';
26
 
27
  function seopress_display_date_snippet() {
28
  if (seopress_titles_single_cpt_date_option()) {
29
+ return '<div class="snippet-date">'.get_the_modified_date('M j, Y').' - </div>';
30
  }
31
  }
32
  } elseif ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
101
  }
102
  echo '<div class="box-left">
103
  <p style="margin-bottom:0">
104
+ <label for="seopress_titles_title_meta">'
105
+ . __( 'Title', 'wp-seopress' )
106
+ . seopress_tooltip(__('Meta title','wp-seopress'), __('Titles are critical to giving users a quick insight into the content of a result and why it’s relevant to their query. It\'s often the primary piece of information used to decide which result to click on, so it\'s important to use high-quality titles on your web pages.','wp-seopress'), esc_html('<title>My super title</title>')).
107
+ '</label>
108
  <input id="seopress_titles_title_meta" type="text" name="seopress_titles_title" placeholder="'.esc_html__('Enter your title','wp-seopress').'" aria-label="'.__('Title','wp-seopress').'" value="'.$seopress_titles_title.'" />
109
  </p>
110
  <div class="sp-progress">
126
  </div>
127
 
128
  <p style="margin-bottom:0">
129
+ <label for="seopress_titles_desc_meta">'
130
+ . __( 'Meta description', 'wp-seopress' )
131
+ . seopress_tooltip(__('Meta description','wp-seopress'), __('A meta description tag should generally inform and interest users with a short, relevant summary of what a particular page is about. <br>They are like a pitch that convince the user that the page is exactly what they\'re looking for. <br>There\'s no limit on how long a meta description can be, but the search result snippets are truncated as needed, typically to fit the device width.','wp-seopress'), esc_html('<meta name="description" content="my super meta description" />')).'
132
+ </label>
133
  <textarea id="seopress_titles_desc_meta" style="width:100%" rows="4" name="seopress_titles_desc" placeholder="'.esc_html__('Enter your meta description','wp-seopress').'" aria-label="'.__('Meta description','wp-seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
134
  </p>
135
  <div class="sp-progress">
150
  <span id="seopress-tag-single-excerpt" data-tag="%%post_excerpt%%" class="tag-title"><span class="dashicons dashicons-plus"></span>'.__('Post Excerpt','wp-seopress').'</span>
151
  </div>';
152
  }
153
+ echo '</div>';
154
+
155
+ $toggle_preview = 1;
156
+ $toggle_preview = apply_filters('seopress_toggle_mobile_preview', $toggle_preview);
157
+
158
+ echo '<div class="box-right">
159
+ <div class="google-snippet-preview mobile-preview">
160
+ <h3>'
161
+ .__('Google Snippet Preview','wp-seopress')
162
+ . seopress_tooltip(__('Snippet Preview','wp-seopress'), __('The Google preview is a simulation. <br>There is no reliable preview because it depends on the screen resolution, the device used, the expression sought, and Google. <br>There is not one snippet for one URL but several. <br>All the data in this overview comes directly from your source code. <br>This is what the crawlers will see.','wp-seopress'), NULL).'
163
+ </h3>
164
  <p>'.__('This is what your page will look like in Google search results. You have to publish your post to get the Google Snippet Preview.','wp-seopress').'</p>
165
+
166
+ <div class="wrap-toggle-preview">
167
+ <p>
168
+ <span class="dashicons dashicons-smartphone"></span>
169
+ '.__('Mobile Preview','wp-seopress').'
170
+ <input type="checkbox" name="toggle-preview" id="toggle-preview" class="toggle" data-toggle="'.$toggle_preview.'">
171
+ <label for="toggle-preview"></label>
172
+ </p>
173
+ </div>';
174
+
175
+ global $tag;
176
 
177
+ $gp_title = '';
178
+ $gp_permalink = '';
179
+ if (get_the_title()) {
180
+ $gp_title = '<div class="snippet-title-default" style="display:none">'.get_the_title().' - '.get_bloginfo('name').'</div>';
181
+ $gp_permalink = '<div class="snippet-permalink">'.htmlspecialchars(urldecode(get_permalink())).'</div>';
182
+ } elseif ($tag) {
183
+ $gp_title = '<div class="snippet-title-default" style="display:none">'.$tag->name.' - '.get_bloginfo('name').'</div>';
184
+ $gp_permalink = '<div class="snippet-permalink">'.htmlspecialchars(urldecode(get_term_link($tag))).'</div>';
185
+ }
186
+
187
+ $siteicon = '<div class="snippet-favicon"><img aria-hidden="true" height="16" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABs0lEQVR4AWL4//8/RRjO8Iucx+noO0MWUDo16FYABMGP6ZfUcRnWtm27jVPbtm3bttuH2t3eFPcY9pLz7NxiLjCyVd87pKnHyqXyxtCs8APd0rnyxiu4qSeA3QEDrAwBDrT1s1Rc/OrjLZwqVmOSu6+Lamcpp2KKMA9PH1BYXMe1mUP5qotvXTywsOEEYHXxrY+3cqk6TMkYpNr2FeoY3KIr0RPtn9wQ2unlA+GMkRw6+9TFw4YTwDUzx/JVvARj9KaedXRO8P5B1Du2S32smzqUrcKGEyA+uAgQjKX7zf0boWHGfn71jIKj2689gxp7OAGShNcBUmLMPVjZuiKcA2vuWHHDCQxMCz629kXAIU4ApY15QwggAFbfOP9DhgBJ+nWVJ1AZAfICAj1pAlY6hCADZnveQf7bQIwzVONGJonhLIlS9gr5mFg44Xd+4S3XHoGNPdJl1INIwKyEgHckEhgTe1bGiFY9GSFBYUwLh1IkiJUbY407E7syBSFxKTszEoiE/YdrgCEayDmtaJwCI9uu8TKMuZSVfSa4BpGgzvomBR/INhLGzrqDotp01ZR8pn/1L0JN9d9XNyx0AAAAAElFTkSuQmCC" width="16" alt="favicon"></div>';
188
+ if (get_site_icon_url( 32 )) {
189
+ $siteicon = '<div class="snippet-favicon"><img aria-hidden="true" height="16" src="'.get_site_icon_url( 32 ).'" width="16" alt="favicon"/></div>';
190
+ }
191
+
192
+ echo '<div class="wrap-snippet">
193
+ <div class="wrap-m-icon-permalink">'.$siteicon.$gp_permalink.'</div>
194
+ <div class="snippet-title"></div>
195
+ <div class="snippet-title-custom" style="display:none"></div>';
196
+
197
+ echo $gp_title;
198
+ echo $gp_permalink;
199
+
200
+ if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
201
+ echo seopress_display_date_snippet();
202
+ }
203
+ echo '<div class="snippet-description">...</div>
204
+ <div class="snippet-description-custom" style="display:none"></div>
205
+ <div class="snippet-description-default" style="display:none"></div>';
206
+ echo '</div>
207
+ </div>
208
  </div>
209
  </div>';
210
  }
214
  <label for="seopress_robots_index_meta">
215
  <input type="checkbox" name="seopress_robots_index" id="seopress_robots_index_meta" value="yes" '. checked( $seopress_robots_index, 'yes', false ) .' '.$disabled['robots_index'].'/>
216
  '. __( 'Do not display this page in search engine results / XML - HTML sitemaps <strong>(noindex)</strong>', 'wp-seopress' ) .'
217
+ '.seopress_tooltip(__('"noindex" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noindex". <br>Search engines will not index this URL in the search results.','wp-seopress'), esc_html('<meta name="robots" content="noindex" />')).'
218
  </label>
219
  </p>
220
  <p>
221
  <label for="seopress_robots_follow_meta">
222
  <input type="checkbox" name="seopress_robots_follow" id="seopress_robots_follow_meta" value="yes" '. checked( $seopress_robots_follow, 'yes', false ) .' '.$disabled['robots_follow'].'/>
223
  '. __( 'Do not follow links for this page <strong>(nofollow)</strong>', 'wp-seopress' ) .'
224
+ '.seopress_tooltip(__('"nofollow" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "nofollow". <br>Search engines will not follow links from this URL.','wp-seopress'), esc_html('<meta name="robots" content="nofollow" />')).'
225
  </label>
226
  </p>
227
  <p>
228
  <label for="seopress_robots_odp_meta">
229
  <input type="checkbox" name="seopress_robots_odp" id="seopress_robots_odp_meta" value="yes" '. checked( $seopress_robots_odp, 'yes', false ) .' '.$disabled['robots_odp'].'/>
230
  '. __( 'Do not use Open Directory project metadata for titles or excerpts for this page <strong>(noodp)</strong>', 'wp-seopress' ) .'
231
+ '.seopress_tooltip(__('"noodp" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noodp". <br>Note that Google and Yahoo have stopped considering this tag since the closing of DMOZ directory.','wp-seopress'), esc_html('<meta name="robots" content="noodp" />')).'
232
  </label>
233
  </p>
234
  <p>
235
  <label for="seopress_robots_imageindex_meta">
236
  <input type="checkbox" name="seopress_robots_imageindex" id="seopress_robots_imageindex_meta" value="yes" '. checked( $seopress_robots_imageindex, 'yes', false ) .' '.$disabled['imageindex'].'/>
237
  '. __( 'Do not index images for this page <strong>(noimageindex)</strong>', 'wp-seopress' ) .'
238
+ '.seopress_tooltip(__('"noimageindex" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noimageindex". <br> Note that your images can always be indexed if they are linked from other pages.','wp-seopress'), esc_html('<meta name="google" content="noimageindex" />')).'
239
  </label>
240
  </p>
241
  <p>
242
  <label for="seopress_robots_archive_meta">
243
  <input type="checkbox" name="seopress_robots_archive" id="seopress_robots_archive_meta" value="yes" '. checked( $seopress_robots_archive, 'yes', false ) .' '.$disabled['archive'].'/>
244
  '. __( 'Do not display a "Cached" link in the Google search results <strong>(noarchive)</strong>', 'wp-seopress' ) .'
245
+ '.seopress_tooltip(__('"noarchive" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "noarchive".','wp-seopress'), esc_html('<meta name="robots" content="noarchive" />')).'
246
  </label>
247
  </p>
248
  <p>
249
  <label for="seopress_robots_snippet_meta">
250
  <input type="checkbox" name="seopress_robots_snippet" id="seopress_robots_snippet_meta" value="yes" '. checked( $seopress_robots_snippet, 'yes', false ) .' '.$disabled['snippet'].'/>
251
  '. __( 'Do not display a description in search results for this page <strong>(nosnippet)</strong>', 'wp-seopress' ) .'
252
+ '.seopress_tooltip(__('"nosnippet" robots meta tag','wp-seopress'), __('By checking this option, this will add a meta robots tag with the value "nosnippet".','wp-seopress'), esc_html('<meta name="robots" content="nosnippet" />')).'
253
  </label>
254
  </p>
255
  <p class="description">';
258
  echo '</p>
259
  <p>
260
  <label for="seopress_robots_canonical_meta">'. __( 'Canonical URL', 'wp-seopress' ) .'
261
+ '.seopress_tooltip(__('Canonical URL','wp-seopress'), __('A canonical URL is the URL of the page that Google thinks is most representative from a set of duplicate pages on your site. <br>For example, if you have URLs for the same page (for example: example.com?dress=1234 and example.com/dresses/1234), Google chooses one as canonical. <br>Note that the pages do not need to be absolutely identical; minor changes in sorting or filtering of list pages do not make the page unique (for example, sorting by price or filtering by item color).
262
+ The canonical can be in a different domain than a duplicate.','wp-seopress'), esc_html('<link rel="canonical" href="https://www.example.com/my-post-url/" />')).'
 
263
  </label>
264
  <input id="seopress_robots_canonical_meta" type="text" name="seopress_robots_canonical" placeholder="'.esc_html__('Default value: ','wp-seopress').htmlspecialchars(urldecode(get_permalink())).'" aria-label="'.__('Canonical URL','wp-seopress').'" value="'.$seopress_robots_canonical.'" />
265
 
419
  $status_code = array('410','451');
420
  if ($seopress_redirections_value !='' || in_array($seopress_redirections_type, $status_code)) {
421
  if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
422
+ if ( 'seopress_404' == $typenow ) {
423
  echo '<a href="'.get_home_url().'/'.get_the_title().'" id="seopress_redirections_value_default" class="button" target="_blank">'.__('Test your URL','wp-seopress').'</a>';
424
  } else {
425
  echo '<a href="'.get_permalink().'" id="seopress_redirections_value_default" class="button" target="_blank">'.__('Test your URL','wp-seopress').'</a>';
inc/admin/admin-metaboxes.php CHANGED
@@ -10,7 +10,7 @@ function seopress_advanced_security_metaboxe_role_hook_option() {
10
  if ( ! empty ( $seopress_advanced_security_metaboxe_role_hook_option ) ) {
11
  foreach ($seopress_advanced_security_metaboxe_role_hook_option as $key => $seopress_advanced_security_metaboxe_role_hook_value)
12
  $options[$key] = $seopress_advanced_security_metaboxe_role_hook_value;
13
- if (isset($seopress_advanced_security_metaboxe_role_hook_option['seopress_advanced_security_metaboxe_role'])) {
14
  return $seopress_advanced_security_metaboxe_role_hook_option['seopress_advanced_security_metaboxe_role'];
15
  }
16
  }
@@ -21,7 +21,7 @@ function seopress_advanced_security_metaboxe_ca_role_hook_option() {
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
  }
@@ -52,7 +52,7 @@ if (!function_exists('seopress_titles_noindex_option')) {
52
  if ( ! empty ( $seopress_titles_noindex_option ) ) {
53
  foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value)
54
  $options[$key] = $seopress_titles_noindex_value;
55
- if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
56
  return $seopress_titles_noindex_option['seopress_titles_noindex'];
57
  }
58
  }
@@ -68,7 +68,7 @@ if (!function_exists('seopress_titles_single_cpt_nofollow_option')) {
68
  if ( ! empty ( $seopress_titles_single_cpt_nofollow_option ) ) {
69
  foreach ($seopress_titles_single_cpt_nofollow_option as $key => $seopress_titles_single_cpt_nofollow_value)
70
  $options[$key] = $seopress_titles_single_cpt_nofollow_value;
71
- if (isset($seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'])) {
72
  return $seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'];
73
  }
74
  }
@@ -81,7 +81,7 @@ if (!function_exists('seopress_titles_nofollow_option')) {
81
  if ( ! empty ( $seopress_titles_nofollow_option ) ) {
82
  foreach ($seopress_titles_nofollow_option as $key => $seopress_titles_nofollow_value)
83
  $options[$key] = $seopress_titles_nofollow_value;
84
- if (isset($seopress_titles_nofollow_option['seopress_titles_nofollow'])) {
85
  return $seopress_titles_nofollow_option['seopress_titles_nofollow'];
86
  }
87
  }
@@ -94,7 +94,7 @@ if (!function_exists('seopress_titles_noodp_option')) {
94
  if ( ! empty ( $seopress_titles_noodp_option ) ) {
95
  foreach ($seopress_titles_noodp_option as $key => $seopress_titles_noodp_value)
96
  $options[$key] = $seopress_titles_noodp_value;
97
- if (isset($seopress_titles_noodp_option['seopress_titles_noodp'])) {
98
  return $seopress_titles_noodp_option['seopress_titles_noodp'];
99
  }
100
  }
@@ -107,7 +107,7 @@ if (!function_exists('seopress_titles_noarchive_option')) {
107
  if ( ! empty ( $seopress_titles_noarchive_option ) ) {
108
  foreach ($seopress_titles_noarchive_option as $key => $seopress_titles_noarchive_value)
109
  $options[$key] = $seopress_titles_noarchive_value;
110
- if (isset($seopress_titles_noarchive_option['seopress_titles_noarchive'])) {
111
  return $seopress_titles_noarchive_option['seopress_titles_noarchive'];
112
  }
113
  }
@@ -120,7 +120,7 @@ if (!function_exists('seopress_titles_nosnippet_option')) {
120
  if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
121
  foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
122
  $options[$key] = $seopress_titles_nosnippet_value;
123
- if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
124
  return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
125
  }
126
  }
@@ -133,7 +133,7 @@ if (!function_exists('seopress_titles_noimageindex_option')) {
133
  if ( ! empty ( $seopress_titles_noimageindex_option ) ) {
134
  foreach ($seopress_titles_noimageindex_option as $key => $seopress_titles_noimageindex_value)
135
  $options[$key] = $seopress_titles_noimageindex_value;
136
- if (isset($seopress_titles_noimageindex_option['seopress_titles_noimageindex'])) {
137
  return $seopress_titles_noimageindex_option['seopress_titles_noimageindex'];
138
  }
139
  }
@@ -151,13 +151,13 @@ function seopress_display_seo_metaboxe() {
151
  } else {
152
  $seopress_advanced_appearance_metaboxe_position_option = 'default';
153
  }
154
-
155
  if (function_exists('seopress_get_post_types')) {
156
-
157
  $seopress_get_post_types = seopress_get_post_types();
158
 
159
  $seopress_get_post_types = apply_filters('seopress_metaboxe_seo', $seopress_get_post_types);
160
-
161
  if (!empty($seopress_get_post_types)) {
162
  foreach ($seopress_get_post_types as $key => $value) {
163
  add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
@@ -167,42 +167,42 @@ function seopress_display_seo_metaboxe() {
167
  }
168
  }
169
 
170
- function seopress_cpt($post){
171
- wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_cpt_nonce' );
172
-
173
  global $typenow;
 
 
174
 
175
- //init
176
  $disabled = array();
177
-
178
- wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2.js', dirname(dirname(__FILE__ ))), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION);
179
 
180
  if ("seopress_404" != $typenow) {
181
  wp_enqueue_script('jquery-ui-accordion');
182
 
183
  //Register Google Snippet Preview / Content Analysis JS
184
- wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.min.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
185
 
186
  //If Gutenberg ON
187
- if (function_exists('get_current_screen')) {
188
  $get_current_screen = get_current_screen();
189
- if (isset($get_current_screen->is_block_editor)) {
190
- if ($get_current_screen->is_block_editor == 1) {
191
- wp_enqueue_script( 'seopress-block-editor-js', plugins_url( 'assets/js/seopress-block-editor.js', dirname(dirname( __FILE__ ))), array( 'jquery' ), SEOPRESS_VERSION );
192
  }
193
  }
194
  }
195
 
196
- wp_enqueue_script( 'seopress-cpt-video-sitemap-js', plugins_url( 'assets/js/seopress-sitemap-video.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
197
 
198
  $seopress_real_preview = array(
199
- 'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
200
  'seopress_real_preview' => admin_url('admin-ajax.php'),
201
- 'i18n' => array('progress' => __('Analysis in progress...','wp-seopress'))
202
  );
203
  wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
204
-
205
- wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader.js', dirname(dirname( __FILE__ ))), array('jquery'), SEOPRESS_VERSION, false );
206
  wp_enqueue_media();
207
  }
208
 
@@ -225,7 +225,7 @@ function seopress_display_seo_metaboxe() {
225
  } else {
226
  $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
227
  }
228
-
229
  $disabled['robots_odp'] ='';
230
  if (seopress_titles_noodp_option()) {
231
  $seopress_robots_odp = 'yes';
@@ -265,7 +265,7 @@ function seopress_display_seo_metaboxe() {
265
  }
266
  $seopress_social_fb_title = get_post_meta($post->ID,'_seopress_social_fb_title',true);
267
  $seopress_social_fb_desc = get_post_meta($post->ID,'_seopress_social_fb_desc',true);
268
- $seopress_social_fb_img = get_post_meta($post->ID,'_seopress_social_fb_img',true);
269
  $seopress_social_twitter_title = get_post_meta($post->ID,'_seopress_social_twitter_title',true);
270
  $seopress_social_twitter_desc = get_post_meta($post->ID,'_seopress_social_twitter_desc',true);
271
  $seopress_social_twitter_img = get_post_meta($post->ID,'_seopress_social_twitter_img',true);
@@ -298,7 +298,7 @@ function seopress_display_seo_metaboxe() {
298
  if ( 'attachment' !== get_post_type($post_id)) {
299
  $seo_tabs = array();
300
  $seo_tabs = json_decode(stripslashes(htmlspecialchars_decode($_POST['seo_tabs'])));
301
-
302
  if (in_array('title-tab', $seo_tabs)) {
303
  if(isset($_POST['seopress_titles_title'])){
304
  update_post_meta($post_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
@@ -340,7 +340,7 @@ function seopress_display_seo_metaboxe() {
340
  }
341
  if(isset($_POST['seopress_robots_canonical'])){
342
  update_post_meta($post_id, '_seopress_robots_canonical', esc_html($_POST['seopress_robots_canonical']));
343
- }
344
  if(isset($_POST['seopress_robots_primary_cat'])){
345
  update_post_meta($post_id, '_seopress_robots_primary_cat', esc_html($_POST['seopress_robots_primary_cat']));
346
  }
@@ -373,7 +373,7 @@ function seopress_display_seo_metaboxe() {
373
  if (in_array('redirect-tab', $seo_tabs)) {
374
  if(isset($_POST['seopress_redirections_type'])){
375
  update_post_meta($post_id, '_seopress_redirections_type', $_POST['seopress_redirections_type']);
376
- }
377
  if(isset($_POST['seopress_redirections_value'])){
378
  update_post_meta($post_id, '_seopress_redirections_value', esc_html($_POST['seopress_redirections_value']));
379
  }
@@ -418,11 +418,11 @@ function seopress_display_ca_metaboxe() {
418
  $seopress_advanced_appearance_metaboxe_position_option = 'default';
419
  }
420
  if (function_exists('seopress_get_post_types')) {
421
-
422
  $seopress_get_post_types = seopress_get_post_types();
423
 
424
  $seopress_get_post_types = apply_filters('seopress_metaboxe_content_analysis', $seopress_get_post_types);
425
-
426
  if (!empty($seopress_get_post_types)) {
427
  foreach ($seopress_get_post_types as $key => $value) {
428
  add_meta_box('seopress_content_analysis', __('Content analysis','wp-seopress'), 'seopress_content_analysis', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
@@ -432,9 +432,10 @@ function seopress_display_ca_metaboxe() {
432
  }
433
 
434
  function seopress_content_analysis($post) {
 
435
  wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_content_analysis_nonce' );
436
 
437
- wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters.min.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
438
  $seopress_real_preview = array(
439
  'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
440
  'seopress_real_preview' => admin_url('admin-ajax.php'),
@@ -458,18 +459,18 @@ function seopress_display_ca_metaboxe() {
458
  } else {
459
  $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
460
  }
461
-
462
  if (seopress_titles_noodp_option()) {
463
  $seopress_robots_odp = 'yes';
464
  } else {
465
  $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
466
- }
467
 
468
  if (seopress_titles_noarchive_option()) {
469
  $seopress_robots_archive = 'yes';
470
  } else {
471
  $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
472
- }
473
 
474
  if (seopress_titles_nosnippet_option()) {
475
  $seopress_robots_snippet = 'yes';
@@ -482,7 +483,7 @@ function seopress_display_ca_metaboxe() {
482
  } else {
483
  $seopress_robots_imageindex = get_post_meta($post->ID,'_seopress_robots_imageindex',true);
484
  }
485
-
486
  require_once ( dirname( __FILE__ ) . '/admin-metaboxes-content-analysis-form.php'); //Metaboxe HTML
487
  }
488
 
@@ -513,7 +514,7 @@ if (is_user_logged_in()) {
513
  echo seopress_display_ca_metaboxe();
514
  } else {
515
  global $wp_roles;
516
-
517
  //Get current user role
518
  if(isset(wp_get_current_user()->roles[0])) {
519
  $seopress_user_role = wp_get_current_user()->roles[0];
@@ -540,5 +541,5 @@ if (is_user_logged_in()) {
540
  echo seopress_display_ca_metaboxe();
541
  }
542
  }
543
- }
544
  }
10
  if ( ! empty ( $seopress_advanced_security_metaboxe_role_hook_option ) ) {
11
  foreach ($seopress_advanced_security_metaboxe_role_hook_option as $key => $seopress_advanced_security_metaboxe_role_hook_value)
12
  $options[$key] = $seopress_advanced_security_metaboxe_role_hook_value;
13
+ if (isset($seopress_advanced_security_metaboxe_role_hook_option['seopress_advanced_security_metaboxe_role'])) {
14
  return $seopress_advanced_security_metaboxe_role_hook_option['seopress_advanced_security_metaboxe_role'];
15
  }
16
  }
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
  }
52
  if ( ! empty ( $seopress_titles_noindex_option ) ) {
53
  foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value)
54
  $options[$key] = $seopress_titles_noindex_value;
55
+ if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
56
  return $seopress_titles_noindex_option['seopress_titles_noindex'];
57
  }
58
  }
68
  if ( ! empty ( $seopress_titles_single_cpt_nofollow_option ) ) {
69
  foreach ($seopress_titles_single_cpt_nofollow_option as $key => $seopress_titles_single_cpt_nofollow_value)
70
  $options[$key] = $seopress_titles_single_cpt_nofollow_value;
71
+ if (isset($seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'])) {
72
  return $seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'];
73
  }
74
  }
81
  if ( ! empty ( $seopress_titles_nofollow_option ) ) {
82
  foreach ($seopress_titles_nofollow_option as $key => $seopress_titles_nofollow_value)
83
  $options[$key] = $seopress_titles_nofollow_value;
84
+ if (isset($seopress_titles_nofollow_option['seopress_titles_nofollow'])) {
85
  return $seopress_titles_nofollow_option['seopress_titles_nofollow'];
86
  }
87
  }
94
  if ( ! empty ( $seopress_titles_noodp_option ) ) {
95
  foreach ($seopress_titles_noodp_option as $key => $seopress_titles_noodp_value)
96
  $options[$key] = $seopress_titles_noodp_value;
97
+ if (isset($seopress_titles_noodp_option['seopress_titles_noodp'])) {
98
  return $seopress_titles_noodp_option['seopress_titles_noodp'];
99
  }
100
  }
107
  if ( ! empty ( $seopress_titles_noarchive_option ) ) {
108
  foreach ($seopress_titles_noarchive_option as $key => $seopress_titles_noarchive_value)
109
  $options[$key] = $seopress_titles_noarchive_value;
110
+ if (isset($seopress_titles_noarchive_option['seopress_titles_noarchive'])) {
111
  return $seopress_titles_noarchive_option['seopress_titles_noarchive'];
112
  }
113
  }
120
  if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
121
  foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
122
  $options[$key] = $seopress_titles_nosnippet_value;
123
+ if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
124
  return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
125
  }
126
  }
133
  if ( ! empty ( $seopress_titles_noimageindex_option ) ) {
134
  foreach ($seopress_titles_noimageindex_option as $key => $seopress_titles_noimageindex_value)
135
  $options[$key] = $seopress_titles_noimageindex_value;
136
+ if (isset($seopress_titles_noimageindex_option['seopress_titles_noimageindex'])) {
137
  return $seopress_titles_noimageindex_option['seopress_titles_noimageindex'];
138
  }
139
  }
151
  } else {
152
  $seopress_advanced_appearance_metaboxe_position_option = 'default';
153
  }
154
+
155
  if (function_exists('seopress_get_post_types')) {
156
+
157
  $seopress_get_post_types = seopress_get_post_types();
158
 
159
  $seopress_get_post_types = apply_filters('seopress_metaboxe_seo', $seopress_get_post_types);
160
+
161
  if (!empty($seopress_get_post_types)) {
162
  foreach ($seopress_get_post_types as $key => $value) {
163
  add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
167
  }
168
  }
169
 
170
+ function seopress_cpt( $post ){
 
 
171
  global $typenow;
172
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
173
+ wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_cpt_nonce' );
174
 
175
+ //init
176
  $disabled = array();
177
+
178
+ wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
179
 
180
  if ("seopress_404" != $typenow) {
181
  wp_enqueue_script('jquery-ui-accordion');
182
 
183
  //Register Google Snippet Preview / Content Analysis JS
184
+ wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ], SEOPRESS_VERSION );
185
 
186
  //If Gutenberg ON
187
+ if ( function_exists( 'get_current_screen' ) ) {
188
  $get_current_screen = get_current_screen();
189
+ if ( isset( $get_current_screen->is_block_editor ) ) {
190
+ if ( $get_current_screen->is_block_editor ) {
191
+ wp_enqueue_script( 'seopress-block-editor-js', plugins_url( 'assets/js/seopress-block-editor' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION );
192
  }
193
  }
194
  }
195
 
196
+ wp_enqueue_script( 'seopress-cpt-video-sitemap-js', plugins_url( 'assets/js/seopress-sitemap-video' . $prefix . '.js', dirname(dirname( __FILE__ ))), [ 'jquery', 'jquery-ui-accordion' ], SEOPRESS_VERSION );
197
 
198
  $seopress_real_preview = array(
199
+ 'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
200
  'seopress_real_preview' => admin_url('admin-ajax.php'),
201
+ 'i18n' => [ 'progress' => __( 'Analysis in progress...', 'wp-seopress' ) ]
202
  );
203
  wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
204
+
205
+ wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, false );
206
  wp_enqueue_media();
207
  }
208
 
225
  } else {
226
  $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
227
  }
228
+
229
  $disabled['robots_odp'] ='';
230
  if (seopress_titles_noodp_option()) {
231
  $seopress_robots_odp = 'yes';
265
  }
266
  $seopress_social_fb_title = get_post_meta($post->ID,'_seopress_social_fb_title',true);
267
  $seopress_social_fb_desc = get_post_meta($post->ID,'_seopress_social_fb_desc',true);
268
+ $seopress_social_fb_img = get_post_meta($post->ID,'_seopress_social_fb_img',true);
269
  $seopress_social_twitter_title = get_post_meta($post->ID,'_seopress_social_twitter_title',true);
270
  $seopress_social_twitter_desc = get_post_meta($post->ID,'_seopress_social_twitter_desc',true);
271
  $seopress_social_twitter_img = get_post_meta($post->ID,'_seopress_social_twitter_img',true);
298
  if ( 'attachment' !== get_post_type($post_id)) {
299
  $seo_tabs = array();
300
  $seo_tabs = json_decode(stripslashes(htmlspecialchars_decode($_POST['seo_tabs'])));
301
+
302
  if (in_array('title-tab', $seo_tabs)) {
303
  if(isset($_POST['seopress_titles_title'])){
304
  update_post_meta($post_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
340
  }
341
  if(isset($_POST['seopress_robots_canonical'])){
342
  update_post_meta($post_id, '_seopress_robots_canonical', esc_html($_POST['seopress_robots_canonical']));
343
+ }
344
  if(isset($_POST['seopress_robots_primary_cat'])){
345
  update_post_meta($post_id, '_seopress_robots_primary_cat', esc_html($_POST['seopress_robots_primary_cat']));
346
  }
373
  if (in_array('redirect-tab', $seo_tabs)) {
374
  if(isset($_POST['seopress_redirections_type'])){
375
  update_post_meta($post_id, '_seopress_redirections_type', $_POST['seopress_redirections_type']);
376
+ }
377
  if(isset($_POST['seopress_redirections_value'])){
378
  update_post_meta($post_id, '_seopress_redirections_value', esc_html($_POST['seopress_redirections_value']));
379
  }
418
  $seopress_advanced_appearance_metaboxe_position_option = 'default';
419
  }
420
  if (function_exists('seopress_get_post_types')) {
421
+
422
  $seopress_get_post_types = seopress_get_post_types();
423
 
424
  $seopress_get_post_types = apply_filters('seopress_metaboxe_content_analysis', $seopress_get_post_types);
425
+
426
  if (!empty($seopress_get_post_types)) {
427
  foreach ($seopress_get_post_types as $key => $value) {
428
  add_meta_box('seopress_content_analysis', __('Content analysis','wp-seopress'), 'seopress_content_analysis', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
432
  }
433
 
434
  function seopress_content_analysis($post) {
435
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
436
  wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_content_analysis_nonce' );
437
 
438
+ wp_enqueue_script( 'seopress-cpt-counters-js', plugins_url( 'assets/js/seopress-counters' . $prefix . '.js', dirname(dirname( __FILE__ ))), array( 'jquery', 'jquery-ui-tabs', 'jquery-ui-accordion' ), SEOPRESS_VERSION );
439
  $seopress_real_preview = array(
440
  'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
441
  'seopress_real_preview' => admin_url('admin-ajax.php'),
459
  } else {
460
  $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
461
  }
462
+
463
  if (seopress_titles_noodp_option()) {
464
  $seopress_robots_odp = 'yes';
465
  } else {
466
  $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
467
+ }
468
 
469
  if (seopress_titles_noarchive_option()) {
470
  $seopress_robots_archive = 'yes';
471
  } else {
472
  $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
473
+ }
474
 
475
  if (seopress_titles_nosnippet_option()) {
476
  $seopress_robots_snippet = 'yes';
483
  } else {
484
  $seopress_robots_imageindex = get_post_meta($post->ID,'_seopress_robots_imageindex',true);
485
  }
486
+
487
  require_once ( dirname( __FILE__ ) . '/admin-metaboxes-content-analysis-form.php'); //Metaboxe HTML
488
  }
489
 
514
  echo seopress_display_ca_metaboxe();
515
  } else {
516
  global $wp_roles;
517
+
518
  //Get current user role
519
  if(isset(wp_get_current_user()->roles[0])) {
520
  $seopress_user_role = wp_get_current_user()->roles[0];
541
  echo seopress_display_ca_metaboxe();
542
  }
543
  }
544
+ }
545
  }
inc/admin/admin-notifications-center.php CHANGED
@@ -1,4 +1,9 @@
1
  <?php
 
 
 
 
 
2
  //Notifications Center
3
  function seopress_advanced_appearance_notifications_option() {
4
  $seopress_advanced_appearance_notifications_option = get_option("seopress_advanced_option_name");
@@ -76,37 +81,35 @@
76
  <div id="tab_seopress_notifications" class="seopress-tab <?php if ($current_tab == 'tab_seopress_notifications') { echo 'active'; } ?>">
77
  <div id="seopress-notifications-center">
78
  <?php
79
- function seopress_get_hidden_notices_wizard_option() {
80
- $seopress_get_hidden_notices_wizard_option = get_option("seopress_notices");
81
- if ( ! empty ( $seopress_get_hidden_notices_wizard_option ) ) {
82
- foreach ($seopress_get_hidden_notices_wizard_option as $key => $seopress_get_hidden_notices_wizard_value)
83
- $options[$key] = $seopress_get_hidden_notices_wizard_value;
84
- if (isset($seopress_get_hidden_notices_wizard_option['notice-wizard'])) {
85
- return $seopress_get_hidden_notices_wizard_option['notice-wizard'];
86
- }
87
- }
88
  }
89
- if(seopress_get_hidden_notices_wizard_option() =='1') {
90
- //do nothing
91
- } else { ?>
92
- <div id="notice-wizard-alert" class="seopress-alert deleteable">
93
- <span class="dashicons dashicons-info"></span>
94
- <div class="notice-left">
95
- <p>
96
- <?php _e('Configure SEOPress in a few minutes with our installation wizard','wp-seopress'); ?>
97
- </p>
98
- <p>
99
- <?php _e('The best way to quickly setup SEOPress on your site.','wp-seopress'); ?>
100
- </p>
101
- </div>
102
- <div class="notice-right">
103
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-setup' ); ?>"><?php _e('Start the wizard','wp-seopress'); ?></a>
104
- <span name="notice-wizard" id="notice-wizard" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-wizard"></span>
105
- </div>
106
- </div>
107
- <?php }
108
- ?>
109
- <?php if (get_theme_support('title-tag') !='1') {
110
  function seopress_get_hidden_notices_title_tag_option() {
111
  $seopress_get_hidden_notices_title_tag_option = get_option("seopress_notices");
112
  if ( !empty ( $seopress_get_hidden_notices_title_tag_option ) ) {
@@ -117,101 +120,70 @@
117
  }
118
  }
119
  }
120
- if(seopress_get_hidden_notices_title_tag_option() =='1') {
121
- //do nothing
122
- } else { ?>
123
- <div id="notice-title-tag-alert" class="seopress-alert deleteable">
124
- <span class="dashicons dashicons-info"></span>
125
- <div class="notice-left">
126
- <p>
127
- <?php _e('Your theme doesn\'t use <strong>add_theme_support(\'title-tag\');</strong>','wp-seopress'); ?>
128
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
129
- </p>
130
- <p>
131
- <?php _e('This error indicates that your theme uses a deprecated function to generate the title tag of your pages. SEOPress will not be able to generate your custom title tags if this error is not fixed.','wp-seopress'); ?>
132
- </p>
133
- </div>
134
-
135
- <?php
136
- if (function_exists('seopress_get_locale')) {
137
- if (seopress_get_locale() =='fr') {
138
- $seopress_docs_link['support']['title-tag'] = 'https://www.seopress.org/fr/support/guides/resoudre-add_theme_support-manquant-dans-votre-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
139
- } else {
140
- $seopress_docs_link['support']['title-tag'] = 'https://www.seopress.org/support/guides/fixing-missing-add_theme_support-in-your-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
141
- }
142
- } ?>
143
- <div class="notice-right">
144
- <?php echo '<a class="button-primary" href="'.$seopress_docs_link['support']['title-tag'].'" target="_blank">'.__('Learn more','wp-seopress').'</a>'; ?>
145
- <span name="notice-title-tag" id="notice-title-tag" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-title-tag"></span>
146
- </div>
147
- </div>
148
- <?php }
149
- } ?>
150
- <?php
151
- $seo_plugins = array(
152
- 'wordpress-seo/wp-seo.php' => 'Yoast SEO',
153
- 'wordpress-seo-premium/wp-seo-premium.php' => 'Yoast SEO Premium',
154
- 'all-in-one-seo-pack/all_in_one_seo_pack.php' => 'All In One SEO',
155
- 'autodescription/autodescription.php' => 'The SEO Framework',
156
- 'squirrly-seo/squirrly.php' => 'Squirrly SEO',
157
- 'seo-by-rank-math/rank-math.php' => 'Rank Math',
158
- );
159
 
160
- foreach($seo_plugins as $key => $value) {
161
- if (is_plugin_active($key)) { ?>
162
- <div class="seopress-alert">
163
- <span class="dashicons dashicons-info"></span>
164
- <div class="notice-left">
165
- <p>
166
- <?php echo sprintf(__('We noticed that you use <strong>%s</strong> plugin.','wp-seopress'), $value); ?>
167
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
168
- </p>
169
- <p>
170
- <?php _e('Do you want to migrate all your metadata to SEOPress? Do not use multiple SEO plugins at once to avoid conflicts!','wp-seopress'); ?>
171
- </p>
172
- </div>
173
- <div class="notice-right">
174
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-import-export' ); ?>"><?php _e('Migrate!','wp-seopress'); ?></a>
175
- </div>
176
- </div>
177
- <?php }
178
  }
179
- ?>
180
- <?php if (is_plugin_active('seo-ultimate/seo-ultimate.php') || is_plugin_active('premium-seo-pack/index.php') || is_plugin_active('wp-meta-seo/wp-meta-seo.php')) { ?>
181
- <div class="seopress-alert">
182
- <span class="dashicons dashicons-info"></span>
183
- <div class="notice-left">
184
- <p>
185
- <?php _e('We noticed that you use another SEO plugin.','wp-seopress'); ?>
186
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
187
- </p>
188
- <p>
189
- <?php _e('Do not use multiple SEO plugins at once to avoid conflicts!','wp-seopress'); ?>
190
- </p>
191
- </div>
192
- <div class="notice-right">
193
- <a class="button-primary" href="<?php echo admin_url( 'plugins.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
194
- </div>
195
- </div>
196
- <?php } ?>
197
- <?php
198
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
199
- if (seopress_404_cleaning_option() == 1 && !wp_next_scheduled('seopress_404_cron_cleaning')) { ?>
200
- <div class="seopress-alert">
201
- <span class="dashicons dashicons-info"></span>
202
- <div class="notice-left">
203
- <p>
204
- <?php _e('You have enabled 404 cleaning BUT the scheduled task is not running.','wp-seopress'); ?>
205
- </p>
206
- <p>
207
- <?php _e('To solve this, please disable and re-enable SEOPress PRO. No data will be lost.','wp-seopress'); ?>
208
- </p>
209
- </div>
210
- </div>
211
- <?php }
212
- } ?>
213
- <?php if (!is_ssl()) { ?>
214
- <?php
215
  function seopress_get_hidden_notices_ssl_option() {
216
  $seopress_get_hidden_notices_ssl_option = get_option("seopress_notices");
217
  if ( ! empty ( $seopress_get_hidden_notices_ssl_option ) ) {
@@ -222,54 +194,43 @@
222
  }
223
  }
224
  }
225
- if(seopress_get_hidden_notices_ssl_option() =='1') {
226
- //do nothing
227
- } else { ?>
228
- <div id="notice-ssl-alert" class="seopress-alert deleteable">
229
- <span class="dashicons dashicons-info"></span>
230
- <div class="notice-left">
231
- <p>
232
- <?php _e('Your site doesn\'t use an SSL certificate!','wp-seopress'); ?>
233
- <span class="impact low"><?php _e('Low impact','wp-seopress'); ?></span>
234
- </p>
235
- <p>
236
- <?php _e('Https is considered by Google as a positive signal for the ranking of your site. It also reassures your visitors for data security, and improves trust.','wp-seopress'); ?>
237
- <a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html" target="_blank"><?php _e('Learn more','wp-seopress'); ?></a>
238
- </p>
239
- </div>
240
- <div class="notice-right">
241
- <a class="button-primary" href="https://www.namecheap.com/?aff=105841" target="_blank"><?php _e('Buy an SSL!','wp-seopress'); ?></a>
242
- <span name="notice-ssl" id="notice-ssl" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-ssl"></span>
243
- </div>
244
- </div>
245
- <?php }
246
- ?>
247
- <?php } ?>
248
- <?php if (function_exists('extension_loaded') && !extension_loaded('dom')) { ?>
249
- <div id="notice-ssl-alert" class="seopress-alert">
250
- <span class="dashicons dashicons-info"></span>
251
- <div class="notice-left">
252
- <p>
253
- <?php _e('PHP module "DOM" is missing on your server.','wp-seopress'); ?>
254
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
255
- </p>
256
- <p>
257
- <?php _e('This PHP module, installed by default with PHP, is required by many plugins including SEOPress. Please contact your host as soon as possible to solve this.','wp-seopress'); ?>
258
- </p>
259
- </div>
260
- <?php
261
- if (function_exists('seopress_get_locale')) {
262
- if (seopress_get_locale() =='fr') {
263
- $seopress_docs_link['support']['dom'] = 'https://www.seopress.org/fr/support/guides/debutez-seopress/';
264
- } else {
265
- $seopress_docs_link['support']['dom'] = 'https://www.seopress.org/support/guides/get-started-seopress/';
266
- }
267
- } ?>
268
- <div class="notice-right">
269
- <?php echo '<a class="button-primary" href="'.$seopress_docs_link['support']['dom'].'" target="_blank">'.__('Learn more','wp-seopress').'</a>'; ?>
270
- </div>
271
- </div>
272
- <?php }
273
  if (!function_exists('seopress_titles_noindex_option')) {
274
  function seopress_titles_noindex_option() {
275
  $seopress_titles_noindex_option = get_option("seopress_titles_option_name");
@@ -282,363 +243,328 @@
282
  }
283
  }
284
  }
285
- if (seopress_titles_noindex_option()=='1' || get_option('blog_public') !='1') { ?>
286
- <div class="seopress-alert">
287
- <span class="dashicons dashicons-info"></span>
288
- <div class="notice-left">
289
- <p>
290
- <?php _e('Your site is not visible to Search Engines!','wp-seopress'); ?>
291
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
292
- </p>
293
- <p>
294
- <?php _e('You have activated the blocking of the indexing of your site. If your site is under development, this is probably normal. Otherwise, check your settings. Delete this notification using the cross on the right if you are not concerned.','wp-seopress'); ?>
295
- </p>
296
- </div>
297
- <div class="notice-right">
298
- <a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
299
- </div>
300
- </div>
301
- <?php } ?>
302
- <?php if (get_option('blogname') =='') { ?>
303
- <div class="seopress-alert">
304
- <span class="dashicons dashicons-info"></span>
305
- <div class="notice-left">
306
- <p>
307
- <?php _e('Your site title is empty!','wp-seopress'); ?>
308
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
309
- </p>
310
- <p>
311
- <?php _e('Your Site Title is used by WordPress, your theme and your plugins including SEOPress. It is an essential component in the generation of title tags, but not only. Enter one!','wp-seopress'); ?>
312
- </p>
313
- </div>
314
- <div class="notice-right">
315
- <a class="button-primary" href="<?php echo admin_url( 'options-general.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
316
- </div>
317
- </div>
318
- <?php } ?>
319
- <?php if (get_option('permalink_structure') =='') { ?>
320
- <div class="seopress-alert">
321
- <span class="dashicons dashicons-info"></span>
322
- <div class="notice-left">
323
- <p>
324
- <?php _e('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.','wp-seopress'); ?>
325
- <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
326
- </p>
327
- <p>
328
- <?php _e('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...','wp-seopress'); ?>
329
- </p>
330
- </div>
331
- <div class="notice-right">
332
- <a class="button-primary" href="<?php echo admin_url( 'options-permalink.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
333
- </div>
334
- </div>
335
- <?php } ?>
336
- <?php
337
- if(get_option('rss_use_excerpt') =='0') {
338
- function seopress_get_hidden_notices_rss_use_excerpt_option() {
339
- $seopress_get_hidden_notices_rss_use_excerpt_option = get_option("seopress_notices");
340
- if ( ! empty ( $seopress_get_hidden_notices_rss_use_excerpt_option ) ) {
341
- foreach ($seopress_get_hidden_notices_rss_use_excerpt_option as $key => $seopress_get_hidden_notices_rss_use_excerpt_value)
342
- $options[$key] = $seopress_get_hidden_notices_rss_use_excerpt_value;
343
- if (isset($seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'])) {
344
- return $seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'];
345
- }
346
- }
347
- }
348
- if(seopress_get_hidden_notices_rss_use_excerpt_option() =='1') {
349
- //do nothing
350
- } else { ?>
351
- <div id="notice-rss-use-excerpt-alert" class="seopress-alert deleteable">
352
- <span class="dashicons dashicons-info"></span>
353
- <div class="notice-left">
354
- <p>
355
- <?php _e('Your RSS feed shows full text!','wp-seopress'); ?>
356
- <span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
357
- </p>
358
- <p>
359
- <?php _e('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...','wp-seopress'); ?>
360
- </p>
361
- </div>
362
- <div class="notice-right">
363
- <a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
364
- <span name="notice-rss-use-excerpt" id="notice-rss-use-excerpt" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-rss-use-excerpt"></span>
365
- </div>
366
- </div>
367
- <?php }
368
- }
369
- ?>
370
- <?php
371
- function seopress_get_hidden_notices_review_option() {
372
- $seopress_get_hidden_notices_review_option = get_option("seopress_notices");
373
- if ( ! empty ( $seopress_get_hidden_notices_review_option ) ) {
374
- foreach ($seopress_get_hidden_notices_review_option as $key => $seopress_get_hidden_notices_review_value)
375
- $options[$key] = $seopress_get_hidden_notices_review_value;
376
- if (isset($seopress_get_hidden_notices_review_option['notice-review'])) {
377
- return $seopress_get_hidden_notices_review_option['notice-review'];
378
  }
379
  }
380
  }
381
- if(seopress_get_hidden_notices_review_option() =='1') {
382
- //do nothing
383
- } else { ?>
384
- <div id="notice-review-alert" class="seopress-alert deleteable">
385
- <span class="dashicons dashicons-info"></span>
386
- <div class="notice-left">
387
- <p>
388
- <?php _e('You like SEOPress? Please help us by rating us 5 stars!','wp-seopress'); ?>
389
- </p>
390
- <p>
391
- <?php _e('Support the development and improvement of the plugin by taking 15 seconds of your time to leave us a user review on the official WordPress plugins repository. Thank you!','wp-seopress'); ?>
392
- </p>
393
- </div>
394
- <div class="notice-right">
395
- <a class="button-primary" href="https://wordpress.org/support/view/plugin-reviews/wp-seopress?rate=5#postform" target="_blank"><?php _e('Rate us!','wp-seopress'); ?></a>
396
- <span name="notice-review" id="notice-review" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-review"></span>
397
- </div>
398
- </div>
399
- <?php }
400
-
401
- ?>
402
- <?php
403
- if(get_option('page_comments') =='1') {
404
- function seopress_get_hidden_notices_divide_comments_option() {
405
- $seopress_get_hidden_notices_divide_comments_option = get_option("seopress_notices");
406
- if ( ! empty ( $seopress_get_hidden_notices_divide_comments_option ) ) {
407
- foreach ($seopress_get_hidden_notices_divide_comments_option as $key => $seopress_get_hidden_notices_divide_comments_value)
408
- $options[$key] = $seopress_get_hidden_notices_divide_comments_value;
409
- if (isset($seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'])) {
410
- return $seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'];
411
- }
412
- }
413
- }
414
- if(seopress_get_hidden_notices_divide_comments_option() =='1') {
415
- //do nothing
416
- } else { ?>
417
- <div id="notice-divide-comments-alert" class="seopress-alert deleteable">
418
- <span class="dashicons dashicons-info"></span>
419
- <div class="notice-left">
420
- <p>
421
- <?php _e('Break comments into pages is ON!','wp-seopress'); ?>
422
- <span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
423
- </p>
424
- <p>
425
- <?php _e('Enabling this option will create duplicate content for each article beyond x comments. This can have a disastrous effect by creating a large number of poor quality pages, and slowing the Google bot unnecessarily, so your ranking in search results.','wp-seopress'); ?>
426
- </p>
427
- </div>
428
- <div class="notice-right">
429
- <a class="button-primary" href="<?php echo admin_url( 'options-discussion.php' ); ?>"><?php _e('Disable this!','wp-seopress'); ?></a>
430
- <span name="notice-divide-comments" id="notice-divide-comments" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-divide-comments"></span>
431
- </div>
432
- </div>
433
- <?php }
434
  }
435
- ?>
436
- <?php
437
- if(get_option('posts_per_page') < '16') {
438
- function seopress_get_hidden_notices_posts_number_option() {
439
- $seopress_get_hidden_notices_posts_number_option = get_option("seopress_notices");
440
- if ( ! empty ( $seopress_get_hidden_notices_posts_number_option ) ) {
441
- foreach ($seopress_get_hidden_notices_posts_number_option as $key => $seopress_get_hidden_notices_posts_number_value)
442
- $options[$key] = $seopress_get_hidden_notices_posts_number_value;
443
- if (isset($seopress_get_hidden_notices_posts_number_option['notice-posts-number'])) {
444
- return $seopress_get_hidden_notices_posts_number_option['notice-posts-number'];
445
- }
446
  }
447
- }
448
- if(seopress_get_hidden_notices_posts_number_option() =='1') {
449
- //do nothing
450
- } else { ?>
451
- <div id="notice-posts-number-alert" class="seopress-alert deleteable">
452
- <span class="dashicons dashicons-info"></span>
453
- <div class="notice-left">
454
- <p>
455
- <?php _e('Display more posts per page on homepage and archives','wp-seopress'); ?>
456
- <span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
457
- </p>
458
- <p>
459
- <?php _e('To reduce the number pages search engines have to crawl to find all your articles, it is recommended displaying more posts per page. This should not be a problem for your users. Using mobile, we prefer to scroll down rather than clicking on next page links. If you can do it, try adding an infinite scroll to your post listings.','wp-seopress'); ?>
460
- </p>
461
- </div>
462
- <div class="notice-right">
463
- <a class="button-primary" href="<?php echo admin_url( 'options-reading.php' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
464
- <span name="notice-posts-number" id="notice-posts-number" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-posts-number"></span>
465
- </div>
466
- </div>
467
- <?php }
468
  }
469
- ?>
470
- <?php if (seopress_xml_sitemap_general_enable_option() !='1') { ?>
471
- <div class="seopress-alert">
472
- <span class="dashicons dashicons-info"></span>
473
- <div class="notice-left">
474
- <p>
475
- <?php _e('You don\'t have an XML Sitemap!','wp-seopress'); ?>
476
- <span class="impact medium"><?php _e('Medium impact','wp-seopress'); ?></span>
477
- </p>
478
- <p>
479
- <?php _e('XML Sitemaps are useful to facilitate the crawling of your content by search engine robots. Indirectly, this can benefit your ranking by reducing the crawl bugdet.','wp-seopress'); ?>
480
- </p>
481
- </div>
482
- <div class="notice-right">
483
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-xml-sitemap' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
484
- </div>
485
- </div>
486
- <?php } ?>
487
-
488
- <?php
489
- function seopress_get_hidden_notices_google_business_option() {
490
- $seopress_get_hidden_notices_google_business_option = get_option("seopress_notices");
491
- if ( ! empty ( $seopress_get_hidden_notices_google_business_option ) ) {
492
- foreach ($seopress_get_hidden_notices_google_business_option as $key => $seopress_get_hidden_notices_google_business_value)
493
- $options[$key] = $seopress_get_hidden_notices_google_business_value;
494
- if (isset($seopress_get_hidden_notices_google_business_option['notice-google-business'])) {
495
- return $seopress_get_hidden_notices_google_business_option['notice-google-business'];
496
  }
497
  }
498
  }
499
- if(seopress_get_hidden_notices_google_business_option() =='1') {
500
- //do nothing
501
- } else { ?>
502
- <div id="notice-google-business-alert" class="seopress-alert deleteable">
503
- <span class="dashicons dashicons-info"></span>
504
- <div class="notice-left">
505
- <p>
506
- <?php _e('Do you have a Google My Business page? It\'s free!','wp-seopress'); ?>
507
- <span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
508
- </p>
509
- <p>
510
- <?php _e('Local Business websites should have a My Business page to improve visibility in search results. Click on the cross on the right to delete this notification if you are not concerned.','wp-seopress'); ?>
511
- </p>
512
- </div>
513
- <div class="notice-right">
514
- <a class="button-primary" href="https://www.google.com/business/go/" target="_blank"><?php _e('Create your page now!','wp-seopress'); ?></a>
515
- <span name="notice-google-business" id="notice-google-business" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-google-business"></span>
516
- </div>
517
- </div>
518
- <?php }
519
- ?>
520
-
521
- <?php
522
- function seopress_get_hidden_notices_search_console_option() {
523
- $seopress_get_hidden_notices_search_console_option = get_option("seopress_notices");
524
- if ( ! empty ( $seopress_get_hidden_notices_search_console_option ) ) {
525
- foreach ($seopress_get_hidden_notices_search_console_option as $key => $seopress_get_hidden_notices_search_console_value)
526
- $options[$key] = $seopress_get_hidden_notices_search_console_value;
527
- if (isset($seopress_get_hidden_notices_search_console_option['notice-search-console'])) {
528
- return $seopress_get_hidden_notices_search_console_option['notice-search-console'];
529
- }
530
- }
531
  }
532
- function seopress_get_google_site_verification_option() {
533
- $seopress_get_google_site_verification_option = get_option("seopress_advanced_option_name");
534
- if ( ! empty ( $seopress_get_google_site_verification_option ) ) {
535
- foreach ($seopress_get_google_site_verification_option as $key => $seopress_get_google_site_verification_value)
536
- $options[$key] = $seopress_get_google_site_verification_value;
537
- if (isset($seopress_get_google_site_verification_option['seopress_advanced_advanced_google'])) {
538
- return $seopress_get_google_site_verification_option['seopress_advanced_advanced_google'];
 
 
539
  }
540
  }
541
  }
542
- if(seopress_get_hidden_notices_search_console_option() =='1') {
543
- //do nothing
544
- } elseif(seopress_get_google_site_verification_option() =='') { ?>
545
- <div id="notice-search-console-alert" class="seopress-alert deleteable">
546
- <span class="dashicons dashicons-info"></span>
547
- <div class="notice-left">
548
- <p>
549
- <?php _e('Add your site to Google. It\'s free!','wp-seopress'); ?>
550
- <span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
551
- </p>
552
- <p>
553
- <?php _e('Is your brand new site online? So reference it as quickly as possible on Google to get your first visitors via Google Search Console. Already the case? Click on the cross on the right to remove this alert.','wp-seopress'); ?>
554
- </p>
555
- </div>
556
- <div class="notice-right">
557
- <a class="button-primary" href="https://www.google.com/webmasters/tools/home" target="_blank"><?php _e('Add your site to Search Console!','wp-seopress'); ?></a>
558
- <span name="notice-search-console" id="notice-search-console" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-search-console"></span>
559
- </div>
560
- </div>
561
- <?php }
562
- ?>
563
-
564
- <?php
565
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
566
- if(function_exists('seopress_rich_snippets_enable_option') && seopress_rich_snippets_enable_option() !="1") {
567
- ?>
568
- <div id="notice-schemas-metabox-alert" class="seopress-alert">
569
- <span class="dashicons dashicons-info"></span>
570
- <div class="notice-left">
571
- <p>
572
- <strong><?php _e('Structured data types is not correctly enabled','wp-seopress'); ?></strong>
573
- <span class="impact high"><?php _e('Huge impact','wp-seopress'); ?></span>
574
- </p>
575
- <p>
576
- <?php _e('Please enable <strong>Structured Data Types metabox for your posts, pages and custom post types</strong> option in order to use automatic and manual schemas. (SEO > PRO > Structured Data Types (schema.org)','wp-seopress'); ?>
577
- </p>
578
- </div>
579
- <div class="notice-right">
580
- <a class="button-primary" href="<?php echo esc_url( admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_rich_snippets')); ?>" target="_blank"><?php _e('Fix this!','wp-seopress'); ?></a>
581
- </div>
582
- </div>
583
- <?php
584
- }
585
- }
586
- ?>
587
-
588
- <?php if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
589
- <div class="seopress-alert">
590
- <span class="dashicons dashicons-info"></span>
591
- <div class="notice-left">
592
- <p>
593
- <?php _e('You have to enter your licence key to get updates and support','wp-seopress'); ?>
594
- <span class="impact high info"><?php _e('License','wp-seopress'); ?></span>
595
- </p>
596
- <p>
597
- <?php _e('Please activate the SEOPress PRO license key to automatically receive updates to guarantee you the best user experience possible.','wp-seopress'); ?>
598
- </p>
599
- </div>
600
- <div class="notice-right">
601
- <a class="button-primary" href="<?php echo admin_url( 'admin.php?page=seopress-license' ); ?>"><?php _e('Fix this!','wp-seopress'); ?></a>
602
- </div>
603
- </div>
604
- <?php } ?>
605
-
606
- <?php
607
- if (!is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
608
- function seopress_get_hidden_notices_go_pro_option() {
609
- $seopress_get_hidden_notices_go_pro_option = get_option("seopress_notices");
610
- if ( ! empty ( $seopress_get_hidden_notices_go_pro_option ) ) {
611
- foreach ($seopress_get_hidden_notices_go_pro_option as $key => $seopress_get_hidden_notices_go_pro_value)
612
- $options[$key] = $seopress_get_hidden_notices_go_pro_value;
613
- if (isset($seopress_get_hidden_notices_go_pro_option['notice-go-pro'])) {
614
- return $seopress_get_hidden_notices_go_pro_option['notice-go-pro'];
615
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
616
  }
617
  }
618
- if(seopress_get_hidden_notices_go_pro_option() =='1') {
619
- //do nothing
620
- } elseif(seopress_get_hidden_notices_go_pro_option() =='') {
621
- ?>
622
- <div id="notice-go-pro-alert" class="seopress-alert deleteable">
623
- <span class="dashicons dashicons-info"></span>
624
- <div class="notice-left">
625
- <p>
626
- <strong><?php _e('Take your SEO to the next level with SEOPress PRO!','wp-seopress'); ?></strong>
627
- <span class="impact high info"><?php _e('PRO','wp-seopress'); ?></span>
628
- </p>
629
- <p>
630
- <?php _e('The PRO version of SEOPress allows you to easily manage your structured data (schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO for WooCommerce, gain productivity with our import / export tool from a CSV of your metadata and so much more.','wp-seopress'); ?>
631
- </p>
632
- </div>
633
- <div class="notice-right">
634
- <a class="button-primary" href="https://www.seopress.org/?utm_source=plugin&utm_medium=notification&utm_campaign=dashboard" target="_blank"><?php _e('Upgrade now!','wp-seopress'); ?></a>
635
- <span name="notice-go-pro" id="notice-go-pro" class="dashicons dashicons-no-alt remove-notice" data-notice="notice-go-pro"></span>
636
- </div>
637
- </div>
638
- <?php }
639
  } ?>
640
  </div><!--#seopress-notifications-center-->
641
-
642
  </div>
643
  <?php } ?>
644
 
1
  <?php
2
+ // To prevent calling the plugin directly
3
+ if ( !function_exists( 'add_action' ) ) {
4
+ echo 'Please don&rsquo;t call the plugin directly. Thanks :)';
5
+ exit;
6
+ }
7
  //Notifications Center
8
  function seopress_advanced_appearance_notifications_option() {
9
  $seopress_advanced_appearance_notifications_option = get_option("seopress_advanced_option_name");
81
  <div id="tab_seopress_notifications" class="seopress-tab <?php if ($current_tab == 'tab_seopress_notifications') { echo 'active'; } ?>">
82
  <div id="seopress-notifications-center">
83
  <?php
84
+ function seopress_get_hidden_notices_wizard_option() {
85
+ $seopress_get_hidden_notices_wizard_option = get_option("seopress_notices");
86
+ if ( ! empty ( $seopress_get_hidden_notices_wizard_option ) ) {
87
+ foreach ($seopress_get_hidden_notices_wizard_option as $key => $seopress_get_hidden_notices_wizard_value)
88
+ $options[$key] = $seopress_get_hidden_notices_wizard_value;
89
+ if (isset($seopress_get_hidden_notices_wizard_option['notice-wizard'])) {
90
+ return $seopress_get_hidden_notices_wizard_option['notice-wizard'];
91
+ }
 
92
  }
93
+ }
94
+ if(seopress_get_hidden_notices_wizard_option() !='1') {
95
+ $args = [
96
+ 'id' => 'notice-wizard',
97
+ 'title' => __('Configure SEOPress in a few minutes with our installation wizard','wp-seopress'),
98
+ 'desc' => __('The best way to quickly setup SEOPress on your site.','wp-seopress'),
99
+ 'impact' => [
100
+ 'info' => __('Wizard','wp-seopress')
101
+ ],
102
+ 'link' => [
103
+ 'en' => admin_url( 'admin.php?page=seopress-setup' ),
104
+ 'title' => __('Start the wizard','wp-seopress'),
105
+ 'external' => true
106
+ ],
107
+ 'icon' => 'dashicons-admin-tools',
108
+ 'deleteable' => true
109
+ ];
110
+ seopress_notification($args);
111
+ }
112
+ if (get_theme_support('title-tag') !='1') {
 
113
  function seopress_get_hidden_notices_title_tag_option() {
114
  $seopress_get_hidden_notices_title_tag_option = get_option("seopress_notices");
115
  if ( !empty ( $seopress_get_hidden_notices_title_tag_option ) ) {
120
  }
121
  }
122
  }
123
+ if(seopress_get_hidden_notices_title_tag_option() !='1') {
124
+ $args = [
125
+ 'id' => 'notice-title-tag',
126
+ 'title' => __('Your theme doesn\'t use <strong>add_theme_support(\'title-tag\');</strong>','wp-seopress'),
127
+ 'desc' => __('This error indicates that your theme uses a deprecated function to generate the title tag of your pages. SEOPress will not be able to generate your custom title tags if this error is not fixed.','wp-seopress'),
128
+ 'impact' => [
129
+ 'high' => __('High impact','wp-seopress')
130
+ ],
131
+ 'link' => [
132
+ 'fr' => 'https://www.seopress.org/fr/support/guides/resoudre-add_theme_support-manquant-dans-votre-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
133
+ 'en' => 'https://www.seopress.org/support/guides/fixing-missing-add_theme_support-in-your-theme/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress',
134
+ 'title' => __('Learn more','wp-seopress'),
135
+ 'external' => true
136
+ ],
137
+ 'icon' => 'dashicons-admin-customizer',
138
+ 'deleteable' => false
139
+ ];
140
+ seopress_notification($args);
141
+ }
142
+ }
143
+ $seo_plugins = array(
144
+ 'wordpress-seo/wp-seo.php' => 'Yoast SEO',
145
+ 'wordpress-seo-premium/wp-seo-premium.php' => 'Yoast SEO Premium',
146
+ 'all-in-one-seo-pack/all_in_one_seo_pack.php' => 'All In One SEO',
147
+ 'autodescription/autodescription.php' => 'The SEO Framework',
148
+ 'squirrly-seo/squirrly.php' => 'Squirrly SEO',
149
+ 'seo-by-rank-math/rank-math.php' => 'Rank Math',
150
+ 'seo-ultimate/seo-ultimate.php' => 'SEO Ultimate',
151
+ 'wp-meta-seo/wp-meta-seo.php' => 'WP Meta SEO',
152
+ );
 
 
 
 
 
 
 
 
 
153
 
154
+ foreach($seo_plugins as $key => $value) {
155
+ if (is_plugin_active($key)) {
156
+ $args = [
157
+ 'id' => 'notice-seo-plugins',
158
+ 'title' => sprintf(__('We noticed that you use <strong>%s</strong> plugin.','wp-seopress'), $value),
159
+ 'desc' => __('Do you want to migrate all your metadata to SEOPress? Do not use multiple SEO plugins at once to avoid conflicts!','wp-seopress'),
160
+ 'impact' => [
161
+ 'high' => __('High impact','wp-seopress')
162
+ ],
163
+ 'link' => [
164
+ 'en' => admin_url( 'admin.php?page=seopress-import-export' ),
165
+ 'title' => __('Migrate!','wp-seopress'),
166
+ 'external' => false
167
+ ],
168
+ 'icon' => 'dashicons-admin-plugins',
169
+ 'deleteable' => false
170
+ ];
171
+ seopress_notification($args);
172
  }
173
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
174
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
175
+ if (seopress_404_cleaning_option() == 1 && !wp_next_scheduled('seopress_404_cron_cleaning')) {
176
+ $args = [
177
+ 'id' => 'notice-title-tag',
178
+ 'title' => __('You have enabled 404 cleaning BUT the scheduled task is not running.','wp-seopress'),
179
+ 'desc' => __('To solve this, please disable and re-enable SEOPress PRO. No data will be lost.','wp-seopress'),
180
+ 'icon' => 'dashicons-clock',
181
+ 'deleteable' => false
182
+ ];
183
+ seopress_notification($args);
184
+ }
185
+ }
186
+ if (!is_ssl()) {
 
 
 
 
187
  function seopress_get_hidden_notices_ssl_option() {
188
  $seopress_get_hidden_notices_ssl_option = get_option("seopress_notices");
189
  if ( ! empty ( $seopress_get_hidden_notices_ssl_option ) ) {
194
  }
195
  }
196
  }
197
+ if(seopress_get_hidden_notices_ssl_option() !='1') {
198
+ $args = [
199
+ 'id' => 'notice-ssl',
200
+ 'title' => __('Your site doesn\'t use an SSL certificate!','wp-seopress'),
201
+ 'desc' => __('Https is considered by Google as a positive signal for the ranking of your site. It also reassures your visitors for data security, and improves trust.','wp-seopress').' <a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html" target="_blank">'.__('Learn more','wp-seopress').'</a>',
202
+ 'impact' => [
203
+ 'low' => __('Low impact','wp-seopress')
204
+ ],
205
+ 'link' => [
206
+ 'en' => 'https://www.namecheap.com/?aff=105841',
207
+ 'title' => __('Buy an SSL!','wp-seopress'),
208
+ 'external' => true
209
+ ],
210
+ 'icon' => 'dashicons-unlock',
211
+ 'deleteable' => true
212
+ ];
213
+ seopress_notification($args);
214
+ }
215
+ }
216
+ if (function_exists('extension_loaded') && !extension_loaded('dom')) {
217
+ $args = [
218
+ 'id' => 'notice-ssl-alert',
219
+ 'title' => __('PHP module "DOM" is missing on your server.','wp-seopress'),
220
+ 'desc' => __('This PHP module, installed by default with PHP, is required by many plugins including SEOPress. Please contact your host as soon as possible to solve this.','wp-seopress'),
221
+ 'impact' => [
222
+ 'high' => __('High impact','wp-seopress')
223
+ ],
224
+ 'link' => [
225
+ 'fr' => 'https://www.seopress.org/fr/support/guides/debutez-seopress/',
226
+ 'en' => 'https://www.seopress.org/support/guides/get-started-seopress/',
227
+ 'title' => __('Learn more','wp-seopress'),
228
+ 'external' => true
229
+ ],
230
+ 'deleteable' => true
231
+ ];
232
+ seopress_notification($args);
233
+ }
 
 
 
 
 
 
 
 
 
 
 
234
  if (!function_exists('seopress_titles_noindex_option')) {
235
  function seopress_titles_noindex_option() {
236
  $seopress_titles_noindex_option = get_option("seopress_titles_option_name");
243
  }
244
  }
245
  }
246
+ if (seopress_titles_noindex_option()=='1' || get_option('blog_public') !='1') {
247
+ $args = [
248
+ 'id' => 'notice-noindex',
249
+ 'title' => __('Your site is not visible to Search Engines!','wp-seopress'),
250
+ 'desc' => __('You have activated the blocking of the indexing of your site. If your site is under development, this is probably normal. Otherwise, check your settings. Delete this notification using the cross on the right if you are not concerned.','wp-seopress'),
251
+ 'impact' => [
252
+ 'high' => __('High impact','wp-seopress')
253
+ ],
254
+ 'link' => [
255
+ 'en' => admin_url( 'options-reading.php' ),
256
+ 'title' => __('Fix this!','wp-seopress'),
257
+ 'external' => false
258
+ ],
259
+ 'icon' => 'dashicons-warning',
260
+ 'deleteable' => true
261
+ ];
262
+ seopress_notification($args);
263
+ }
264
+ if (get_option('blogname') =='') {
265
+ $args = [
266
+ 'id' => 'notice-title-empty',
267
+ 'title' => __('Your site title is empty!','wp-seopress'),
268
+ 'desc' => __('Your Site Title is used by WordPress, your theme and your plugins including SEOPress. It is an essential component in the generation of title tags, but not only. Enter one!','wp-seopress'),
269
+ 'impact' => [
270
+ 'high' => __('High impact','wp-seopress')
271
+ ],
272
+ 'link' => [
273
+ 'en' => admin_url( 'options-general.php' ),
274
+ 'title' => __('Fix this!','wp-seopress'),
275
+ 'external' => false
276
+ ],
277
+ 'deleteable' => false
278
+ ];
279
+ seopress_notification($args);
280
+ }
281
+ if (get_option('permalink_structure') =='') {
282
+ $args = [
283
+ 'id' => 'notice-permalinks',
284
+ 'title' => __('Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this.','wp-seopress'),
285
+ 'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...','wp-seopress'),
286
+ 'impact' => [
287
+ 'high' => __('High impact','wp-seopress')
288
+ ],
289
+ 'link' => [
290
+ 'en' => admin_url( 'options-permalink.php' ),
291
+ 'title' => __('Fix this!','wp-seopress'),
292
+ 'external' => false
293
+ ],
294
+ 'icon' => 'dashicons-admin-links',
295
+ 'deleteable' => false
296
+ ];
297
+ seopress_notification($args);
298
+ }
299
+ if(get_option('rss_use_excerpt') =='0') {
300
+ function seopress_get_hidden_notices_rss_use_excerpt_option() {
301
+ $seopress_get_hidden_notices_rss_use_excerpt_option = get_option("seopress_notices");
302
+ if ( ! empty ( $seopress_get_hidden_notices_rss_use_excerpt_option ) ) {
303
+ foreach ($seopress_get_hidden_notices_rss_use_excerpt_option as $key => $seopress_get_hidden_notices_rss_use_excerpt_value)
304
+ $options[$key] = $seopress_get_hidden_notices_rss_use_excerpt_value;
305
+ if (isset($seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'])) {
306
+ return $seopress_get_hidden_notices_rss_use_excerpt_option['notice-rss-use-excerpt'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
307
  }
308
  }
309
  }
310
+ if(seopress_get_hidden_notices_rss_use_excerpt_option() !='1') {
311
+ $args = [
312
+ 'id' => 'notice-rss-use-excerpt',
313
+ 'title' => __('Your RSS feed shows full text!','wp-seopress'),
314
+ 'desc' => __('Why is this important? Showing only the summary of each article significantly reduces the theft of your content by third party sites. Not to mention, the increase in your traffic, your advertising revenue, conversions...','wp-seopress'),
315
+ 'impact' => [
316
+ 'medium' => __('Medium impact','wp-seopress')
317
+ ],
318
+ 'link' => [
319
+ 'en' => admin_url( 'options-reading.php' ),
320
+ 'title' => __('Fix this!','wp-seopress'),
321
+ 'external' => false
322
+ ],
323
+ 'icon' => 'dashicons-rss',
324
+ 'deleteable' => true
325
+ ];
326
+ seopress_notification($args);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
327
  }
328
+ }
329
+
330
+ function seopress_get_hidden_notices_review_option() {
331
+ $seopress_get_hidden_notices_review_option = get_option("seopress_notices");
332
+ if ( ! empty ( $seopress_get_hidden_notices_review_option ) ) {
333
+ foreach ($seopress_get_hidden_notices_review_option as $key => $seopress_get_hidden_notices_review_value)
334
+ $options[$key] = $seopress_get_hidden_notices_review_value;
335
+ if (isset($seopress_get_hidden_notices_review_option['notice-review'])) {
336
+ return $seopress_get_hidden_notices_review_option['notice-review'];
 
 
337
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
  }
339
+ }
340
+ if(seopress_get_hidden_notices_review_option() !='1') {
341
+ $args = [
342
+ 'id' => 'notice-review',
343
+ 'title' => __('You like SEOPress? Please help us by rating us 5 stars!','wp-seopress'),
344
+ 'desc' => __('Support the development and improvement of the plugin by taking 15 seconds of your time to leave us a user review on the official WordPress plugins repository. Thank you!','wp-seopress'),
345
+ 'impact' => [
346
+ 'info' => __('Information','wp-seopress')
347
+ ],
348
+ 'link' => [
349
+ 'en' => 'https://wordpress.org/support/view/plugin-reviews/wp-seopress?rate=5#postform',
350
+ 'title' => __('Rate us!','wp-seopress'),
351
+ 'external' => true
352
+ ],
353
+ 'icon' => 'dashicons-thumbs-up',
354
+ 'deleteable' => true
355
+ ];
356
+ seopress_notification($args);
357
+ }
358
+ if(get_option('page_comments') =='1') {
359
+ function seopress_get_hidden_notices_divide_comments_option() {
360
+ $seopress_get_hidden_notices_divide_comments_option = get_option("seopress_notices");
361
+ if ( ! empty ( $seopress_get_hidden_notices_divide_comments_option ) ) {
362
+ foreach ($seopress_get_hidden_notices_divide_comments_option as $key => $seopress_get_hidden_notices_divide_comments_value)
363
+ $options[$key] = $seopress_get_hidden_notices_divide_comments_value;
364
+ if (isset($seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'])) {
365
+ return $seopress_get_hidden_notices_divide_comments_option['notice-divide-comments'];
366
  }
367
  }
368
  }
369
+ if(seopress_get_hidden_notices_divide_comments_option() !='1') {
370
+ $args = [
371
+ 'id' => 'notice-divide-comments',
372
+ 'title' => __('Break comments into pages is ON!','wp-seopress'),
373
+ 'desc' => __('Enabling this option will create duplicate content for each article beyond x comments. This can have a disastrous effect by creating a large number of poor quality pages, and slowing the Google bot unnecessarily, so your ranking in search results.','wp-seopress'),
374
+ 'impact' => [
375
+ 'high' => __('High impact','wp-seopress')
376
+ ],
377
+ 'link' => [
378
+ 'en' => admin_url( 'options-discussion.php' ),
379
+ 'title' => __('Disable this!','wp-seopress'),
380
+ 'external' => false
381
+ ],
382
+ 'icon' => 'dashicons-admin-comments',
383
+ 'deleteable' => true
384
+ ];
385
+ seopress_notification($args);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
386
  }
387
+ }
388
+ if(get_option('posts_per_page') < '16') {
389
+ function seopress_get_hidden_notices_posts_number_option() {
390
+ $seopress_get_hidden_notices_posts_number_option = get_option("seopress_notices");
391
+ if ( ! empty ( $seopress_get_hidden_notices_posts_number_option ) ) {
392
+ foreach ($seopress_get_hidden_notices_posts_number_option as $key => $seopress_get_hidden_notices_posts_number_value)
393
+ $options[$key] = $seopress_get_hidden_notices_posts_number_value;
394
+ if (isset($seopress_get_hidden_notices_posts_number_option['notice-posts-number'])) {
395
+ return $seopress_get_hidden_notices_posts_number_option['notice-posts-number'];
396
  }
397
  }
398
  }
399
+ if(seopress_get_hidden_notices_posts_number_option() !='1') {
400
+ $args = [
401
+ 'id' => 'notice-posts-number',
402
+ 'title' => __('Display more posts per page on homepage and archives','wp-seopress'),
403
+ 'desc' => __('To reduce the number pages search engines have to crawl to find all your articles, it is recommended displaying more posts per page. This should not be a problem for your users. Using mobile, we prefer to scroll down rather than clicking on next page links. If you can do it, try adding an infinite scroll to your post listings.','wp-seopress'),
404
+ 'impact' => [
405
+ 'medium' => __('Medium impact','wp-seopress')
406
+ ],
407
+ 'link' => [
408
+ 'en' => admin_url( 'options-reading.php' ),
409
+ 'title' => __('Fix this!','wp-seopress'),
410
+ 'external' => false
411
+ ],
412
+ 'deleteable' => true
413
+ ];
414
+ seopress_notification($args);
415
+ }
416
+ }
417
+ if (seopress_xml_sitemap_general_enable_option() !='1') {
418
+ $args = [
419
+ 'id' => 'notice-xml-sitemaps',
420
+ 'title' => __('You don\'t have an XML Sitemap!','wp-seopress'),
421
+ 'desc' => __('XML Sitemaps are useful to facilitate the crawling of your content by search engine robots. Indirectly, this can benefit your ranking by reducing the crawl bugdet.','wp-seopress'),
422
+ 'impact' => [
423
+ 'medium' => __('Medium impact','wp-seopress')
424
+ ],
425
+ 'link' => [
426
+ 'en' => admin_url( 'admin.php?page=seopress-xml-sitemap' ),
427
+ 'title' => __('Fix this!','wp-seopress'),
428
+ 'external' => false
429
+ ],
430
+ 'icon' => 'dashicons-warning',
431
+ 'deleteable' => false
432
+ ];
433
+ seopress_notification($args);
434
+ }
435
+ function seopress_get_hidden_notices_google_business_option() {
436
+ $seopress_get_hidden_notices_google_business_option = get_option("seopress_notices");
437
+ if ( ! empty ( $seopress_get_hidden_notices_google_business_option ) ) {
438
+ foreach ($seopress_get_hidden_notices_google_business_option as $key => $seopress_get_hidden_notices_google_business_value)
439
+ $options[$key] = $seopress_get_hidden_notices_google_business_value;
440
+ if (isset($seopress_get_hidden_notices_google_business_option['notice-google-business'])) {
441
+ return $seopress_get_hidden_notices_google_business_option['notice-google-business'];
442
+ }
443
+ }
444
+ }
445
+ if(seopress_get_hidden_notices_google_business_option() !='1') {
446
+ $args = [
447
+ 'id' => 'notice-google-business',
448
+ 'title' => __('Do you have a Google My Business page? It\'s free!','wp-seopress'),
449
+ 'desc' => __('Local Business websites should have a My Business page to improve visibility in search results. Click on the cross on the right to delete this notification if you are not concerned.','wp-seopress'),
450
+ 'impact' => [
451
+ 'high' => __('High impact','wp-seopress')
452
+ ],
453
+ 'link' => [
454
+ 'en' => 'https://www.google.com/business/go/',
455
+ 'title' => __('Create your page now!','wp-seopress'),
456
+ 'external' => true
457
+ ],
458
+ 'deleteable' => true
459
+ ];
460
+ seopress_notification($args);
461
+ }
462
+ function seopress_get_hidden_notices_search_console_option() {
463
+ $seopress_get_hidden_notices_search_console_option = get_option("seopress_notices");
464
+ if ( ! empty ( $seopress_get_hidden_notices_search_console_option ) ) {
465
+ foreach ($seopress_get_hidden_notices_search_console_option as $key => $seopress_get_hidden_notices_search_console_value)
466
+ $options[$key] = $seopress_get_hidden_notices_search_console_value;
467
+ if (isset($seopress_get_hidden_notices_search_console_option['notice-search-console'])) {
468
+ return $seopress_get_hidden_notices_search_console_option['notice-search-console'];
469
+ }
470
+ }
471
+ }
472
+ function seopress_get_google_site_verification_option() {
473
+ $seopress_get_google_site_verification_option = get_option("seopress_advanced_option_name");
474
+ if ( ! empty ( $seopress_get_google_site_verification_option ) ) {
475
+ foreach ($seopress_get_google_site_verification_option as $key => $seopress_get_google_site_verification_value)
476
+ $options[$key] = $seopress_get_google_site_verification_value;
477
+ if (isset($seopress_get_google_site_verification_option['seopress_advanced_advanced_google'])) {
478
+ return $seopress_get_google_site_verification_option['seopress_advanced_advanced_google'];
479
+ }
480
+ }
481
+ }
482
+ if(seopress_get_hidden_notices_search_console_option() !='1' && seopress_get_google_site_verification_option() =='') {
483
+ $args = [
484
+ 'id' => 'notice-search-console',
485
+ 'title' => __('Add your site to Google. It\'s free!','wp-seopress'),
486
+ 'desc' => __('Is your brand new site online? So reference it as quickly as possible on Google to get your first visitors via Google Search Console. Already the case? Click on the cross on the right to remove this alert.','wp-seopress'),
487
+ 'impact' => [
488
+ 'high' => __('High impact','wp-seopress')
489
+ ],
490
+ 'link' => [
491
+ 'en' => 'https://www.google.com/webmasters/tools/home',
492
+ 'title' => __('Add your site to Search Console!','wp-seopress'),
493
+ 'external' => true
494
+ ],
495
+ 'deleteable' => true
496
+ ];
497
+ seopress_notification($args);
498
+ }
499
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
500
+ if(function_exists('seopress_rich_snippets_enable_option') && seopress_rich_snippets_enable_option() !="1") {
501
+ $args = [
502
+ 'id' => 'notice-schemas-metabox',
503
+ 'title' => __('Structured data types is not correctly enabled','wp-seopress'),
504
+ 'desc' => __('Please enable <strong>Structured Data Types metabox for your posts, pages and custom post types</strong> option in order to use automatic and manual schemas. (SEO > PRO > Structured Data Types (schema.org)','wp-seopress'),
505
+ 'impact' => [
506
+ 'high' => __('High impact','wp-seopress')
507
+ ],
508
+ 'link' => [
509
+ 'en' => esc_url( admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_rich_snippets')),
510
+ 'title' => __('Fix this!','wp-seopress'),
511
+ 'external' => false
512
+ ],
513
+ 'icon' => 'dashicons-warning',
514
+ 'deleteable' => false
515
+ ];
516
+ seopress_notification($args);
517
+ }
518
+ }
519
+ if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
520
+ $args = [
521
+ 'id' => 'notice-license',
522
+ 'title' => __('You have to enter your licence key to get updates and support','wp-seopress'),
523
+ 'desc' => __('Please activate the SEOPress PRO license key to automatically receive updates to guarantee you the best user experience possible.','wp-seopress'),
524
+ 'impact' => [
525
+ 'info' => __('License','wp-seopress')
526
+ ],
527
+ 'link' => [
528
+ 'en' => admin_url( 'admin.php?page=seopress-license' ),
529
+ 'title' => __('Fix this!','wp-seopress'),
530
+ 'external' => false
531
+ ],
532
+ 'icon' => 'dashicons-admin-network',
533
+ 'deleteable' => false
534
+ ];
535
+ seopress_notification($args);
536
+ }
537
+ if (!is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
538
+ function seopress_get_hidden_notices_go_pro_option() {
539
+ $seopress_get_hidden_notices_go_pro_option = get_option("seopress_notices");
540
+ if ( ! empty ( $seopress_get_hidden_notices_go_pro_option ) ) {
541
+ foreach ($seopress_get_hidden_notices_go_pro_option as $key => $seopress_get_hidden_notices_go_pro_value)
542
+ $options[$key] = $seopress_get_hidden_notices_go_pro_value;
543
+ if (isset($seopress_get_hidden_notices_go_pro_option['notice-go-pro'])) {
544
+ return $seopress_get_hidden_notices_go_pro_option['notice-go-pro'];
545
  }
546
  }
547
+ }
548
+ if(seopress_get_hidden_notices_go_pro_option() !='1' && seopress_get_hidden_notices_go_pro_option() =='') {
549
+ $args = [
550
+ 'id' => 'notice-go-pro',
551
+ 'title' => __('Take your SEO to the next level with SEOPress PRO!','wp-seopress'),
552
+ 'desc' => __('The PRO version of SEOPress allows you to easily manage your structured data (schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO for WooCommerce, gain productivity with our import / export tool from a CSV of your metadata and so much more.','wp-seopress'),
553
+ 'impact' => [
554
+ 'info' => __('PRO','wp-seopress')
555
+ ],
556
+ 'link' => [
557
+ 'fr' => 'https://www.seopress.org/fr?utm_source=plugin&utm_medium=notification&utm_campaign=dashboard',
558
+ 'en' => 'https://www.seopress.org/?utm_source=plugin&utm_medium=notification&utm_campaign=dashboard',
559
+ 'title' => __('Upgrade now!','wp-seopress'),
560
+ 'external' => true
561
+ ],
562
+ 'deleteable' => true
563
+ ];
564
+ seopress_notification($args);
565
+ }
 
 
566
  } ?>
567
  </div><!--#seopress-notifications-center-->
 
568
  </div>
569
  <?php } ?>
570
 
inc/admin/admin-wizard.php CHANGED
@@ -35,7 +35,7 @@ class SEOPRESS_Admin_Setup_Wizard {
35
  * Hook in tabs.
36
  */
37
  public function __construct() {
38
- if ( apply_filters( 'seopress_enable_setup_wizard', true ) && current_user_can( 'manage_options' ) ) {
39
  add_action( 'admin_menu', array( $this, 'admin_menus' ) );
40
  add_action( 'admin_init', array( $this, 'setup_wizard' ) );
41
  add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
@@ -46,7 +46,7 @@ class SEOPRESS_Admin_Setup_Wizard {
46
  * Add admin menus/screens.
47
  */
48
  public function admin_menus() {
49
- add_dashboard_page( '', '', 'manage_options', 'seopress-setup', '' );
50
  }
51
 
52
  /**
@@ -55,28 +55,49 @@ class SEOPRESS_Admin_Setup_Wizard {
55
  * Hooked onto 'admin_enqueue_scripts'.
56
  */
57
  public function enqueue_scripts() {
58
- wp_enqueue_style( 'seopress-setup', plugins_url( 'assets/css/seopress-setup.min.css', dirname(dirname(__FILE__))), array( 'dashicons', 'install' ), SEOPRESS_VERSION );
59
- wp_register_script( 'seopress-migrate-ajax', plugins_url( 'assets/js/seopress-migrate.min.js', dirname(dirname(__FILE__))), array( 'jquery' ), SEOPRESS_VERSION, true );
60
-
61
- $seopress_migrate = array(
62
- 'seopress_aio_migrate' => array(
63
- 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
64
- 'seopress_aio_migration' => admin_url( 'admin-ajax.php'),
65
- ),
66
- 'seopress_yoast_migrate' => array(
67
- 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
68
- 'seopress_yoast_migration' => admin_url( 'admin-ajax.php'),
69
- ),
70
- 'seopress_seo_framework_migrate' => array(
71
- 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
72
- 'seopress_seo_framework_migration' => admin_url( 'admin-ajax.php'),
73
- ),
74
- 'seopress_rk_migrate' => array(
75
- 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
76
- 'seopress_rk_migration' => admin_url( 'admin-ajax.php'),
77
- ),
78
- );
79
- wp_localize_script( 'seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
80
  }
81
 
82
  /**
@@ -249,8 +270,22 @@ class SEOPRESS_Admin_Setup_Wizard {
249
  <p class="store-setup"><?php esc_html_e( 'The first step is to import your previous settings from other plugins to keep your SEO.', 'wp-seopress' ); ?></p>
250
  <p class="store-setup"><?php esc_html_e( 'Not data to migrate? Click "Next step" button!', 'wp-seopress' ); ?></p>
251
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
252
  <div class="store-address-container">
253
- <!-- Yoast import tool -->
254
  <div id="yoast-migration-tool" class="postbox section-tool seopress-wizard-services">
255
  <h3><span><?php _e( 'Import posts and terms metadata from Yoast', 'wp-seopress' ); ?></span></h3>
256
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
@@ -267,9 +302,9 @@ class SEOPRESS_Admin_Setup_Wizard {
267
  <button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
268
  <span class="spinner"></span>
269
  <div class="log"></div>
270
- </div><!-- .postbox -->
271
 
272
- <!-- All In One import tool -->
273
  <div id="aio-migration-tool" class="postbox section-tool seopress-wizard-services">
274
  <h3><span><?php _e( 'Import posts and terms metadata from All In One SEO', 'wp-seopress' ); ?></span></h3>
275
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
@@ -286,7 +321,7 @@ class SEOPRESS_Admin_Setup_Wizard {
286
  <div class="log"></div>
287
  </div><!-- .postbox -->
288
 
289
- <!-- SEO Framework import tool -->
290
  <div id="seo-framework-migration-tool" class="postbox section-tool seopress-wizard-services">
291
  <h3><span><?php _e( 'Import posts and terms metadata from The SEO Framework', 'wp-seopress' ); ?></span></h3>
292
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
@@ -305,7 +340,7 @@ class SEOPRESS_Admin_Setup_Wizard {
305
  <div class="log"></div>
306
  </div><!-- .postbox -->
307
 
308
- <!-- RK import tool -->
309
  <div id="rk-migration-tool" class="postbox section-tool seopress-wizard-services">
310
  <h3><span><?php _e( 'Import posts and terms metadata from Rank Math', 'wp-seopress' ); ?></span></h3>
311
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
@@ -323,8 +358,59 @@ class SEOPRESS_Admin_Setup_Wizard {
323
  <span class="spinner"></span>
324
  <div class="log"></div>
325
  </div><!-- .postbox -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
326
  </div>
327
-
328
  <p class="seopress-setup-actions step">
329
  <button type="submit" class="button-primary button button-large button-next" value="<?php esc_attr_e( "Next step", 'wp-seopress' ); ?>" name="save_step"><?php esc_html_e( "Next step", 'wp-seopress' ); ?></button>
330
  <?php wp_nonce_field( 'seopress-setup' ); ?>
@@ -348,7 +434,7 @@ class SEOPRESS_Admin_Setup_Wizard {
348
  public function seopress_setup_site() {
349
  $seopress_titles_option = get_option( 'seopress_titles_option_name' );
350
  $seopress_social_option = get_option( 'seopress_social_option_name' );
351
-
352
  $site_sep = isset($seopress_titles_option['seopress_titles_sep']) ? $seopress_titles_option['seopress_titles_sep'] : NULL;
353
  $site_title = isset($seopress_titles_option['seopress_titles_home_site_title']) ? $seopress_titles_option['seopress_titles_home_site_title'] : NULL;
354
  $knowledge_type = isset($seopress_social_option['seopress_social_knowledge_type']) ? $seopress_social_option['seopress_social_knowledge_type'] : NULL;
@@ -378,14 +464,14 @@ class SEOPRESS_Admin_Setup_Wizard {
378
  <label class="location-prompt" for="knowledge_type"><?php esc_html_e('Person or organization','wp-seopress'); ?></label>
379
  <?php
380
  echo '<select id="knowledge_type" name="knowledge_type" data-placeholder="'.esc_attr__( 'Choose a knowledge type', 'wp-seopress' ).'" class="location-input wc-enhanced-select dropdown">';
381
- echo ' <option ';
382
- if ('None' == $knowledge_type) echo 'selected="selected"';
383
  echo ' value="none">'. __("None (will disable this feature)","wp-seopress") .'</option>';
384
- echo ' <option ';
385
- if ('Person' == $knowledge_type) echo 'selected="selected"';
386
  echo ' value="Person">'. __("Person","wp-seopress") .'</option>';
387
- echo '<option ';
388
- if ('Organization' == $knowledge_type) echo 'selected="selected"';
389
  echo ' value="Organization">'. __("Organization","wp-seopress") .'</option>';
390
  echo '</select>';
391
  ?>
@@ -436,7 +522,7 @@ class SEOPRESS_Admin_Setup_Wizard {
436
  */
437
  public function seopress_setup_site_save() {
438
  check_admin_referer( 'seopress-setup' );
439
-
440
  //Get options
441
  $seopress_titles_option = get_option("seopress_titles_option_name");
442
  $seopress_social_option = get_option("seopress_social_option_name");
@@ -485,7 +571,7 @@ class SEOPRESS_Admin_Setup_Wizard {
485
  <p>
486
  <?php _e('For which single post types, should indexing be disabled?','wp-seopress'); ?>
487
  </p>
488
-
489
  <ul>
490
  <?php
491
  //Post Types
@@ -497,9 +583,9 @@ class SEOPRESS_Admin_Setup_Wizard {
497
  //Single No-Index CPT
498
  echo '<li class="recommended-item checkbox">';
499
  echo '<input id="seopress_titles_single_cpt_noindex['.$seopress_cpt_key.']" name="seopress_titles_option_name[seopress_titles_single_titles]['.$seopress_cpt_key.'][noindex]" type="checkbox"';
500
- if ('1' == $seopress_titles_single_titles) echo 'checked="yes"';
501
  echo ' value="1"/>';
502
-
503
  echo '<label for="seopress_titles_single_cpt_noindex['.$seopress_cpt_key.']">'. __( 'Do not display this single post type in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
504
  echo '</li>';
505
  }
@@ -522,13 +608,13 @@ class SEOPRESS_Admin_Setup_Wizard {
522
  echo '<h3>'.$seopress_cpt_value->labels->name.' <em><small>['.$seopress_cpt_value->name.']</small></em></h2>';
523
 
524
  //Archive No-Index CPT
525
- $seopress_titles_archive_titles = isset($seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']);
526
-
527
  echo '<li class="recommended-item checkbox">';
528
  echo '<input id="seopress_titles_archive_cpt_noindex['.$seopress_cpt_key.']" name="seopress_titles_option_name[seopress_titles_archive_titles]['.$seopress_cpt_key.'][noindex]" type="checkbox"';
529
- if ('1' == $seopress_titles_archive_titles) echo 'checked="yes"';
530
  echo ' value="1"/>';
531
-
532
  echo '<label for="seopress_titles_archive_cpt_noindex['.$seopress_cpt_key.']">'. __( 'Do not display this post type archive in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
533
  echo '</li>';
534
  }
@@ -555,16 +641,16 @@ class SEOPRESS_Admin_Setup_Wizard {
555
  //Tax No-Index
556
  echo '<li class="recommended-item checkbox">';
557
  echo '<input id="seopress_titles_tax_noindex['.$seopress_tax_key.']" name="seopress_titles_option_name[seopress_titles_tax_titles]['.$seopress_tax_key.'][noindex]" type="checkbox"';
558
- if ('1' == $seopress_titles_tax_titles) echo 'checked="yes"';
559
  echo ' value="1"/>';
560
-
561
  echo '<label for="seopress_titles_tax_noindex['.$seopress_tax_key.']">'. __( 'Do not display this taxonomy archive in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
562
  echo '</li>';
563
  }
564
  ?>
565
  </ul>
566
  </div>
567
- <?php } ?>
568
 
569
  <p class="seopress-setup-actions step">
570
  <button type="submit" class="button-primary button button-large button-next" value="<?php esc_attr_e( 'Continue', 'wp-seopress' ); ?>" name="save_step"><?php esc_html_e( 'Continue', 'wp-seopress' ); ?></button>
@@ -590,7 +676,7 @@ class SEOPRESS_Admin_Setup_Wizard {
590
  } else {
591
  $noindex = NULL;
592
  }
593
- $seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'] = $noindex;
594
  }
595
 
596
  //Post Type archives noindex
@@ -638,9 +724,9 @@ class SEOPRESS_Admin_Setup_Wizard {
638
  //Noindex on author archives
639
  echo '<li class="seopress-wizard-service-item checkbox">';
640
  echo '<input id="author_noindex" class="location-input" name="author_noindex" type="checkbox"';
641
- if ('1' == $author_noindex) echo 'checked="yes"';
642
  echo ' value="1"/>';
643
-
644
  echo '<label for="author_noindex" class="location-prompt">'. __( 'Do not display author archives in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
645
  echo '</li>';
646
  echo '<li class="seopress-wizard-service-info">';
@@ -650,9 +736,9 @@ class SEOPRESS_Admin_Setup_Wizard {
650
  //Redirect attachment pages to URL
651
  echo '<li class="seopress-wizard-service-item checkbox">';
652
  echo '<input id="attachments_file" class="location-input" name="attachments_file" type="checkbox"';
653
- if ('1' == $attachments_file) echo 'checked="yes"';
654
  echo ' value="1"/>';
655
-
656
  echo '<label for="attachments_file" class="location-prompt">'. __( 'Redirect attachment pages to their file URL (https://www.example.com/my-image-file.jpg)', 'wp-seopress' ) .'</label>';
657
  echo '</li>';
658
  echo '<li class="seopress-wizard-service-info">';
@@ -662,9 +748,9 @@ class SEOPRESS_Admin_Setup_Wizard {
662
  //Remove /category/ in URLs
663
  echo '<li class="seopress-wizard-service-item checkbox">';
664
  echo '<input id="category_url" name="category_url" type="checkbox" class="location-input"';
665
- if ('1' == $category_url) echo 'checked="yes"';
666
  echo ' value="1"/>';
667
-
668
  echo '<label for="category_url" class="location-prompt">'. __( 'Remove /category/ in your permalinks', 'wp-seopress' ) .'</label>';
669
  echo '</li>';
670
  echo '<li class="seopress-wizard-service-info">';
@@ -704,7 +790,7 @@ class SEOPRESS_Admin_Setup_Wizard {
704
 
705
  wp_redirect( esc_url_raw( $this->get_next_step_link() ) );
706
  exit;
707
- }
708
 
709
  /**
710
  * Final step.
@@ -714,7 +800,7 @@ class SEOPRESS_Admin_Setup_Wizard {
714
  $seopress_notices = get_option('seopress_notices');
715
  $seopress_notices['notice-wizard'] = "1";
716
  update_option('seopress_notices',$seopress_notices);
717
-
718
  //Flush permalinks
719
  flush_rewrite_rules();
720
  ?>
@@ -823,4 +909,4 @@ class SEOPRESS_Admin_Setup_Wizard {
823
  }
824
  }
825
 
826
- new SEOPRESS_Admin_Setup_Wizard();
35
  * Hook in tabs.
36
  */
37
  public function __construct() {
38
+ if ( apply_filters( 'seopress_enable_setup_wizard', true ) && current_user_can( seopress_capability( 'manage_options', 'Admin_Setup_Wizard' ) ) ) {
39
  add_action( 'admin_menu', array( $this, 'admin_menus' ) );
40
  add_action( 'admin_init', array( $this, 'setup_wizard' ) );
41
  add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
46
  * Add admin menus/screens.
47
  */
48
  public function admin_menus() {
49
+ add_dashboard_page( '', '', seopress_capability( 'manage_options', 'menu' ), 'seopress-setup', '' );
50
  }
51
 
52
  /**
55
  * Hooked onto 'admin_enqueue_scripts'.
56
  */
57
  public function enqueue_scripts() {
58
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
59
+ wp_enqueue_style( 'seopress-setup', plugins_url( 'assets/css/seopress-setup' . $prefix . '.css', dirname( dirname( __FILE__ ) ) ), [ 'dashicons', 'install' ], SEOPRESS_VERSION );
60
+ wp_register_script( 'seopress-migrate-ajax', plugins_url( 'assets/js/seopress-migrate' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, true );
61
+
62
+ $seopress_migrate = [
63
+ 'seopress_aio_migrate' => [
64
+ 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
65
+ 'seopress_aio_migration' => admin_url( 'admin-ajax.php'),
66
+ ],
67
+ 'seopress_yoast_migrate' => [
68
+ 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
69
+ 'seopress_yoast_migration' => admin_url( 'admin-ajax.php'),
70
+ ],
71
+ 'seopress_seo_framework_migrate' => [
72
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
73
+ 'seopress_seo_framework_migration' => admin_url( 'admin-ajax.php'),
74
+ ],
75
+ 'seopress_rk_migrate' => [
76
+ 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
77
+ 'seopress_rk_migration' => admin_url( 'admin-ajax.php'),
78
+ ],
79
+ 'seopress_squirrly_migrate' => [
80
+ 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
81
+ 'seopress_squirrly_migration' => admin_url( 'admin-ajax.php'),
82
+ ],
83
+ 'seopress_seo_ultimate_migrate' => [
84
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
85
+ 'seopress_seo_ultimate_migration' => admin_url( 'admin-ajax.php'),
86
+ ],
87
+ 'seopress_wp_meta_seo_migrate' => [
88
+ 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
89
+ 'seopress_wp_meta_seo_migration' => admin_url( 'admin-ajax.php'),
90
+ ],
91
+ 'seopress_metadata_csv' => [
92
+ 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
93
+ 'seopress_metadata_export' => admin_url( 'admin-ajax.php'),
94
+ ],
95
+ 'i18n' => [
96
+ 'migration' =>__('Migration completed!','wp-seopress'),
97
+ 'export' =>__('Export completed!','wp-seopress'),
98
+ ]
99
+ ];
100
+ wp_localize_script( 'seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate );
101
  }
102
 
103
  /**
270
  <p class="store-setup"><?php esc_html_e( 'The first step is to import your previous settings from other plugins to keep your SEO.', 'wp-seopress' ); ?></p>
271
  <p class="store-setup"><?php esc_html_e( 'Not data to migrate? Click "Next step" button!', 'wp-seopress' ); ?></p>
272
 
273
+ <h3><span><?php _e('Import posts and terms metadata from','wp-seopress'); ?></span></h3>
274
+ <select id="select-wizard-import" name="select-wizard-import">
275
+ <option value="none"><?php _e('Select an option','wp-seopress'); ?></option>
276
+ <option value="yoast-migration-tool"><?php _e('Yoast SEO','wp-seopress'); ?></option>
277
+ <option value="aio-migration-tool"><?php _e('All In One SEO','wp-seopress'); ?></option>
278
+ <option value="seo-framework-migration-tool"><?php _e('The SEO Framework','wp-seopress'); ?></option>
279
+ <option value="rk-migration-tool"><?php _e('Rank Math','wp-seopress'); ?></option>
280
+ <option value="squirrly-migration-tool"><?php _e('Squirrly SEO','wp-seopress'); ?></option>
281
+ <option value="seo-ultimate-migration-tool"><?php _e('SEO Ultimate','wp-seopress'); ?></option>
282
+ <option value="wp-meta-seo-migration-tool"><?php _e('WP Meta SEO','wp-seopress'); ?></option>
283
+ </select>
284
+
285
+ <br><br>
286
+
287
  <div class="store-address-container">
288
+ <!-- Yoast import tool -->
289
  <div id="yoast-migration-tool" class="postbox section-tool seopress-wizard-services">
290
  <h3><span><?php _e( 'Import posts and terms metadata from Yoast', 'wp-seopress' ); ?></span></h3>
291
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
302
  <button id="seopress-yoast-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
303
  <span class="spinner"></span>
304
  <div class="log"></div>
305
+ </div><!-- .postbox -->
306
 
307
+ <!-- All In One import tool -->
308
  <div id="aio-migration-tool" class="postbox section-tool seopress-wizard-services">
309
  <h3><span><?php _e( 'Import posts and terms metadata from All In One SEO', 'wp-seopress' ); ?></span></h3>
310
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
321
  <div class="log"></div>
322
  </div><!-- .postbox -->
323
 
324
+ <!-- SEO Framework import tool -->
325
  <div id="seo-framework-migration-tool" class="postbox section-tool seopress-wizard-services">
326
  <h3><span><?php _e( 'Import posts and terms metadata from The SEO Framework', 'wp-seopress' ); ?></span></h3>
327
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
340
  <div class="log"></div>
341
  </div><!-- .postbox -->
342
 
343
+ <!-- RK import tool -->
344
  <div id="rk-migration-tool" class="postbox section-tool seopress-wizard-services">
345
  <h3><span><?php _e( 'Import posts and terms metadata from Rank Math', 'wp-seopress' ); ?></span></h3>
346
  <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
358
  <span class="spinner"></span>
359
  <div class="log"></div>
360
  </div><!-- .postbox -->
361
+
362
+ <!-- Squirrly import tool -->
363
+ <div id="squirrly-migration-tool" class="postbox section-tool seopress-wizard-services">
364
+ <h3><span><?php _e( 'Import posts metadata from Squirrly SEO', 'wp-seopress' ); ?></span></h3>
365
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
366
+ <ul>
367
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
368
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
369
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
370
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
371
+ <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
372
+ <li><?php _e('Canonical URL','wp-seopress'); ?></li>
373
+ </ul>
374
+ <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts metadata. Some dynamic variables will not be interpreted. We do NOT delete any Squirrly SEO data.', 'wp-seopress' ); ?></p>
375
+ <button id="seopress-squirrly-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
376
+ <span class="spinner"></span>
377
+ <div class="log"></div>
378
+ </div><!-- .postbox -->
379
+
380
+ <!-- SEO Ultimate import tool -->
381
+ <div id="seo-ultimate-migration-tool" class="postbox section-tool seopress-wizard-services">
382
+ <h3><span><?php _e( 'Import posts metadata from SEO Ultimate', 'wp-seopress' ); ?></span></h3>
383
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
384
+ <ul>
385
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
386
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
387
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
388
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
389
+ <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
390
+ </ul>
391
+ <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts metadata. Some dynamic variables will not be interpreted. We do NOT delete any SEO Ultimate data.', 'wp-seopress' ); ?></p>
392
+ <button id="seopress-seo-ultimate-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
393
+ <span class="spinner"></span>
394
+ <div class="log"></div>
395
+ </div><!-- .postbox -->
396
+
397
+ <!-- WP Meta SEO import tool -->
398
+ <div id="wp-meta-seo-migration-tool" class="postbox section-tool seopress-wizard-services">
399
+ <h3><span><?php _e( 'Import posts and terms metadata from WP Meta SEO', 'wp-seopress' ); ?></span></h3>
400
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
401
+ <ul>
402
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
403
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
404
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
405
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
406
+ </ul>
407
+ <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts metadata. Some dynamic variables will not be interpreted. We do NOT delete any WP Meta SEO data.', 'wp-seopress' ); ?></p>
408
+ <button id="seopress-wp-meta-seo-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
409
+ <span class="spinner"></span>
410
+ <div class="log"></div>
411
+ </div><!-- .postbox -->
412
  </div>
413
+
414
  <p class="seopress-setup-actions step">
415
  <button type="submit" class="button-primary button button-large button-next" value="<?php esc_attr_e( "Next step", 'wp-seopress' ); ?>" name="save_step"><?php esc_html_e( "Next step", 'wp-seopress' ); ?></button>
416
  <?php wp_nonce_field( 'seopress-setup' ); ?>
434
  public function seopress_setup_site() {
435
  $seopress_titles_option = get_option( 'seopress_titles_option_name' );
436
  $seopress_social_option = get_option( 'seopress_social_option_name' );
437
+
438
  $site_sep = isset($seopress_titles_option['seopress_titles_sep']) ? $seopress_titles_option['seopress_titles_sep'] : NULL;
439
  $site_title = isset($seopress_titles_option['seopress_titles_home_site_title']) ? $seopress_titles_option['seopress_titles_home_site_title'] : NULL;
440
  $knowledge_type = isset($seopress_social_option['seopress_social_knowledge_type']) ? $seopress_social_option['seopress_social_knowledge_type'] : NULL;
464
  <label class="location-prompt" for="knowledge_type"><?php esc_html_e('Person or organization','wp-seopress'); ?></label>
465
  <?php
466
  echo '<select id="knowledge_type" name="knowledge_type" data-placeholder="'.esc_attr__( 'Choose a knowledge type', 'wp-seopress' ).'" class="location-input wc-enhanced-select dropdown">';
467
+ echo ' <option ';
468
+ if ('None' == $knowledge_type) echo 'selected="selected"';
469
  echo ' value="none">'. __("None (will disable this feature)","wp-seopress") .'</option>';
470
+ echo ' <option ';
471
+ if ('Person' == $knowledge_type) echo 'selected="selected"';
472
  echo ' value="Person">'. __("Person","wp-seopress") .'</option>';
473
+ echo '<option ';
474
+ if ('Organization' == $knowledge_type) echo 'selected="selected"';
475
  echo ' value="Organization">'. __("Organization","wp-seopress") .'</option>';
476
  echo '</select>';
477
  ?>
522
  */
523
  public function seopress_setup_site_save() {
524
  check_admin_referer( 'seopress-setup' );
525
+
526
  //Get options
527
  $seopress_titles_option = get_option("seopress_titles_option_name");
528
  $seopress_social_option = get_option("seopress_social_option_name");
571
  <p>
572
  <?php _e('For which single post types, should indexing be disabled?','wp-seopress'); ?>
573
  </p>
574
+
575
  <ul>
576
  <?php
577
  //Post Types
583
  //Single No-Index CPT
584
  echo '<li class="recommended-item checkbox">';
585
  echo '<input id="seopress_titles_single_cpt_noindex['.$seopress_cpt_key.']" name="seopress_titles_option_name[seopress_titles_single_titles]['.$seopress_cpt_key.'][noindex]" type="checkbox"';
586
+ if ('1' == $seopress_titles_single_titles) echo 'checked="yes"';
587
  echo ' value="1"/>';
588
+
589
  echo '<label for="seopress_titles_single_cpt_noindex['.$seopress_cpt_key.']">'. __( 'Do not display this single post type in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
590
  echo '</li>';
591
  }
608
  echo '<h3>'.$seopress_cpt_value->labels->name.' <em><small>['.$seopress_cpt_value->name.']</small></em></h2>';
609
 
610
  //Archive No-Index CPT
611
+ $seopress_titles_archive_titles = isset($seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']);
612
+
613
  echo '<li class="recommended-item checkbox">';
614
  echo '<input id="seopress_titles_archive_cpt_noindex['.$seopress_cpt_key.']" name="seopress_titles_option_name[seopress_titles_archive_titles]['.$seopress_cpt_key.'][noindex]" type="checkbox"';
615
+ if ('1' == $seopress_titles_archive_titles) echo 'checked="yes"';
616
  echo ' value="1"/>';
617
+
618
  echo '<label for="seopress_titles_archive_cpt_noindex['.$seopress_cpt_key.']">'. __( 'Do not display this post type archive in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
619
  echo '</li>';
620
  }
641
  //Tax No-Index
642
  echo '<li class="recommended-item checkbox">';
643
  echo '<input id="seopress_titles_tax_noindex['.$seopress_tax_key.']" name="seopress_titles_option_name[seopress_titles_tax_titles]['.$seopress_tax_key.'][noindex]" type="checkbox"';
644
+ if ('1' == $seopress_titles_tax_titles) echo 'checked="yes"';
645
  echo ' value="1"/>';
646
+
647
  echo '<label for="seopress_titles_tax_noindex['.$seopress_tax_key.']">'. __( 'Do not display this taxonomy archive in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
648
  echo '</li>';
649
  }
650
  ?>
651
  </ul>
652
  </div>
653
+ <?php } ?>
654
 
655
  <p class="seopress-setup-actions step">
656
  <button type="submit" class="button-primary button button-large button-next" value="<?php esc_attr_e( 'Continue', 'wp-seopress' ); ?>" name="save_step"><?php esc_html_e( 'Continue', 'wp-seopress' ); ?></button>
676
  } else {
677
  $noindex = NULL;
678
  }
679
+ $seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'] = $noindex;
680
  }
681
 
682
  //Post Type archives noindex
724
  //Noindex on author archives
725
  echo '<li class="seopress-wizard-service-item checkbox">';
726
  echo '<input id="author_noindex" class="location-input" name="author_noindex" type="checkbox"';
727
+ if ('1' == $author_noindex) echo 'checked="yes"';
728
  echo ' value="1"/>';
729
+
730
  echo '<label for="author_noindex" class="location-prompt">'. __( 'Do not display author archives in search engine results <strong>(noindex)</strong>', 'wp-seopress' ) .'</label>';
731
  echo '</li>';
732
  echo '<li class="seopress-wizard-service-info">';
736
  //Redirect attachment pages to URL
737
  echo '<li class="seopress-wizard-service-item checkbox">';
738
  echo '<input id="attachments_file" class="location-input" name="attachments_file" type="checkbox"';
739
+ if ('1' == $attachments_file) echo 'checked="yes"';
740
  echo ' value="1"/>';
741
+
742
  echo '<label for="attachments_file" class="location-prompt">'. __( 'Redirect attachment pages to their file URL (https://www.example.com/my-image-file.jpg)', 'wp-seopress' ) .'</label>';
743
  echo '</li>';
744
  echo '<li class="seopress-wizard-service-info">';
748
  //Remove /category/ in URLs
749
  echo '<li class="seopress-wizard-service-item checkbox">';
750
  echo '<input id="category_url" name="category_url" type="checkbox" class="location-input"';
751
+ if ('1' == $category_url) echo 'checked="yes"';
752
  echo ' value="1"/>';
753
+
754
  echo '<label for="category_url" class="location-prompt">'. __( 'Remove /category/ in your permalinks', 'wp-seopress' ) .'</label>';
755
  echo '</li>';
756
  echo '<li class="seopress-wizard-service-info">';
790
 
791
  wp_redirect( esc_url_raw( $this->get_next_step_link() ) );
792
  exit;
793
+ }
794
 
795
  /**
796
  * Final step.
800
  $seopress_notices = get_option('seopress_notices');
801
  $seopress_notices['notice-wizard'] = "1";
802
  update_option('seopress_notices',$seopress_notices);
803
+
804
  //Flush permalinks
805
  flush_rewrite_rules();
806
  ?>
909
  }
910
  }
911
 
912
+ new SEOPRESS_Admin_Setup_Wizard();
inc/admin/admin.php CHANGED
@@ -27,7 +27,7 @@ class seopress_options
27
  }
28
 
29
  public function set_default_values() {
30
-
31
  //Enable features==========================================================================
32
  $seopress_toggle_options = get_option('seopress_toggle');
33
 
@@ -59,35 +59,41 @@ class seopress_options
59
  $seopress_titles_options['seopress_titles_home_site_desc'] = '%%tagline%%';
60
 
61
  //Post Types
62
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
63
- $seopress_titles_options['seopress_titles_single_titles'][$seopress_cpt_key]['title'] = '%%post_title%% %%sep%% %%sitetitle%%';
64
- $seopress_titles_options['seopress_titles_single_titles'][$seopress_cpt_key]['description'] = '%%post_excerpt%%';
 
 
65
  }
66
 
67
  //Taxonomies
68
- foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
69
- //Title
70
- if ($seopress_tax_key =='category') {
71
- $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['title'] = '%%_category_title%% %%current_pagination%% %%sep%% %%sitetitle%%';
72
- } elseif ($seopress_tax_key =='post_tag') {
73
- $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['title'] = '%%tag_title%% %%current_pagination%% %%sep%% %%sitetitle%%';
74
- } else {
75
- $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['title'] = '%%term_title%% %%current_pagination%% %%sep%% %%sitetitle%%';
76
- }
 
77
 
78
- //Desc
79
- if ($seopress_tax_key =='category') {
80
- $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['description'] = '%%_category_description%%';
81
- } elseif ($seopress_tax_key =='post_tag') {
82
- $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['description'] = '%%tag_description%%';
83
- } else {
84
- $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['description'] = '%%term_description%%';
 
85
  }
86
  }
87
 
88
  //Archives
89
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
90
- $seopress_titles_options['seopress_titles_archive_titles'][$seopress_cpt_key]['title'] = '%%cpt_plural%% %%current_pagination%% %%sep%% %%sitetitle%%';
 
 
91
  }
92
 
93
  //Author
@@ -180,14 +186,14 @@ class seopress_options
180
  $sp_seo_admin_menu['icon'] = 'dashicons-admin-seopress';
181
  }
182
 
183
- add_menu_page('SEOPress Option Page', __('SEO','wp-seopress'), 'manage_options', 'seopress-option', array( $this, 'create_admin_page' ), $sp_seo_admin_menu['icon'], 90);
184
- add_submenu_page('seopress-option', __('Dashboard','wp-seopress'), __('Dashboard','wp-seopress'), 'manage_options', 'seopress-option', array( $this, 'create_admin_page' ));
185
- $seopress_titles_help_tab = add_submenu_page('seopress-option', __('Titles & Metas','wp-seopress'), __('Titles & Metas','wp-seopress'), 'manage_options', 'seopress-titles', array( $this, 'seopress_titles_page' ));
186
- add_submenu_page('seopress-option', __('XML / Image / Video / HTML Sitemap','wp-seopress'), __('XML / HTML Sitemap','wp-seopress'), 'manage_options', 'seopress-xml-sitemap', array( $this, 'seopress_xml_sitemap_page' ));
187
- add_submenu_page('seopress-option', __('Social Networks','wp-seopress'), __('Social Networks','wp-seopress'), 'manage_options', 'seopress-social', array( $this, 'seopress_social_page' ));
188
- $seopress_google_analytics_help_tab = add_submenu_page('seopress-option', __('Google Analytics','wp-seopress'), __('Google Analytics','wp-seopress'), 'manage_options', 'seopress-google-analytics', array( $this, 'seopress_google_analytics_page' ));
189
- add_submenu_page('seopress-option', __('Advanced','wp-seopress'), __('Advanced','wp-seopress'), 'manage_options', 'seopress-advanced', array( $this, 'seopress_advanced_page' ));
190
- add_submenu_page('seopress-option', __('Tools','wp-seopress'), __('Tools','wp-seopress'), 'manage_options', 'seopress-import-export', array( $this,'seopress_import_export_page'));
191
 
192
  function seopress_titles_help_tab() {
193
  $screen = get_current_screen();
@@ -740,6 +746,20 @@ class seopress_options
740
  </div><!-- .postbox -->
741
  </div>
742
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_plugins') { echo 'active'; } ?>" id="tab_seopress_tool_plugins">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
743
  <!-- Yoast import tool -->
744
  <div id="yoast-migration-tool" class="postbox section-tool">
745
  <div class="inside">
@@ -759,7 +779,7 @@ class seopress_options
759
  <span class="spinner"></span>
760
  <div class="log"></div>
761
  </div><!-- .inside -->
762
- </div><!-- .postbox -->
763
 
764
  <!-- All In One import tool -->
765
  <div id="aio-migration-tool" class="postbox section-tool">
@@ -841,6 +861,43 @@ class seopress_options
841
  <div class="log"></div>
842
  </div><!-- .inside -->
843
  </div><!-- .postbox -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
844
  </div>
845
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_redirects') { echo 'active'; } ?>" id="tab_seopress_tool_redirects">
846
  <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
@@ -852,6 +909,7 @@ class seopress_options
852
  <option value="section-import-redirects"><?php _e('CSV file (must match the template)','wp-seopress'); ?></option>
853
  <option value="section-import-redirects-plugin"><?php _e('Redirections plugin (JSON - WordPress Redirects)','wp-seopress'); ?></option>
854
  <option value="section-import-yoast-redirects"><?php _e('Yoast Premium plugin (CSV)','wp-seopress'); ?></option>
 
855
  </select>
856
  <br><br>
857
  </div>
@@ -908,6 +966,22 @@ class seopress_options
908
  </form>
909
  </div><!-- .inside -->
910
  </div><!-- .postbox -->
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
911
  <div id="section-export-redirects" class="postbox section-tool">
912
  <div class="inside">
913
  <h3><span><?php _e( 'Export Redirections', 'wp-seopress' ); ?></span></h3>
@@ -925,6 +999,7 @@ class seopress_options
925
  <div class="inside">
926
  <h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
927
  <p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
 
928
  <form method="post">
929
  <p><input type="hidden" name="seopress_action" value="clean_404" /></p>
930
  <p>
@@ -989,18 +1064,18 @@ class seopress_options
989
  <div id="seopress-content">
990
  <!--Get started-->
991
  <?php
992
- if (seopress_get_toggle_option('white-label') !='1') {
993
- function seopress_get_hidden_notices_get_started_option() {
994
- $seopress_get_hidden_notices_get_started_option = get_option("seopress_notices");
995
- if ( ! empty ( $seopress_get_hidden_notices_get_started_option ) ) {
996
- foreach ($seopress_get_hidden_notices_get_started_option as $key => $seopress_get_hidden_notices_get_started_value)
997
- $options[$key] = $seopress_get_hidden_notices_get_started_value;
998
- if (isset($seopress_get_hidden_notices_get_started_option['notice-get-started'])) {
999
- return $seopress_get_hidden_notices_get_started_option['notice-get-started'];
1000
- }
1001
- }
1002
  }
1003
- if(seopress_get_hidden_notices_get_started_option() =='1') {
 
 
1004
  //do nothing
1005
  } else {
1006
  include_once(dirname( __FILE__ ).'/admin-get-started.php');
@@ -3348,7 +3423,7 @@ class seopress_options
3348
 
3349
  $options = get_option( 'seopress_titles_option_name' );
3350
 
3351
- $check = isset($options['seopress_titles_archives_search_title_noindex']);
3352
 
3353
  echo '<input id="seopress_titles_archives_search_title_noindex" name="seopress_titles_option_name[seopress_titles_archives_search_title_noindex]" type="checkbox"';
3354
  if ('1' == $check) echo 'checked="yes"';
@@ -4583,7 +4658,7 @@ class seopress_options
4583
  '<textarea id="seopress_google_analytics_other_tracking" name="seopress_google_analytics_option_name[seopress_google_analytics_other_tracking]" rows="16" placeholder="'.esc_html__('Paste your tracking code here like Google Tag Manager (head)','wp-seopress').'" aria-label="'.__('Additional tracking code field','wp-seopress').'">%s</textarea>',
4584
  esc_textarea($check));
4585
 
4586
- echo '<p class="description">'.__('This code will be added in the head section of your page.','wp-seopress').'</a></p>';
4587
  }
4588
 
4589
  public function seopress_google_analytics_other_tracking_body_callback()
@@ -4594,7 +4669,18 @@ class seopress_options
4594
  '<textarea id="seopress_google_analytics_other_tracking_body" name="seopress_google_analytics_option_name[seopress_google_analytics_other_tracking_body]" rows="16" placeholder="'.esc_html__('Paste your tracking code here like Google Tag Manager (body)','wp-seopress').'" aria-label="'.__('Additional tracking code field added to body','wp-seopress').'">%s</textarea>',
4595
  esc_textarea($check));
4596
 
4597
- echo '<p class="description">'.__('This code will be added just after the opening body tag of your page.','wp-seopress').'</a></p>';
 
 
 
 
 
 
 
 
 
 
 
4598
  }
4599
 
4600
  public function seopress_google_analytics_other_tracking_footer_callback()
@@ -4605,14 +4691,14 @@ class seopress_options
4605
  '<textarea id="seopress_google_analytics_other_tracking_footer" name="seopress_google_analytics_option_name[seopress_google_analytics_other_tracking_footer]" rows="16" placeholder="'.esc_html__('Paste your tracking code here (body footer)','wp-seopress').'" aria-label="'.__('Additional tracking code field added to body footer','wp-seopress').'">%s</textarea>',
4606
  esc_textarea($check));
4607
 
4608
- echo '<p class="description">'.__('This code will be added just after the closing body tag of your page.','wp-seopress').'</a></p>';
4609
  }
4610
 
4611
  public function seopress_google_analytics_remarketing_callback()
4612
  {
4613
- $options = get_option( 'seopress_google_analytics_option_name' );
4614
 
4615
- $check = isset($options['seopress_google_analytics_remarketing']);
4616
 
4617
  echo '<input id="seopress_google_analytics_remarketing" name="seopress_google_analytics_option_name[seopress_google_analytics_remarketing]" type="checkbox"';
4618
  if ('1' == $check) echo 'checked="yes"';
@@ -4632,9 +4718,9 @@ class seopress_options
4632
 
4633
  public function seopress_google_analytics_ip_anonymization_callback()
4634
  {
4635
- $options = get_option( 'seopress_google_analytics_option_name' );
4636
 
4637
- $check = isset($options['seopress_google_analytics_ip_anonymization']);
4638
 
4639
  echo '<input id="seopress_google_analytics_ip_anonymization" name="seopress_google_analytics_option_name[seopress_google_analytics_ip_anonymization]" type="checkbox"';
4640
  if ('1' == $check) echo 'checked="yes"';
@@ -4791,7 +4877,7 @@ class seopress_options
4791
  {
4792
  $options = get_option( 'seopress_google_analytics_option_name' );
4793
 
4794
- $selected = $options['seopress_google_analytics_cd_author'];
4795
 
4796
  echo '<select id="seopress_google_analytics_cd_author" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_author]">';
4797
  echo ' <option ';
@@ -4868,7 +4954,7 @@ class seopress_options
4868
  {
4869
  $options = get_option( 'seopress_google_analytics_option_name' );
4870
 
4871
- $selected = $options['seopress_google_analytics_cd_category'];
4872
 
4873
  echo '<select id="seopress_google_analytics_cd_category" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_category]">';
4874
  echo ' <option ';
@@ -4945,7 +5031,7 @@ class seopress_options
4945
  {
4946
  $options = get_option( 'seopress_google_analytics_option_name' );
4947
 
4948
- $selected = $options['seopress_google_analytics_cd_tag'];
4949
 
4950
  echo '<select id="seopress_google_analytics_cd_tag" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_tag]">';
4951
  echo ' <option ';
@@ -5022,7 +5108,7 @@ class seopress_options
5022
  {
5023
  $options = get_option( 'seopress_google_analytics_option_name' );
5024
 
5025
- $selected = $options['seopress_google_analytics_cd_post_type'];
5026
 
5027
  echo '<select id="seopress_google_analytics_cd_post_type" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_post_type]">';
5028
  echo ' <option ';
@@ -5099,7 +5185,7 @@ class seopress_options
5099
  {
5100
  $options = get_option( 'seopress_google_analytics_option_name' );
5101
 
5102
- $selected = $options['seopress_google_analytics_cd_logged_in_user'];
5103
 
5104
  echo '<select id="seopress_google_analytics_cd_logged_in_user" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_logged_in_user]">';
5105
  echo ' <option ';
27
  }
28
 
29
  public function set_default_values() {
30
+
31
  //Enable features==========================================================================
32
  $seopress_toggle_options = get_option('seopress_toggle');
33
 
59
  $seopress_titles_options['seopress_titles_home_site_desc'] = '%%tagline%%';
60
 
61
  //Post Types
62
+ if (function_exists('seopress_get_post_types') && !empty(seopress_get_post_types())) {
63
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
64
+ $seopress_titles_options['seopress_titles_single_titles'][$seopress_cpt_key]['title'] = '%%post_title%% %%sep%% %%sitetitle%%';
65
+ $seopress_titles_options['seopress_titles_single_titles'][$seopress_cpt_key]['description'] = '%%post_excerpt%%';
66
+ }
67
  }
68
 
69
  //Taxonomies
70
+ if (function_exists('seopress_get_taxonomies') && !empty(seopress_get_taxonomies())) {
71
+ foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
72
+ //Title
73
+ if ($seopress_tax_key =='category') {
74
+ $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['title'] = '%%_category_title%% %%current_pagination%% %%sep%% %%sitetitle%%';
75
+ } elseif ($seopress_tax_key =='post_tag') {
76
+ $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['title'] = '%%tag_title%% %%current_pagination%% %%sep%% %%sitetitle%%';
77
+ } else {
78
+ $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['title'] = '%%term_title%% %%current_pagination%% %%sep%% %%sitetitle%%';
79
+ }
80
 
81
+ //Desc
82
+ if ($seopress_tax_key =='category') {
83
+ $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['description'] = '%%_category_description%%';
84
+ } elseif ($seopress_tax_key =='post_tag') {
85
+ $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['description'] = '%%tag_description%%';
86
+ } else {
87
+ $seopress_titles_options['seopress_titles_tax_titles'][$seopress_tax_key]['description'] = '%%term_description%%';
88
+ }
89
  }
90
  }
91
 
92
  //Archives
93
+ if (function_exists('seopress_get_post_types') && !empty(seopress_get_post_types())) {
94
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
95
+ $seopress_titles_options['seopress_titles_archive_titles'][$seopress_cpt_key]['title'] = '%%cpt_plural%% %%current_pagination%% %%sep%% %%sitetitle%%';
96
+ }
97
  }
98
 
99
  //Author
186
  $sp_seo_admin_menu['icon'] = 'dashicons-admin-seopress';
187
  }
188
 
189
+ add_menu_page('SEOPress Option Page', __('SEO','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-option', array( $this, 'create_admin_page' ), $sp_seo_admin_menu['icon'], 90);
190
+ add_submenu_page('seopress-option', __('Dashboard','wp-seopress'), __('Dashboard','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-option', array( $this, 'create_admin_page' ));
191
+ $seopress_titles_help_tab = add_submenu_page('seopress-option', __('Titles & Metas','wp-seopress'), __('Titles & Metas','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-titles', array( $this, 'seopress_titles_page' ));
192
+ add_submenu_page('seopress-option', __('XML / Image / Video / HTML Sitemap','wp-seopress'), __('XML / HTML Sitemap','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-xml-sitemap', array( $this, 'seopress_xml_sitemap_page' ));
193
+ add_submenu_page('seopress-option', __('Social Networks','wp-seopress'), __('Social Networks','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-social', array( $this, 'seopress_social_page' ));
194
+ $seopress_google_analytics_help_tab = add_submenu_page('seopress-option', __('Google Analytics','wp-seopress'), __('Google Analytics','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-google-analytics', array( $this, 'seopress_google_analytics_page' ));
195
+ add_submenu_page('seopress-option', __('Advanced','wp-seopress'), __('Advanced','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-advanced', array( $this, 'seopress_advanced_page' ));
196
+ add_submenu_page('seopress-option', __('Tools','wp-seopress'), __('Tools','wp-seopress'), seopress_capability( 'manage_options', 'menu' ), 'seopress-import-export', array( $this,'seopress_import_export_page'));
197
 
198
  function seopress_titles_help_tab() {
199
  $screen = get_current_screen();
746
  </div><!-- .postbox -->
747
  </div>
748
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_plugins') { echo 'active'; } ?>" id="tab_seopress_tool_plugins">
749
+ <div class="postbox section-tool">
750
+ <h3><span><?php _e('Import posts and terms metadata from','wp-seopress'); ?></span></h3>
751
+ <select id="select-wizard-import" name="select-wizard-import">
752
+ <option value="none"><?php _e('Select an option','wp-seopress'); ?></option>
753
+ <option value="yoast-migration-tool"><?php _e('Yoast SEO','wp-seopress'); ?></option>
754
+ <option value="aio-migration-tool"><?php _e('All In One SEO','wp-seopress'); ?></option>
755
+ <option value="seo-framework-migration-tool"><?php _e('The SEO Framework','wp-seopress'); ?></option>
756
+ <option value="rk-migration-tool"><?php _e('Rank Math','wp-seopress'); ?></option>
757
+ <option value="squirrly-migration-tool"><?php _e('Squirrly SEO','wp-seopress'); ?></option>
758
+ <option value="seo-ultimate-migration-tool"><?php _e('SEO Ultimate','wp-seopress'); ?></option>
759
+ <option value="wp-meta-seo-migration-tool"><?php _e('WP Meta SEO','wp-seopress'); ?></option>
760
+ </select>
761
+ <br><br>
762
+ </div>
763
  <!-- Yoast import tool -->
764
  <div id="yoast-migration-tool" class="postbox section-tool">
765
  <div class="inside">
779
  <span class="spinner"></span>
780
  <div class="log"></div>
781
  </div><!-- .inside -->
782
+ </div><!-- .postbox -->
783
 
784
  <!-- All In One import tool -->
785
  <div id="aio-migration-tool" class="postbox section-tool">
861
  <div class="log"></div>
862
  </div><!-- .inside -->
863
  </div><!-- .postbox -->
864
+
865
+ <!-- SEO Ultimate import tool -->
866
+ <div id="seo-ultimate-migration-tool" class="postbox section-tool">
867
+ <div class="inside">
868
+ <h3><span><?php _e( 'Import posts metadata from SEO Ultimate', 'wp-seopress' ); ?></span></h3>
869
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
870
+ <ul>
871
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
872
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
873
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
874
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
875
+ <li><?php _e('Meta Robots (noindex or nofollow)','wp-seopress'); ?></li>
876
+ </ul>
877
+ <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts metadata. Some dynamic variables will not be interpreted. We do NOT delete any SEO Ultimate data.', 'wp-seopress' ); ?></p>
878
+ <button id="seopress-seo-ultimate-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
879
+ <span class="spinner"></span>
880
+ <div class="log"></div>
881
+ </div><!-- .inside -->
882
+ </div><!-- .postbox -->
883
+
884
+ <!-- WP Meta SEO import tool -->
885
+ <div id="wp-meta-seo-migration-tool" class="postbox section-tool">
886
+ <div class="inside">
887
+ <h3><span><?php _e( 'Import posts and terms metadata from WP Meta SEO', 'wp-seopress' ); ?></span></h3>
888
+ <p><?php _e( 'By clicking Migrate, we\'ll import:', 'wp-seopress' ); ?></p>
889
+ <ul>
890
+ <li><?php _e('Title tags','wp-seopress'); ?></li>
891
+ <li><?php _e('Meta description','wp-seopress'); ?></li>
892
+ <li><?php _e('Facebook Open Graph tags (title, description and image thumbnail)','wp-seopress'); ?></li>
893
+ <li><?php _e('Twitter tags (title, description and image thumbnail)','wp-seopress'); ?></li>
894
+ </ul>
895
+ <p style="color:red"><span class="dashicons dashicons-info"></span> <?php _e( '<strong>WARNING:</strong> Migration will update / delete all SEOPress posts metadata. Some dynamic variables will not be interpreted. We do NOT delete any WP Meta SEO data.', 'wp-seopress' ); ?></p>
896
+ <button id="seopress-wp-meta-seo-migrate" class="button"><?php _e('Migrate now','wp-seopress'); ?></button>
897
+ <span class="spinner"></span>
898
+ <div class="log"></div>
899
+ </div><!-- .inside -->
900
+ </div><!-- .postbox -->
901
  </div>
902
  <div class="seopress-tab <?php if ($current_tab == 'tab_seopress_tool_redirects') { echo 'active'; } ?>" id="tab_seopress_tool_redirects">
903
  <?php if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) { ?>
909
  <option value="section-import-redirects"><?php _e('CSV file (must match the template)','wp-seopress'); ?></option>
910
  <option value="section-import-redirects-plugin"><?php _e('Redirections plugin (JSON - WordPress Redirects)','wp-seopress'); ?></option>
911
  <option value="section-import-yoast-redirects"><?php _e('Yoast Premium plugin (CSV)','wp-seopress'); ?></option>
912
+ <option value="section-import-rk-redirects"><?php _e('Rank Math plugin (TXT)','wp-seopress'); ?></option>
913
  </select>
914
  <br><br>
915
  </div>
966
  </form>
967
  </div><!-- .inside -->
968
  </div><!-- .postbox -->
969
+ <div id="section-import-rk-redirects" class="postbox section-tool">
970
+ <div class="inside">
971
+ <h3><span><?php _e( 'Import Redirections from Rank Math', 'wp-seopress' ); ?></span></h3>
972
+ <p><?php _e( 'Import your own redirections from a .txt file generated by Rank Math. Note that we don\'t support certain options, like regex. To avoid conflicts, make sure there are no duplicates between your file and existing redirects.', 'wp-seopress' ); ?></p>
973
+ <form method="post" enctype="multipart/form-data">
974
+ <p>
975
+ <input type="file" name="import_file"/>
976
+ </p>
977
+ <p>
978
+ <input type="hidden" name="seopress_action" value="import_rk_redirections" />
979
+ <?php wp_nonce_field( 'seopress_import_rk_redirections_nonce', 'seopress_import_rk_redirections_nonce' ); ?>
980
+ <?php submit_button( __( 'Import', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
981
+ </p>
982
+ </form>
983
+ </div><!-- .inside -->
984
+ </div><!-- .postbox -->
985
  <div id="section-export-redirects" class="postbox section-tool">
986
  <div class="inside">
987
  <h3><span><?php _e( 'Export Redirections', 'wp-seopress' ); ?></span></h3>
999
  <div class="inside">
1000
  <h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
1001
  <p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
1002
+ <p><?php echo sprintf(__( 'Make sure you have enable 404 cleaning from SEO, PRO, <a href="%s">404/301</a> tab to be able to delete all your 404 errors.', 'wp-seopress' ), admin_url( 'admin.php?page=seopress-pro-page' )); ?></p>
1003
  <form method="post">
1004
  <p><input type="hidden" name="seopress_action" value="clean_404" /></p>
1005
  <p>
1064
  <div id="seopress-content">
1065
  <!--Get started-->
1066
  <?php
1067
+ function seopress_get_hidden_notices_get_started_option() {
1068
+ $seopress_get_hidden_notices_get_started_option = get_option("seopress_notices");
1069
+ if ( ! empty ( $seopress_get_hidden_notices_get_started_option ) ) {
1070
+ foreach ($seopress_get_hidden_notices_get_started_option as $key => $seopress_get_hidden_notices_get_started_value)
1071
+ $options[$key] = $seopress_get_hidden_notices_get_started_value;
1072
+ if (isset($seopress_get_hidden_notices_get_started_option['notice-get-started'])) {
1073
+ return $seopress_get_hidden_notices_get_started_option['notice-get-started'];
1074
+ }
 
 
1075
  }
1076
+ }
1077
+ if(seopress_get_hidden_notices_get_started_option() !='1') {
1078
+ if (function_exists('seopress_get_toggle_white_label_option') && seopress_get_toggle_white_label_option() =='1') {
1079
  //do nothing
1080
  } else {
1081
  include_once(dirname( __FILE__ ).'/admin-get-started.php');
3423
 
3424
  $options = get_option( 'seopress_titles_option_name' );
3425
 
3426
+ $check = isset($options['seopress_titles_archives_search_title_noindex']);
3427
 
3428
  echo '<input id="seopress_titles_archives_search_title_noindex" name="seopress_titles_option_name[seopress_titles_archives_search_title_noindex]" type="checkbox"';
3429
  if ('1' == $check) echo 'checked="yes"';
4658
  '<textarea id="seopress_google_analytics_other_tracking" name="seopress_google_analytics_option_name[seopress_google_analytics_other_tracking]" rows="16" placeholder="'.esc_html__('Paste your tracking code here like Google Tag Manager (head)','wp-seopress').'" aria-label="'.__('Additional tracking code field','wp-seopress').'">%s</textarea>',
4659
  esc_textarea($check));
4660
 
4661
+ echo '<p class="description">'.__('This code will be added in the head section of your page.','wp-seopress').'</p>';
4662
  }
4663
 
4664
  public function seopress_google_analytics_other_tracking_body_callback()
4669
  '<textarea id="seopress_google_analytics_other_tracking_body" name="seopress_google_analytics_option_name[seopress_google_analytics_other_tracking_body]" rows="16" placeholder="'.esc_html__('Paste your tracking code here like Google Tag Manager (body)','wp-seopress').'" aria-label="'.__('Additional tracking code field added to body','wp-seopress').'">%s</textarea>',
4670
  esc_textarea($check));
4671
 
4672
+ echo '<p class="description">'.__('This code will be added just after the opening body tag of your page.','wp-seopress').'</p>';
4673
+ echo '<p class="description">'.__('You don‘t see your code? Make sure to call <strong>wp_body_open();</strong> just after the opening body tag in your theme.','wp-seopress').'</p>';
4674
+
4675
+ if (function_exists('seopress_get_locale')) {
4676
+ if (seopress_get_locale() =='fr') {
4677
+ $seopress_docs_link['support']['analytics']['gtm'] = 'https://www.seopress.org/fr/support/guides/google-tag-manager-site-wordpress-seopress/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
4678
+ } else {
4679
+ $seopress_docs_link['support']['analytics']['gtm'] = 'https://www.seopress.org/support/guides/google-tag-manager-wordpress-seopress/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
4680
+ }
4681
+ }
4682
+
4683
+ echo '<a href="'.$seopress_docs_link['support']['analytics']['gtm'].'" target="_blank">'. __('Learn more','wp-seopress').'</span></a><span class="dashicons dashicons-external"></span></p>';
4684
  }
4685
 
4686
  public function seopress_google_analytics_other_tracking_footer_callback()
4691
  '<textarea id="seopress_google_analytics_other_tracking_footer" name="seopress_google_analytics_option_name[seopress_google_analytics_other_tracking_footer]" rows="16" placeholder="'.esc_html__('Paste your tracking code here (body footer)','wp-seopress').'" aria-label="'.__('Additional tracking code field added to body footer','wp-seopress').'">%s</textarea>',
4692
  esc_textarea($check));
4693
 
4694
+ echo '<p class="description">'.__('This code will be added just after the closing body tag of your page.','wp-seopress').'</p>';
4695
  }
4696
 
4697
  public function seopress_google_analytics_remarketing_callback()
4698
  {
4699
+ $options = get_option( 'seopress_google_analytics_option_name' );
4700
 
4701
+ $check = isset($options['seopress_google_analytics_remarketing']);
4702
 
4703
  echo '<input id="seopress_google_analytics_remarketing" name="seopress_google_analytics_option_name[seopress_google_analytics_remarketing]" type="checkbox"';
4704
  if ('1' == $check) echo 'checked="yes"';
4718
 
4719
  public function seopress_google_analytics_ip_anonymization_callback()
4720
  {
4721
+ $options = get_option( 'seopress_google_analytics_option_name' );
4722
 
4723
+ $check = isset($options['seopress_google_analytics_ip_anonymization']);
4724
 
4725
  echo '<input id="seopress_google_analytics_ip_anonymization" name="seopress_google_analytics_option_name[seopress_google_analytics_ip_anonymization]" type="checkbox"';
4726
  if ('1' == $check) echo 'checked="yes"';
4877
  {
4878
  $options = get_option( 'seopress_google_analytics_option_name' );
4879
 
4880
+ $selected = isset($options['seopress_google_analytics_cd_author']) ? $options['seopress_google_analytics_cd_author'] : NULL;
4881
 
4882
  echo '<select id="seopress_google_analytics_cd_author" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_author]">';
4883
  echo ' <option ';
4954
  {
4955
  $options = get_option( 'seopress_google_analytics_option_name' );
4956
 
4957
+ $selected = isset($options['seopress_google_analytics_cd_category']) ? $options['seopress_google_analytics_cd_category'] : NULL;
4958
 
4959
  echo '<select id="seopress_google_analytics_cd_category" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_category]">';
4960
  echo ' <option ';
5031
  {
5032
  $options = get_option( 'seopress_google_analytics_option_name' );
5033
 
5034
+ $selected = isset($options['seopress_google_analytics_cd_tag']) ? $options['seopress_google_analytics_cd_tag'] : NULL;
5035
 
5036
  echo '<select id="seopress_google_analytics_cd_tag" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_tag]">';
5037
  echo ' <option ';
5108
  {
5109
  $options = get_option( 'seopress_google_analytics_option_name' );
5110
 
5111
+ $selected = isset($options['seopress_google_analytics_cd_post_type']) ? $options['seopress_google_analytics_cd_post_type'] : NULL;
5112
 
5113
  echo '<select id="seopress_google_analytics_cd_post_type" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_post_type]">';
5114
  echo ' <option ';
5185
  {
5186
  $options = get_option( 'seopress_google_analytics_option_name' );
5187
 
5188
+ $selected = isset($options['seopress_google_analytics_cd_logged_in_user']) ? $options['seopress_google_analytics_cd_logged_in_user'] : NULL;
5189
 
5190
  echo '<select id="seopress_google_analytics_cd_logged_in_user" name="seopress_google_analytics_option_name[seopress_google_analytics_cd_logged_in_user]">';
5191
  echo ' <option ';
inc/admin/adminbar.php CHANGED
@@ -6,114 +6,116 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
6
  */
7
 
8
  function seopress_admin_bar_links() {
9
- if (function_exists('seopress_advanced_appearance_adminbar_option') && seopress_advanced_appearance_adminbar_option() !='1') {
10
- global $wp_admin_bar;
 
11
 
12
- $title = '<span class="ab-icon icon-seopress-seopress"></span> '.__( 'SEO', 'wp-seopress' );
13
- $title = apply_filters('seopress_adminbar_icon',$title);
14
 
15
- // Adds a new top level admin bar link and a submenu to it
16
- $wp_admin_bar->add_menu( array(
17
- 'parent' => false,
18
- 'id' => 'seopress_custom_top_level',
19
- 'title' => $title,
20
- 'href' => admin_url( 'admin.php?page=seopress-option' ),
21
- ));
22
- $wp_admin_bar->add_menu( array(
23
- 'parent' => 'seopress_custom_top_level',
24
- 'id' => 'seopress_custom_sub_menu_titles',
25
- 'title' => __( 'Titles & Metas', 'wp-seopress' ),
26
- 'href' => admin_url( 'admin.php?page=seopress-titles' ),
27
- ));
28
- $wp_admin_bar->add_menu( array(
29
- 'parent' => 'seopress_custom_top_level',
30
- 'id' => 'seopress_custom_sub_menu_xml_sitemap',
31
- 'title' => __( 'XML / HTML Sitemap', 'wp-seopress' ),
32
- 'href' => admin_url( 'admin.php?page=seopress-xml-sitemap' ),
33
- ));
34
- $wp_admin_bar->add_menu( array(
35
- 'parent' => 'seopress_custom_top_level',
36
- 'id' => 'seopress_custom_sub_menu_social',
37
- 'title' => __( 'Social Networks', 'wp-seopress' ),
38
- 'href' => admin_url( 'admin.php?page=seopress-social' ),
39
- ));
40
- $wp_admin_bar->add_menu( array(
41
- 'parent' => 'seopress_custom_top_level',
42
- 'id' => 'seopress_custom_sub_menu_google_analytics',
43
- 'title' => __( 'Google Analytics', 'wp-seopress' ),
44
- 'href' => admin_url( 'admin.php?page=seopress-google-analytics' ),
45
- ));
46
- $wp_admin_bar->add_menu( array(
47
- 'parent' => 'seopress_custom_top_level',
48
- 'id' => 'seopress_custom_sub_menu_advanced',
49
- 'title' => __( 'Advanced', 'wp-seopress' ),
50
- 'href' => admin_url( 'admin.php?page=seopress-advanced' ),
51
- ));
52
- $wp_admin_bar->add_menu( array(
53
- 'parent' => 'seopress_custom_top_level',
54
- 'id' => 'seopress_custom_sub_menu_import_export',
55
- 'title' => __( 'Tools', 'wp-seopress' ),
56
- 'href' => admin_url( 'admin.php?page=seopress-import-export' ),
57
- ));
58
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
59
- if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
60
- if(seopress_get_toggle_option('bot')=='1') {
61
- $wp_admin_bar->add_menu( array(
62
- 'parent' => 'seopress_custom_top_level',
63
- 'id' => 'seopress_custom_sub_menu_bot',
64
- 'title' => __( 'BOT', 'wp-seopress' ),
65
- 'href' => admin_url( 'admin.php?page=seopress-bot-batch' ),
66
- ));
67
- }
68
  $wp_admin_bar->add_menu( array(
69
  'parent' => 'seopress_custom_top_level',
70
- 'id' => 'seopress_custom_sub_menu_license',
71
- 'title' => __( 'License', 'wp-seopress' ),
72
- 'href' => admin_url( 'admin.php?page=seopress-license' ),
73
  ));
74
  $wp_admin_bar->add_menu( array(
75
  'parent' => 'seopress_custom_top_level',
76
- 'id' => 'seopress_custom_sub_menu_pro',
77
- 'title' => __( 'PRO', 'wp-seopress' ),
78
- 'href' => admin_url( 'admin.php?page=seopress-pro-page' ),
 
 
 
 
 
 
79
  ));
80
- if(seopress_get_toggle_option('rich-snippets')=='1') {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
81
  $wp_admin_bar->add_menu( array(
82
  'parent' => 'seopress_custom_top_level',
83
- 'id' => 'seopress_custom_sub_menu_schemas',
84
- 'title' => __( 'Schemas', 'wp-seopress' ),
85
- 'href' => admin_url( 'edit.php?post_type=seopress_schemas' ),
86
  ));
87
- }
88
- if(seopress_get_toggle_option('404')=='1') {
89
  $wp_admin_bar->add_menu( array(
90
  'parent' => 'seopress_custom_top_level',
91
- 'id' => 'seopress_custom_sub_menu_404',
92
- 'title' => __( 'Redirections', 'wp-seopress' ),
93
- 'href' => admin_url( 'edit.php?post_type=seopress_404' ),
94
  ));
95
- }
96
- if(seopress_get_toggle_option('bot')=='1') {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  $wp_admin_bar->add_menu( array(
98
  'parent' => 'seopress_custom_top_level',
99
- 'id' => 'seopress_custom_sub_menu_broken_links',
100
- 'title' => __( 'Broken Links', 'wp-seopress' ),
101
- 'href' => admin_url( 'edit.php?post_type=seopress_bot' ),
102
  ));
103
  }
104
  $wp_admin_bar->add_menu( array(
105
  'parent' => 'seopress_custom_top_level',
106
- 'id' => 'seopress_custom_sub_menu_backlinks',
107
- 'title' => __( 'Backlinks', 'wp-seopress' ),
108
- 'href' => admin_url( 'edit.php?post_type=seopress_backlinks' ),
109
  ));
110
  }
111
- $wp_admin_bar->add_menu( array(
112
- 'parent' => 'seopress_custom_top_level',
113
- 'id' => 'seopress_custom_sub_menu_wizard',
114
- 'title' => __( 'Configuration wizard', 'wp-seopress' ),
115
- 'href' => admin_url( 'admin.php?page=seopress-setup' ),
116
- ));
117
  }
118
  }
119
  add_action( 'admin_bar_menu', 'seopress_admin_bar_links', 99 );
6
  */
7
 
8
  function seopress_admin_bar_links() {
9
+ if ( current_user_can( seopress_capability( 'manage_options', 'admin_bar' ) ) ) {
10
+ if (function_exists('seopress_advanced_appearance_adminbar_option') && seopress_advanced_appearance_adminbar_option() !='1') {
11
+ global $wp_admin_bar;
12
 
13
+ $title = '<span class="ab-icon icon-seopress-seopress"></span> '.__( 'SEO', 'wp-seopress' );
14
+ $title = apply_filters('seopress_adminbar_icon',$title);
15
 
16
+ // Adds a new top level admin bar link and a submenu to it
17
+ $wp_admin_bar->add_menu( array(
18
+ 'parent' => false,
19
+ 'id' => 'seopress_custom_top_level',
20
+ 'title' => $title,
21
+ 'href' => admin_url( 'admin.php?page=seopress-option' ),
22
+ ));
23
+ $wp_admin_bar->add_menu( array(
24
+ 'parent' => 'seopress_custom_top_level',
25
+ 'id' => 'seopress_custom_sub_menu_titles',
26
+ 'title' => __( 'Titles & Metas', 'wp-seopress' ),
27
+ 'href' => admin_url( 'admin.php?page=seopress-titles' ),
28
+ ));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
  $wp_admin_bar->add_menu( array(
30
  'parent' => 'seopress_custom_top_level',
31
+ 'id' => 'seopress_custom_sub_menu_xml_sitemap',
32
+ 'title' => __( 'XML / HTML Sitemap', 'wp-seopress' ),
33
+ 'href' => admin_url( 'admin.php?page=seopress-xml-sitemap' ),
34
  ));
35
  $wp_admin_bar->add_menu( array(
36
  'parent' => 'seopress_custom_top_level',
37
+ 'id' => 'seopress_custom_sub_menu_social',
38
+ 'title' => __( 'Social Networks', 'wp-seopress' ),
39
+ 'href' => admin_url( 'admin.php?page=seopress-social' ),
40
+ ));
41
+ $wp_admin_bar->add_menu( array(
42
+ 'parent' => 'seopress_custom_top_level',
43
+ 'id' => 'seopress_custom_sub_menu_google_analytics',
44
+ 'title' => __( 'Google Analytics', 'wp-seopress' ),
45
+ 'href' => admin_url( 'admin.php?page=seopress-google-analytics' ),
46
  ));
47
+ $wp_admin_bar->add_menu( array(
48
+ 'parent' => 'seopress_custom_top_level',
49
+ 'id' => 'seopress_custom_sub_menu_advanced',
50
+ 'title' => __( 'Advanced', 'wp-seopress' ),
51
+ 'href' => admin_url( 'admin.php?page=seopress-advanced' ),
52
+ ));
53
+ $wp_admin_bar->add_menu( array(
54
+ 'parent' => 'seopress_custom_top_level',
55
+ 'id' => 'seopress_custom_sub_menu_import_export',
56
+ 'title' => __( 'Tools', 'wp-seopress' ),
57
+ 'href' => admin_url( 'admin.php?page=seopress-import-export' ),
58
+ ));
59
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
60
+ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
61
+ if(seopress_get_toggle_option('bot')=='1') {
62
+ $wp_admin_bar->add_menu( array(
63
+ 'parent' => 'seopress_custom_top_level',
64
+ 'id' => 'seopress_custom_sub_menu_bot',
65
+ 'title' => __( 'BOT', 'wp-seopress' ),
66
+ 'href' => admin_url( 'admin.php?page=seopress-bot-batch' ),
67
+ ));
68
+ }
69
  $wp_admin_bar->add_menu( array(
70
  'parent' => 'seopress_custom_top_level',
71
+ 'id' => 'seopress_custom_sub_menu_license',
72
+ 'title' => __( 'License', 'wp-seopress' ),
73
+ 'href' => admin_url( 'admin.php?page=seopress-license' ),
74
  ));
 
 
75
  $wp_admin_bar->add_menu( array(
76
  'parent' => 'seopress_custom_top_level',
77
+ 'id' => 'seopress_custom_sub_menu_pro',
78
+ 'title' => __( 'PRO', 'wp-seopress' ),
79
+ 'href' => admin_url( 'admin.php?page=seopress-pro-page' ),
80
  ));
81
+ if(seopress_get_toggle_option('rich-snippets')=='1') {
82
+ $wp_admin_bar->add_menu( array(
83
+ 'parent' => 'seopress_custom_top_level',
84
+ 'id' => 'seopress_custom_sub_menu_schemas',
85
+ 'title' => __( 'Schemas', 'wp-seopress' ),
86
+ 'href' => admin_url( 'edit.php?post_type=seopress_schemas' ),
87
+ ));
88
+ }
89
+ if(seopress_get_toggle_option('404')=='1') {
90
+ $wp_admin_bar->add_menu( array(
91
+ 'parent' => 'seopress_custom_top_level',
92
+ 'id' => 'seopress_custom_sub_menu_404',
93
+ 'title' => __( 'Redirections', 'wp-seopress' ),
94
+ 'href' => admin_url( 'edit.php?post_type=seopress_404' ),
95
+ ));
96
+ }
97
+ if(seopress_get_toggle_option('bot')=='1') {
98
+ $wp_admin_bar->add_menu( array(
99
+ 'parent' => 'seopress_custom_top_level',
100
+ 'id' => 'seopress_custom_sub_menu_broken_links',
101
+ 'title' => __( 'Broken Links', 'wp-seopress' ),
102
+ 'href' => admin_url( 'edit.php?post_type=seopress_bot' ),
103
+ ));
104
+ }
105
  $wp_admin_bar->add_menu( array(
106
  'parent' => 'seopress_custom_top_level',
107
+ 'id' => 'seopress_custom_sub_menu_backlinks',
108
+ 'title' => __( 'Backlinks', 'wp-seopress' ),
109
+ 'href' => admin_url( 'edit.php?post_type=seopress_backlinks' ),
110
  ));
111
  }
112
  $wp_admin_bar->add_menu( array(
113
  'parent' => 'seopress_custom_top_level',
114
+ 'id' => 'seopress_custom_sub_menu_wizard',
115
+ 'title' => __( 'Configuration wizard', 'wp-seopress' ),
116
+ 'href' => admin_url( 'admin.php?page=seopress-setup' ),
117
  ));
118
  }
 
 
 
 
 
 
119
  }
120
  }
121
  add_action( 'admin_bar_menu', 'seopress_admin_bar_links', 99 );
inc/admin/ajax.php CHANGED
@@ -7,337 +7,370 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
7
  function seopress_do_real_preview() {
8
  check_ajax_referer( 'seopress_real_preview_nonce', $_GET['_ajax_nonce'], true );
9
 
10
- if (current_user_can('edit_posts') && is_admin()) {
11
 
12
  //Get cookies
13
- if (isset($_COOKIE)) {
14
  $cookies = array();
15
-
16
  foreach ( $_COOKIE as $name => $value ) {
17
  if ( 'PHPSESSID' !== $name ) {
18
  $cookies[] = new WP_Http_Cookie( array( 'name' => $name, 'value' => $value ) );
19
  }
20
  }
21
  }
22
-
23
  //Get post id
24
  if ( isset( $_GET['post_id'] ) ) {
25
  $seopress_get_the_id = $_GET['post_id'];
26
  }
27
 
28
- //Get post type
29
- if ( isset( $_GET['post_type'] ) ) {
30
- $seopress_get_post_type = $_GET['post_type'];
31
- }
 
 
 
 
 
 
 
 
 
32
 
33
- //Origin
34
- if ( isset( $_GET['origin'] ) ) {
35
- $seopress_origin = $_GET['origin'];
36
- }
37
 
38
- //Tax name
39
- if ( isset( $_GET['tax_name'] ) ) {
40
- $seopress_tax_name = $_GET['tax_name'];
41
- }
 
 
 
42
 
43
- //Get post content (used for Words counter)
44
- $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
45
-
46
  //Themify compatibility
47
  if ( defined( 'THEMIFY_DIR' ) ) {
48
  $seopress_get_the_content = get_post_field('post_content', $seopress_get_the_id);
49
  }
50
 
51
- $seopress_get_the_content = apply_filters('seopress_content_analysis_content', $seopress_get_the_content, $seopress_get_the_id);
 
 
 
52
 
53
- //Init
54
- $title = '';
55
- $meta_desc = '';
56
- $data = array();
 
57
 
58
- //Save Target KWs
59
- if(isset($_GET['seopress_analysis_target_kw'])) {
60
- delete_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw');
61
- update_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw', esc_html($_GET['seopress_analysis_target_kw']));
62
- }
63
 
64
- //DOM
65
- $dom = new DOMDocument();
66
- $internalErrors = libxml_use_internal_errors(true);
67
- $dom->preserveWhiteSpace = false;
68
-
69
- //Get source code
70
- $args = array(
71
- 'blocking' => true,
72
- 'timeout' => 30,
73
- 'sslverify' => false,
74
- );
75
-
76
- if (isset($cookies) && !empty($cookies)) {
77
- $args['cookies'] = $cookies;
78
- }
79
 
80
- $args = apply_filters('seopress_real_preview_remote', $args);
 
 
 
 
 
 
 
 
 
 
81
 
82
- $data['title'] = $cookies;
 
 
83
 
84
- if ($seopress_origin =='post') { //Default: post type
85
- $response = wp_remote_get(get_preview_post_link((int)$seopress_get_the_id,array('no_admin_bar' => 1)), $args);
86
- } else { //Term taxonomy
87
- $response = wp_remote_get(get_term_link((int)$seopress_get_the_id, $seopress_tax_name), $args);
88
- }
89
- //Check for error
90
- if ( is_wp_error( $response ) || wp_remote_retrieve_response_code($response) =='404' ) {
91
- $data['title'] = __('To get your Google snippet preview, publish your post!', 'wp-seopress');
92
- } else {
93
- $response = wp_remote_retrieve_body($response);
94
 
95
- if($dom->loadHTML('<?xml encoding="utf-8" ?>' .$response)) {
96
- //Get Target Keywords
97
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
98
- $data['target_kws'] = strtolower($_GET['seopress_analysis_target_kw']);
99
- $seopress_analysis_target_kw = array_filter(explode(',', strtolower(get_post_meta($seopress_get_the_id,'_seopress_analysis_target_kw',true))));
100
- }
101
- $xpath = new DOMXPath($dom);
102
 
103
- //Title
104
- $list = $dom->getElementsByTagName("title");
105
- if ($list->length > 0) {
106
- $title = $list->item(0)->textContent;
107
- $data['title'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($title)));
 
 
 
 
 
 
 
 
108
  if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
109
- foreach ($seopress_analysis_target_kw as $kw) {
110
- if (preg_match_all('#\b('.$kw.')\b#iu', $data['title'], $m)) {
111
- $data['meta_title']['matches'][$kw][] = $m[0];
 
 
 
 
 
 
 
 
 
 
 
 
112
  }
113
  }
114
  }
115
- }
116
 
117
- //Meta desc
118
- $meta_description = $xpath->query('//meta[@name="description"]/@content');
119
 
120
- foreach ($meta_description as $key=>$mdesc) {
121
- $data['meta_desc'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags($mdesc->nodeValue))));
122
- }
123
 
124
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
125
- if (!empty($meta_description)) {
126
- foreach ($meta_description as $meta_desc) {
127
- foreach ($seopress_analysis_target_kw as $kw) {
128
- if (preg_match_all('#\b('.$kw.')\b#iu', $meta_desc->nodeValue, $m)) {
129
- $data['meta_description']['matches'][$kw][] = $m[0];
 
130
  }
131
  }
132
  }
133
  }
134
- }
135
-
136
- //OG:title
137
- $og_title = $xpath->query('//meta[@property="og:title"]/@content');
138
-
139
- if (!empty($og_title)) {
140
- $data['og_title']['count'] = count($og_title);
141
- foreach ($og_title as $key=>$mogtitle) {
142
- $data['og_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mogtitle->nodeValue)));
143
  }
144
- }
145
 
146
- //OG:description
147
- $og_desc = $xpath->query('//meta[@property="og:description"]/@content');
148
 
149
- if (!empty($og_desc)) {
150
- $data['og_desc']['count'] = count($og_desc);
151
- foreach ($og_desc as $key=>$mog_desc) {
152
- $data['og_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_desc->nodeValue)));
 
153
  }
154
- }
155
 
156
- //OG:image
157
- $og_img = $xpath->query('//meta[@property="og:image"]/@content');
158
 
159
- if (!empty($og_img)) {
160
- $data['og_img']['count'] = count($og_img);
161
- foreach ($og_img as $key=>$mog_img) {
162
- $data['og_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_img->nodeValue)));
 
163
  }
164
- }
165
 
166
- //OG:url
167
- $og_url = $xpath->query('//meta[@property="og:url"]/@content');
168
 
169
- if (!empty($og_url)) {
170
- $data['og_url']['count'] = count($og_url);
171
- foreach ($og_url as $key=>$mog_url) {
172
- $url = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_url->nodeValue)));
173
- $data['og_url']['values'][] = $url;
174
- $url = wp_parse_url($url);
175
- $data['og_url']['host'] = $url['host'];
 
176
  }
177
- }
178
 
179
- //OG:site_name
180
- $og_site_name = $xpath->query('//meta[@property="og:site_name"]/@content');
181
 
182
- if (!empty($og_site_name)) {
183
- $data['og_site_name']['count'] = count($og_site_name);
184
- foreach ($og_site_name as $key=>$mog_site_name) {
185
- $data['og_site_name']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_site_name->nodeValue)));
 
186
  }
187
- }
188
 
189
- //Twitter:title
190
- $tw_title = $xpath->query('//meta[@name="twitter:title"]/@content');
191
 
192
- if (!empty($tw_title)) {
193
- $data['tw_title']['count'] = count($tw_title);
194
- foreach ($tw_title as $key=>$mtw_title) {
195
- $data['tw_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_title->nodeValue)));
 
196
  }
197
- }
198
 
199
- //Twitter:description
200
- $tw_desc = $xpath->query('//meta[@name="twitter:description"]/@content');
201
 
202
- if (!empty($tw_desc)) {
203
- $data['tw_desc']['count'] = count($tw_desc);
204
- foreach ($tw_desc as $key=>$mtw_desc) {
205
- $data['tw_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_desc->nodeValue)));
 
206
  }
207
- }
208
 
209
- //Twitter:image
210
- $tw_img = $xpath->query('//meta[@name="twitter:image"]/@content');
211
 
212
- if (!empty($tw_img)) {
213
- $data['tw_img']['count'] = count($tw_img);
214
- foreach ($tw_img as $key=>$mtw_img) {
215
- $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue)));
 
216
  }
217
- }
218
 
219
- //Twitter:image:src
220
- $tw_img = $xpath->query('//meta[@name="twitter:image:src"]/@content');
221
 
222
- if (!empty($tw_img)) {
223
- $count = NULL;
224
- if (!empty($data['tw_img']['count'])) {
225
- $count = $data['tw_img']['count'];
226
- }
227
-
228
- $data['tw_img']['count'] = count($tw_img) + $count;
229
 
230
- foreach ($tw_img as $key=>$mtw_img) {
231
- $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue)));
 
232
  }
233
- }
234
 
235
- //Canonical
236
- $canonical = $xpath->query('//link[@rel="canonical"]/@href');
237
 
238
- foreach ($canonical as $key=>$mcanonical) {
239
- $data['canonical'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue)));
240
- }
241
 
242
- if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
243
- //h1
244
- $h1 = $xpath->query("//h1");
245
- if (!empty($h1)) {
246
- $data['h1']['nomatches']['count'] = count($h1);
247
- foreach ($h1 as $heading1) {
248
- foreach ($seopress_analysis_target_kw as $kw) {
249
- if (preg_match_all('#\b('.$kw.')\b#iu', $heading1->nodeValue, $m)) {
250
- $data['h1']['matches'][$kw][] = $m[0];
 
251
  }
 
252
  }
253
- $data['h1']['values'][] = esc_attr($heading1->nodeValue);
254
  }
255
- }
256
 
257
- //h2
258
- $h2 = $xpath->query("//h2");
259
- if (!empty($h2)) {
260
- foreach ($h2 as $heading2) {
261
- foreach ($seopress_analysis_target_kw as $kw) {
262
- if (preg_match_all('#\b('.$kw.')\b#iu', $heading2->nodeValue, $m)) {
263
- $data['h2']['matches'][$kw][] = $m[0];
 
264
  }
265
  }
266
  }
267
- }
268
 
269
- //h3
270
- $h3 = $xpath->query("//h3");
271
- if (!empty($h3)) {
272
- foreach ($h3 as $heading3) {
273
- foreach ($seopress_analysis_target_kw as $kw) {
274
- if (preg_match_all('#\b('.$kw.')\b#iu', $heading3->nodeValue, $m)) {
275
- $data['h3']['matches'][$kw][] = $m[0];
 
276
  }
277
  }
278
  }
279
- }
280
 
281
- //Keywords density
282
- foreach ($seopress_analysis_target_kw as $kw) {
283
- if (preg_match_all('#\b('.$kw.')\b#iu', strip_tags(wp_filter_nohtml_kses($seopress_get_the_content)), $m)) {
284
- $data['kws_density']['matches'][$kw][] = $m[0];
 
285
  }
286
- }
287
 
288
- //Keywords in permalink
289
- $post = get_post($seopress_get_the_id);
290
- $kw_slug = $post->post_name;
291
- $kw_slug = str_replace("-", " ", $kw_slug);
292
 
293
- if (isset($kw_slug)) {
294
- foreach ($seopress_analysis_target_kw as $kw) {
295
- if (preg_match_all('#\b('.$kw.')\b#iu', strip_tags(wp_filter_nohtml_kses($kw_slug)), $m)) {
296
- $data['kws_permalink']['matches'][$kw][] = $m[0];
 
297
  }
298
  }
299
  }
300
- }
301
 
302
- //Images
303
- /*Standard images*/
304
- $imgs = $xpath->query("//img");
305
-
306
- if (!empty($imgs) && $imgs !=NULL) {
307
- //init
308
- $data_img = array();
309
- foreach ($imgs as $img) {
310
- if ($img->getAttribute('alt') =='') {
311
- $data_img[] .= $img->getAttribute('src');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
312
  }
313
  }
314
- $data['img']['images'] = $data_img;
315
- }
316
 
317
- //Meta robots
318
- $meta_robots = $xpath->query('//meta[@name="robots"]/@content');
319
- if (!empty($meta_robots)) {
320
- foreach ($meta_robots as $key=>$value) {
321
- $data['meta_robots'][$key][] = esc_attr($value->nodeValue);
 
322
  }
323
- }
324
 
325
- //Meta google noimageindex / nositelinkssearchbox
326
- $meta_google = $xpath->query('//meta[@name="google"]/@content');
327
- if (!empty($meta_google)) {
328
- foreach ($meta_google as $key=>$mgnoimg) {
329
- $data['meta_google'][$key][] = esc_attr($mgnoimg->nodeValue);
 
330
  }
331
- }
332
 
333
- //nofollow links
334
- $nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow')]");
335
- if (!empty($nofollow_links)) {
336
- foreach ($nofollow_links as $key=>$link) {
337
- $data['nofollow_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue);
 
338
  }
339
  }
340
-
341
  //outbound links
342
  $site_url = wp_parse_url(get_home_url(), PHP_URL_HOST);
343
  $outbound_links = $xpath->query("//a[not(contains(@href, '".$site_url."'))]");
@@ -362,13 +395,15 @@ function seopress_do_real_preview() {
362
  if (!empty($json_ld)) {
363
  foreach($json_ld as $node) {
364
  $json = json_decode($node->nodeValue, true);
365
- $data['json'][] = $json['@type'];
 
 
366
  }
367
  }
368
  }
 
 
369
  }
370
-
371
- libxml_use_internal_errors($internalErrors);
372
 
373
  //Send data
374
  if(isset($data)){
@@ -385,7 +420,7 @@ add_action('wp_ajax_seopress_do_real_preview', 'seopress_do_real_preview');
385
  //Flush permalinks
386
  ///////////////////////////////////////////////////////////////////////////////////////////////////
387
  function seopress_flush_permalinks() {
388
- check_ajax_referer( 'seopress_flush_permalinks_nonce', $_GET['_ajax_nonce'], true );
389
  flush_rewrite_rules();
390
  die();
391
  }
@@ -427,26 +462,26 @@ add_action('wp_ajax_seopress_hide_notices', 'seopress_hide_notices');
427
  function seopress_yoast_migration() {
428
  check_ajax_referer( 'seopress_yoast_migrate_nonce', $_POST['_ajax_nonce'], true );
429
 
430
- if (current_user_can('manage_options') && is_admin()) {
431
 
432
  if ( isset( $_POST['offset']) && isset( $_POST['offset'] )) {
433
  $offset = absint($_POST['offset']);
434
  }
435
-
436
  global $wpdb;
437
 
438
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
439
-
440
  $increment = 200;
441
  global $post;
442
-
443
  if ($offset > $total_count_posts) {
444
  wp_reset_query();
445
 
446
  $yoast_query_terms = get_option('wpseo_taxonomy_meta');
447
 
448
- if ($yoast_query_terms) {
449
-
450
  foreach ($yoast_query_terms as $taxonomies => $taxonomie) {
451
  foreach ($taxonomie as $term_id => $term_value) {
452
  if ($term_value['wpseo_title'] !='') { //Import title tag
@@ -457,25 +492,25 @@ function seopress_yoast_migration() {
457
  }
458
  if ($term_value['wpseo_opengraph-title'] !='') { //Import Facebook Title
459
  update_term_meta($term_id, '_seopress_social_fb_title', $term_value['wpseo_opengraph-title']);
460
- }
461
  if ($term_value['wpseo_opengraph-description'] !='') { //Import Facebook Desc
462
  update_term_meta($term_id, '_seopress_social_fb_desc', $term_value['wpseo_opengraph-description']);
463
- }
464
  if ($term_value['wpseo_opengraph-image'] !='') { //Import Facebook Image
465
  update_term_meta($term_id, '_seopress_social_fb_img', $term_value['wpseo_opengraph-image']);
466
- }
467
  if ($term_value['wpseo_twitter-title'] !='') { //Import Twitter Title
468
  update_term_meta($term_id, '_seopress_social_twitter_title', $term_value['wpseo_twitter-title']);
469
- }
470
  if ($term_value['wpseo_twitter-description'] !='') { //Import Twitter Desc
471
  update_term_meta($term_id, '_seopress_social_twitter_desc', $term_value['wpseo_twitter-description']);
472
- }
473
  if ($term_value['wpseo_twitter-image'] !='') { //Import Twitter Image
474
  update_term_meta($term_id, '_seopress_social_twitter_img', $term_value['wpseo_twitter-image']);
475
- }
476
  if ($term_value['wpseo_noindex'] =='noindex') { //Import Robots NoIndex
477
  update_term_meta($term_id, '_seopress_robots_index', "yes");
478
- }
479
  if ($term_value['wpseo_canonical'] !='') { //Import Canonical URL
480
  update_term_meta($term_id, '_seopress_robots_canonical', $term_value['wpseo_canonical']);
481
  }
@@ -485,16 +520,16 @@ function seopress_yoast_migration() {
485
  $offset = 'done';
486
  wp_reset_query();
487
  } else {
488
- $args = array(
489
- 'posts_per_page' => $increment,
490
  'post_type' => 'any',
491
  'post_status' => 'any',
492
- 'offset' => $offset,
493
  );
494
-
495
  $yoast_query = get_posts( $args );
496
-
497
- if ($yoast_query) {
498
  foreach ($yoast_query as $post) {
499
  if (get_post_meta($post->ID, '_yoast_wpseo_title', true) !='') { //Import title tag
500
  update_post_meta($post->ID, '_seopress_titles_title', get_post_meta($post->ID, '_yoast_wpseo_title', true));
@@ -504,31 +539,31 @@ function seopress_yoast_migration() {
504
  }
505
  if (get_post_meta($post->ID, '_yoast_wpseo_opengraph-title', true) !='') { //Import Facebook Title
506
  update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, '_yoast_wpseo_opengraph-title', true));
507
- }
508
  if (get_post_meta($post->ID, '_yoast_wpseo_opengraph-description', true) !='') { //Import Facebook Desc
509
  update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, '_yoast_wpseo_opengraph-description', true));
510
- }
511
  if (get_post_meta($post->ID, '_yoast_wpseo_opengraph-image', true) !='') { //Import Facebook Image
512
  update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, '_yoast_wpseo_opengraph-image', true));
513
- }
514
  if (get_post_meta($post->ID, '_yoast_wpseo_twitter-title', true) !='') { //Import Twitter Title
515
  update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, '_yoast_wpseo_twitter-title', true));
516
- }
517
  if (get_post_meta($post->ID, '_yoast_wpseo_twitter-description', true) !='') { //Import Twitter Desc
518
  update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, '_yoast_wpseo_twitter-description', true));
519
- }
520
  if (get_post_meta($post->ID, '_yoast_wpseo_twitter-image', true) !='') { //Import Twitter Image
521
  update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, '_yoast_wpseo_twitter-image', true));
522
- }
523
  if (get_post_meta($post->ID, '_yoast_wpseo_meta-robots-noindex', true) =='1') { //Import Robots NoIndex
524
  update_post_meta($post->ID, '_seopress_robots_index', "yes");
525
- }
526
  if (get_post_meta($post->ID, '_yoast_wpseo_meta-robots-nofollow', true) =='1') { //Import Robots NoFollow
527
  update_post_meta($post->ID, '_seopress_robots_follow', "yes");
528
- }
529
  if (get_post_meta($post->ID, '_yoast_wpseo_meta-robots-adv', true) !='') { //Import Robots NoOdp, NoImageIndex, NoArchive, NoSnippet
530
  $yoast_wpseo_meta_robots_adv = get_post_meta($post->ID, '_yoast_wpseo_meta-robots-adv', true);
531
-
532
  if (strpos($yoast_wpseo_meta_robots_adv, 'noodp') !== false) {
533
  update_post_meta($post->ID, '_seopress_robots_odp', "yes");
534
  }
@@ -541,7 +576,7 @@ function seopress_yoast_migration() {
541
  if (strpos($yoast_wpseo_meta_robots_adv, 'nosnippet') !== false) {
542
  update_post_meta($post->ID, '_seopress_robots_snippet', "yes");
543
  }
544
- }
545
  if (get_post_meta($post->ID, '_yoast_wpseo_canonical', true) !='') { //Import Canonical URL
546
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, '_yoast_wpseo_canonical', true));
547
  }
@@ -549,7 +584,7 @@ function seopress_yoast_migration() {
549
  $y_fkws_clean = array(); //reset array
550
 
551
  $y_fkws = get_post_meta($post->ID, '_yoast_wpseo_focuskeywords', false);
552
-
553
  foreach ($y_fkws as $value) {
554
  foreach (json_decode($value) as $key => $value) {
555
  $y_fkws_clean[] .= $value->keyword;
@@ -578,30 +613,30 @@ add_action('wp_ajax_seopress_yoast_migration', 'seopress_yoast_migration');
578
  function seopress_aio_migration() {
579
  check_ajax_referer( 'seopress_aio_migrate_nonce', $_POST['_ajax_nonce'], true );
580
 
581
- if (current_user_can('manage_options') && is_admin()) {
582
 
583
  if ( isset( $_POST['offset2']) && isset( $_POST['offset2'] )) {
584
  $offset2 = absint($_POST['offset2']);
585
  }
586
-
587
  global $wpdb;
588
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
589
-
590
  $increment = 200;
591
  global $post;
592
-
593
  if ($offset2 > $total_count_posts) {
594
  wp_reset_query();
595
 
596
  $args = array(
597
- //'number' => $increment,
598
  'hide_empty' => false,
599
  //'offset' => $offset2,
600
  'fields' => 'ids',
601
  );
602
  $aio_query_terms = get_terms($args);
603
 
604
- if ($aio_query_terms) {
605
  foreach ($aio_query_terms as $term_id) {
606
  if (get_term_meta($term_id, '_aioseop_title', true) !='') { //Import title tag
607
  update_term_meta($term_id, '_seopress_titles_title', get_term_meta($term_id, '_aioseop_title', true));
@@ -637,7 +672,7 @@ function seopress_aio_migration() {
637
  }
638
  if (get_term_meta($term_id, '_aioseop_noindex', true) =='on') { //Import Robots NoIndex
639
  update_term_meta($term_id, '_seopress_robots_index', "yes");
640
- }
641
  if (get_term_meta($term_id, '_aioseop_nofollow', true) =='on') { //Import Robots NoIndex
642
  update_term_meta($term_id, '_seopress_robots_follow', "yes");
643
  }
@@ -646,15 +681,15 @@ function seopress_aio_migration() {
646
  $offset2 = 'done';
647
  wp_reset_query();
648
  } else {
649
- $args = array(
650
- 'posts_per_page' => $increment,
651
  'post_type' => 'any',
652
  'post_status' => 'any',
653
- 'offset' => $offset2,
654
  );
655
-
656
  $aio_query = get_posts( $args );
657
-
658
  if ($aio_query) {
659
  foreach ($aio_query as $post) {
660
  if (get_post_meta($post->ID, '_aioseop_title', true) !='') { //Import title tag
@@ -712,31 +747,31 @@ add_action('wp_ajax_seopress_aio_migration', 'seopress_aio_migration');
712
  ///////////////////////////////////////////////////////////////////////////////////////////////////
713
  function seopress_seo_framework_migration() {
714
  check_ajax_referer( 'seopress_seo_framework_migrate_nonce', $_POST['_ajax_nonce'], true );
715
-
716
- if (current_user_can('manage_options') && is_admin()) {
717
 
718
  if ( isset( $_POST['offset3']) && isset( $_POST['offset3'] )) {
719
  $offset3 = absint($_POST['offset3']);
720
  }
721
-
722
  global $wpdb;
723
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
724
-
725
  $increment = 200;
726
  global $post;
727
-
728
  if ($offset3 > $total_count_posts) {
729
  wp_reset_query();
730
 
731
  $args = array(
732
- //'number' => $increment,
733
  'hide_empty' => false,
734
  //'offset' => $offset3,
735
  'fields' => 'ids',
736
  );
737
  $seo_framework_query_terms = get_terms($args);
738
 
739
- if ($seo_framework_query_terms) {
740
  foreach ($seo_framework_query_terms as $term_id) {
741
  if (get_term_meta($term_id, 'autodescription-term-settings', true) !='') {
742
  $term_settings = get_term_meta($term_id, 'autodescription-term-settings', true);
@@ -749,7 +784,7 @@ function seopress_seo_framework_migration() {
749
  }
750
  if (!empty($term_settings['noindex'])) { //Import Robots NoIndex
751
  update_term_meta($term_id, '_seopress_robots_index', "yes");
752
- }
753
  if (!empty($term_settings['nofollow'])) { //Import Robots NoFollow
754
  update_term_meta($term_id, '_seopress_robots_follow', "yes");
755
  }
@@ -762,15 +797,15 @@ function seopress_seo_framework_migration() {
762
  $offset3 = 'done';
763
  wp_reset_query();
764
  } else {
765
- $args = array(
766
- 'posts_per_page' => $increment,
767
  'post_type' => 'any',
768
  'post_status' => 'any',
769
- 'offset' => $offset3,
770
  );
771
-
772
  $seo_framework_query = get_posts( $args );
773
-
774
  if ($seo_framework_query) {
775
  foreach ($seo_framework_query as $post) {
776
  if (get_post_meta($post->ID, '_genesis_title', true) !='') { //Import title tag
@@ -781,31 +816,31 @@ function seopress_seo_framework_migration() {
781
  }
782
  if (get_post_meta($post->ID, '_open_graph_title', true) !='') { //Import Facebook Title
783
  update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, '_open_graph_title', true));
784
- }
785
  if (get_post_meta($post->ID, '_open_graph_description', true) !='') { //Import Facebook Desc
786
  update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, '_open_graph_description', true));
787
- }
788
  if (get_post_meta($post->ID, '_social_image_url', true) !='') { //Import Facebook Image
789
  update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, '_social_image_url', true));
790
- }
791
  if (get_post_meta($post->ID, '_twitter_title', true) !='') { //Import Twitter Title
792
  update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, '_twitter_title', true));
793
- }
794
  if (get_post_meta($post->ID, '_twitter_description', true) !='') { //Import Twitter Desc
795
  update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, '_twitter_description', true));
796
- }
797
  if (get_post_meta($post->ID, '_social_image_url', true) !='') { //Import Twitter Image
798
  update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, '_social_image_url', true));
799
- }
800
  if (get_post_meta($post->ID, '_genesis_noindex', true) =='1') { //Import Robots NoIndex
801
  update_post_meta($post->ID, '_seopress_robots_index', "yes");
802
- }
803
  if (get_post_meta($post->ID, '_genesis_nofollow', true) =='1') { //Import Robots NoFollow
804
  update_post_meta($post->ID, '_seopress_robots_follow', "yes");
805
- }
806
  if (get_post_meta($post->ID, '_genesis_noarchive', true) =='1') { //Import Robots NoArchive
807
  update_post_meta($post->ID, '_seopress_robots_archive', "yes");
808
- }
809
  if (get_post_meta($post->ID, '_genesis_canonical_uri', true) !='') { //Import Canonical URL
810
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, '_genesis_canonical_uri', true));
811
  }
@@ -832,30 +867,28 @@ add_action('wp_ajax_seopress_seo_framework_migration', 'seopress_seo_framework_m
832
  function seopress_rk_migration() {
833
  check_ajax_referer( 'seopress_rk_migrate_nonce', $_POST['_ajax_nonce'], true );
834
 
835
- if (current_user_can('manage_options') && is_admin()) {
836
 
837
  if ( isset( $_POST['offset4']) && isset( $_POST['offset4'] )) {
838
  $offset4 = absint($_POST['offset4']);
839
  }
840
-
841
  global $wpdb;
842
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
843
-
844
  $increment = 200;
845
  global $post;
846
-
847
  if ($offset4 > $total_count_posts) {
848
  wp_reset_query();
849
 
850
  $args = array(
851
- //'number' => $increment,
852
  'hide_empty' => false,
853
- //'offset' => $offset4,
854
  'fields' => 'ids',
855
  );
856
  $rk_query_terms = get_terms($args);
857
 
858
- if ($rk_query_terms) {
859
  foreach ($rk_query_terms as $term_id) {
860
  if (get_term_meta($term_id, 'rank_math_title', true) !='') { //Import title tag
861
  update_term_meta($term_id, '_seopress_titles_title', get_term_meta($term_id, 'rank_math_title', true));
@@ -865,25 +898,25 @@ function seopress_rk_migration() {
865
  }
866
  if (get_term_meta($term_id, 'rank_math_facebook_title', true) !='') { //Import Facebook Title
867
  update_term_meta($term_id, '_seopress_social_fb_title', get_term_meta($term_id, 'rank_math_facebook_title', true));
868
- }
869
  if (get_term_meta($term_id, 'rank_math_facebook_description', true) !='') { //Import Facebook Desc
870
  update_term_meta($term_id, '_seopress_social_fb_desc', get_term_meta($term_id, 'rank_math_facebook_description', true));
871
- }
872
  if (get_term_meta($term_id, 'rank_math_facebook_image', true) !='') { //Import Facebook Image
873
  update_term_meta($term_id, '_seopress_social_fb_img', get_term_meta($term_id, 'rank_math_facebook_image', true));
874
- }
875
  if (get_term_meta($term_id, 'rank_math_twitter_title', true) !='') { //Import Twitter Title
876
  update_term_meta($term_id, '_seopress_social_twitter_title', get_term_meta($term_id, 'rank_math_twitter_title', true));
877
- }
878
  if (get_term_meta($term_id, 'rank_math_twitter_description', true) !='') { //Import Twitter Desc
879
  update_term_meta($term_id, '_seopress_social_twitter_desc', get_term_meta($term_id, 'rank_math_twitter_description', true));
880
- }
881
  if (get_term_meta($term_id, 'rank_math_twitter_image', true) !='') { //Import Twitter Image
882
  update_term_meta($term_id, '_seopress_social_twitter_img', get_term_meta($term_id, 'rank_math_twitter_image', true));
883
- }
884
  if (get_term_meta($term_id, 'rank_math_robots', true) !='') { //Import Robots NoIndex, NoFollow, NoOdp, NoImageIndex, NoArchive, NoSnippet
885
  $rank_math_robots = get_term_meta($term_id, 'rank_math_robots', true);
886
-
887
  if (in_array('noindex', $rank_math_robots)) {
888
  update_term_meta($term_id, '_seopress_robots_index', "yes");
889
  }
@@ -902,30 +935,30 @@ function seopress_rk_migration() {
902
  if (in_array('nosnippet', $rank_math_robots)) {
903
  update_term_meta($term_id, '_seopress_robots_snippet', "yes");
904
  }
905
- }
906
  if (get_term_meta($term_id, 'rank_math_canonical_url', true) !='') { //Import Canonical URL
907
  update_term_meta($term_id, '_seopress_robots_canonical', get_term_meta($term_id, 'rank_math_canonical_url', true));
908
  }
909
  if (get_term_meta($term_id, 'rank_math_focus_keyword', true) !='') { //Import Focus Keywords
910
  update_term_meta($term_id, '_seopress_analysis_target_kw', get_term_meta($term_id, 'rank_math_focus_keyword', true));
911
  }
912
-
913
-
914
  }
915
  }
916
  $offset4 = 'done';
917
  wp_reset_query();
918
  } else {
919
- $args = array(
920
  'posts_per_page' => $increment,
921
  'post_type' => 'any',
922
  'post_status' => 'any',
923
  'offset' => $offset4,
924
  );
925
-
926
  $rk_query = get_posts( $args );
927
-
928
- if ($rk_query) {
929
  foreach ($rk_query as $post) {
930
  if (get_post_meta($post->ID, 'rank_math_title', true) !='') { //Import title tag
931
  update_post_meta($post->ID, '_seopress_titles_title', get_post_meta($post->ID, 'rank_math_title', true));
@@ -935,25 +968,25 @@ function seopress_rk_migration() {
935
  }
936
  if (get_post_meta($post->ID, 'rank_math_facebook_title', true) !='') { //Import Facebook Title
937
  update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, 'rank_math_facebook_title', true));
938
- }
939
  if (get_post_meta($post->ID, 'rank_math_facebook_description', true) !='') { //Import Facebook Desc
940
  update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, 'rank_math_facebook_description', true));
941
- }
942
  if (get_post_meta($post->ID, 'rank_math_facebook_image', true) !='') { //Import Facebook Image
943
  update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, 'rank_math_facebook_image', true));
944
- }
945
  if (get_post_meta($post->ID, 'rank_math_twitter_title', true) !='') { //Import Twitter Title
946
  update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, 'rank_math_twitter_title', true));
947
- }
948
  if (get_post_meta($post->ID, 'rank_math_twitter_description', true) !='') { //Import Twitter Desc
949
  update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, 'rank_math_twitter_description', true));
950
- }
951
  if (get_post_meta($post->ID, 'rank_math_twitter_image', true) !='') { //Import Twitter Image
952
  update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, 'rank_math_twitter_image', true));
953
- }
954
  if (get_post_meta($post->ID, 'rank_math_robots', true) !='') { //Import Robots NoIndex, NoFollow, NoOdp, NoImageIndex, NoArchive, NoSnippet
955
  $rank_math_robots = get_post_meta($post->ID, 'rank_math_robots', true);
956
-
957
  if (in_array('noindex', $rank_math_robots)) {
958
  update_post_meta($post->ID, '_seopress_robots_index', "yes");
959
  }
@@ -972,7 +1005,7 @@ function seopress_rk_migration() {
972
  if (in_array('nosnippet', $rank_math_robots)) {
973
  update_post_meta($post->ID, '_seopress_robots_snippet', "yes");
974
  }
975
- }
976
  if (get_post_meta($post->ID, 'rank_math_canonical_url', true) !='') { //Import Canonical URL
977
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, 'rank_math_canonical_url', true));
978
  }
@@ -997,12 +1030,12 @@ add_action('wp_ajax_seopress_rk_migration', 'seopress_rk_migration');
997
  function seopress_squirrly_migration() {
998
  check_ajax_referer( 'seopress_squirrly_migrate_nonce', $_POST['_ajax_nonce'], true );
999
 
1000
- if (current_user_can('manage_options') && is_admin()) {
1001
 
1002
  if ( isset( $_POST['offset5']) && isset( $_POST['offset5'] )) {
1003
  $offset5 = absint($_POST['offset5']);
1004
  }
1005
-
1006
  global $wpdb;
1007
  $table_name = $wpdb->prefix . 'qss';
1008
  $blog_id = get_current_blog_id();
@@ -1061,13 +1094,173 @@ function seopress_squirrly_migration() {
1061
  }
1062
  add_action('wp_ajax_seopress_squirrly_migration', 'seopress_squirrly_migration');
1063
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1064
  ///////////////////////////////////////////////////////////////////////////////////////////////////
1065
  //Export SEOPress metadata to CSV
1066
  ///////////////////////////////////////////////////////////////////////////////////////////////////
1067
  function seopress_metadata_export() {
1068
  check_ajax_referer( 'seopress_export_csv_metadata_nonce', $_POST['_ajax_nonce'], true );
1069
 
1070
- if (current_user_can('manage_options') && is_admin()) {
1071
 
1072
  if ( isset( $_POST['offset6']) && isset( $_POST['offset6'] )) {
1073
  $offset6 = absint($_POST['offset6']);
@@ -1111,7 +1304,7 @@ function seopress_metadata_export() {
1111
 
1112
  if ($offset6 > $total_count_posts) {
1113
  wp_reset_query();
1114
-
1115
  update_option('seopress_metadata_csv', $csv);
1116
 
1117
  $args = array_merge( $_POST, array(
@@ -1139,15 +1332,15 @@ function seopress_metadata_export() {
1139
  // The Loop
1140
  foreach ($meta_query as $post) {
1141
  array_push($settings["id"], $post->ID);
1142
-
1143
  array_push($settings["post_title"], $post->post_title);
1144
-
1145
  array_push($settings["url"], get_permalink($post));
1146
 
1147
  array_push($settings["meta_title"], get_post_meta( $post->ID, '_seopress_titles_title', true ));
1148
-
1149
  array_push($settings["meta_desc"], get_post_meta( $post->ID, '_seopress_titles_desc', true ));
1150
-
1151
  array_push($settings["fb_title"], get_post_meta( $post->ID, '_seopress_social_fb_title', true ));
1152
 
1153
  array_push($settings["fb_desc"], get_post_meta( $post->ID, '_seopress_social_fb_desc', true ));
@@ -1155,11 +1348,11 @@ function seopress_metadata_export() {
1155
  array_push($settings["fb_img"], get_post_meta( $post->ID, '_seopress_social_fb_img', true ));
1156
 
1157
  array_push($settings["tw_title"], get_post_meta( $post->ID, '_seopress_social_twitter_title', true ));
1158
-
1159
  array_push($settings["tw_desc"], get_post_meta( $post->ID, '_seopress_social_twitter_desc', true ));
1160
-
1161
  array_push($settings["tw_img"], get_post_meta( $post->ID, '_seopress_social_twitter_img', true ));
1162
-
1163
  array_push($settings["noindex"], get_post_meta( $post->ID, '_seopress_robots_index', true ));
1164
 
1165
  array_push($settings["nofollow"], get_post_meta( $post->ID, '_seopress_robots_follow', true ));
@@ -1213,4 +1406,4 @@ function seopress_metadata_export() {
1213
  die();
1214
  }
1215
  }
1216
- add_action('wp_ajax_seopress_metadata_export', 'seopress_metadata_export');
7
  function seopress_do_real_preview() {
8
  check_ajax_referer( 'seopress_real_preview_nonce', $_GET['_ajax_nonce'], true );
9
 
10
+ if ( current_user_can( seopress_capability('edit_posts', 'real_preview' ) && is_admin() ) ) {
11
 
12
  //Get cookies
13
+ if (isset($_COOKIE)) {
14
  $cookies = array();
15
+
16
  foreach ( $_COOKIE as $name => $value ) {
17
  if ( 'PHPSESSID' !== $name ) {
18
  $cookies[] = new WP_Http_Cookie( array( 'name' => $name, 'value' => $value ) );
19
  }
20
  }
21
  }
22
+
23
  //Get post id
24
  if ( isset( $_GET['post_id'] ) ) {
25
  $seopress_get_the_id = $_GET['post_id'];
26
  }
27
 
28
+ if (get_post_meta($seopress_get_the_id,'_seopress_redirections_enabled',true) =='yes') {
29
+ $data['title'] = __('A redirect is active for this URL. Turn it off to get the Google preview and content analysis.', 'wp-seopress');
30
+ } else {
31
+ //Get cookies
32
+ if (isset($_COOKIE)) {
33
+ $cookies = array();
34
+
35
+ foreach ( $_COOKIE as $name => $value ) {
36
+ if ( 'PHPSESSID' !== $name ) {
37
+ $cookies[] = new WP_Http_Cookie( array( 'name' => $name, 'value' => $value ) );
38
+ }
39
+ }
40
+ }
41
 
42
+ //Get post type
43
+ if ( isset( $_GET['post_type'] ) ) {
44
+ $seopress_get_post_type = $_GET['post_type'];
45
+ }
46
 
47
+ //Origin
48
+ if ( isset( $_GET['origin'] ) ) {
49
+ $seopress_origin = $_GET['origin'];
50
+ }
51
+
52
+ //Get post content (used for Words counter)
53
+ $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
54
 
 
 
 
55
  //Themify compatibility
56
  if ( defined( 'THEMIFY_DIR' ) ) {
57
  $seopress_get_the_content = get_post_field('post_content', $seopress_get_the_id);
58
  }
59
 
60
+ //Oxygen Builder compatibility
61
+ if (is_plugin_active('oxygen/functions.php')) {
62
+ $seopress_get_the_content = esc_attr(wp_strip_all_tags(do_shortcode(get_post_meta($seopress_get_the_id, 'ct_builder_shortcodes', true), true)));
63
+ }
64
 
65
+ $seopress_get_the_content = apply_filters('seopress_content_analysis_content', $seopress_get_the_content, $seopress_get_the_id);
66
+ //Tax name
67
+ if ( isset( $_GET['tax_name'] ) ) {
68
+ $seopress_tax_name = $_GET['tax_name'];
69
+ }
70
 
71
+ //Init
72
+ $title = '';
73
+ $meta_desc = '';
74
+ $data = array();
 
75
 
76
+ //Save Target KWs
77
+ if(isset($_GET['seopress_analysis_target_kw'])) {
78
+ delete_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw');
79
+ update_post_meta($seopress_get_the_id, '_seopress_analysis_target_kw', esc_html($_GET['seopress_analysis_target_kw']));
80
+ }
 
 
 
 
 
 
 
 
 
 
81
 
82
+ //DOM
83
+ $dom = new DOMDocument();
84
+ $internalErrors = libxml_use_internal_errors(true);
85
+ $dom->preserveWhiteSpace = false;
86
+
87
+ //Get source code
88
+ $args = array(
89
+ 'blocking' => true,
90
+ 'timeout' => 30,
91
+ 'sslverify' => false,
92
+ );
93
 
94
+ if (isset($cookies) && !empty($cookies)) {
95
+ $args['cookies'] = $cookies;
96
+ }
97
 
98
+ $args = apply_filters('seopress_real_preview_remote', $args);
 
 
 
 
 
 
 
 
 
99
 
100
+ $data['title'] = $cookies;
 
 
 
 
 
 
101
 
102
+ if ($seopress_origin =='post') { //Default: post type
103
+ $response = wp_remote_get(get_preview_post_link((int)$seopress_get_the_id,array('no_admin_bar' => 1)), $args);
104
+ } else { //Term taxonomy
105
+ $response = wp_remote_get(get_term_link((int)$seopress_get_the_id, $seopress_tax_name), $args);
106
+ }
107
+ //Check for error
108
+ if ( is_wp_error( $response ) || wp_remote_retrieve_response_code($response) =='404' ) {
109
+ $data['title'] = __('To get your Google snippet preview, publish your post!', 'wp-seopress');
110
+ } else {
111
+ $response = wp_remote_retrieve_body($response);
112
+
113
+ if($dom->loadHTML('<?xml encoding="utf-8" ?>' .$response)) {
114
+ //Get Target Keywords
115
  if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
116
+ $data['target_kws'] = strtolower($_GET['seopress_analysis_target_kw']);
117
+ $seopress_analysis_target_kw = array_filter(explode(',', strtolower(get_post_meta($seopress_get_the_id,'_seopress_analysis_target_kw',true))));
118
+ }
119
+ $xpath = new DOMXPath($dom);
120
+
121
+ //Title
122
+ $list = $dom->getElementsByTagName("title");
123
+ if ($list->length > 0) {
124
+ $title = $list->item(0)->textContent;
125
+ $data['title'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($title)));
126
+ if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
127
+ foreach ($seopress_analysis_target_kw as $kw) {
128
+ if (preg_match_all('#\b('.$kw.')\b#iu', $data['title'], $m)) {
129
+ $data['meta_title']['matches'][$kw][] = $m[0];
130
+ }
131
  }
132
  }
133
  }
 
134
 
135
+ //Meta desc
136
+ $meta_description = $xpath->query('//meta[@name="description"]/@content');
137
 
138
+ foreach ($meta_description as $key=>$mdesc) {
139
+ $data['meta_desc'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags($mdesc->nodeValue))));
140
+ }
141
 
142
+ if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
143
+ if (!empty($meta_description)) {
144
+ foreach ($meta_description as $meta_desc) {
145
+ foreach ($seopress_analysis_target_kw as $kw) {
146
+ if (preg_match_all('#\b('.$kw.')\b#iu', $meta_desc->nodeValue, $m)) {
147
+ $data['meta_description']['matches'][$kw][] = $m[0];
148
+ }
149
  }
150
  }
151
  }
152
  }
153
+
154
+ //OG:title
155
+ $og_title = $xpath->query('//meta[@property="og:title"]/@content');
156
+
157
+ if (!empty($og_title)) {
158
+ $data['og_title']['count'] = count($og_title);
159
+ foreach ($og_title as $key=>$mogtitle) {
160
+ $data['og_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mogtitle->nodeValue)));
161
+ }
162
  }
 
163
 
164
+ //OG:description
165
+ $og_desc = $xpath->query('//meta[@property="og:description"]/@content');
166
 
167
+ if (!empty($og_desc)) {
168
+ $data['og_desc']['count'] = count($og_desc);
169
+ foreach ($og_desc as $key=>$mog_desc) {
170
+ $data['og_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_desc->nodeValue)));
171
+ }
172
  }
 
173
 
174
+ //OG:image
175
+ $og_img = $xpath->query('//meta[@property="og:image"]/@content');
176
 
177
+ if (!empty($og_img)) {
178
+ $data['og_img']['count'] = count($og_img);
179
+ foreach ($og_img as $key=>$mog_img) {
180
+ $data['og_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_img->nodeValue)));
181
+ }
182
  }
 
183
 
184
+ //OG:url
185
+ $og_url = $xpath->query('//meta[@property="og:url"]/@content');
186
 
187
+ if (!empty($og_url)) {
188
+ $data['og_url']['count'] = count($og_url);
189
+ foreach ($og_url as $key=>$mog_url) {
190
+ $url = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_url->nodeValue)));
191
+ $data['og_url']['values'][] = $url;
192
+ $url = wp_parse_url($url);
193
+ $data['og_url']['host'] = $url['host'];
194
+ }
195
  }
 
196
 
197
+ //OG:site_name
198
+ $og_site_name = $xpath->query('//meta[@property="og:site_name"]/@content');
199
 
200
+ if (!empty($og_site_name)) {
201
+ $data['og_site_name']['count'] = count($og_site_name);
202
+ foreach ($og_site_name as $key=>$mog_site_name) {
203
+ $data['og_site_name']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mog_site_name->nodeValue)));
204
+ }
205
  }
 
206
 
207
+ //Twitter:title
208
+ $tw_title = $xpath->query('//meta[@name="twitter:title"]/@content');
209
 
210
+ if (!empty($tw_title)) {
211
+ $data['tw_title']['count'] = count($tw_title);
212
+ foreach ($tw_title as $key=>$mtw_title) {
213
+ $data['tw_title']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_title->nodeValue)));
214
+ }
215
  }
 
216
 
217
+ //Twitter:description
218
+ $tw_desc = $xpath->query('//meta[@name="twitter:description"]/@content');
219
 
220
+ if (!empty($tw_desc)) {
221
+ $data['tw_desc']['count'] = count($tw_desc);
222
+ foreach ($tw_desc as $key=>$mtw_desc) {
223
+ $data['tw_desc']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_desc->nodeValue)));
224
+ }
225
  }
 
226
 
227
+ //Twitter:image
228
+ $tw_img = $xpath->query('//meta[@name="twitter:image"]/@content');
229
 
230
+ if (!empty($tw_img)) {
231
+ $data['tw_img']['count'] = count($tw_img);
232
+ foreach ($tw_img as $key=>$mtw_img) {
233
+ $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue)));
234
+ }
235
  }
 
236
 
237
+ //Twitter:image:src
238
+ $tw_img = $xpath->query('//meta[@name="twitter:image:src"]/@content');
239
 
240
+ if (!empty($tw_img)) {
241
+ $count = NULL;
242
+ if (!empty($data['tw_img']['count'])) {
243
+ $count = $data['tw_img']['count'];
244
+ }
245
+
246
+ $data['tw_img']['count'] = count($tw_img) + $count;
247
 
248
+ foreach ($tw_img as $key=>$mtw_img) {
249
+ $data['tw_img']['values'][] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mtw_img->nodeValue)));
250
+ }
251
  }
 
252
 
253
+ //Canonical
254
+ $canonical = $xpath->query('//link[@rel="canonical"]/@href');
255
 
256
+ foreach ($canonical as $key=>$mcanonical) {
257
+ $data['canonical'] = esc_attr(stripslashes_deep(wp_filter_nohtml_kses($mcanonical->nodeValue)));
258
+ }
259
 
260
+ if(isset($_GET['seopress_analysis_target_kw']) && !empty($_GET['seopress_analysis_target_kw'])) {
261
+ //h1
262
+ $h1 = $xpath->query("//h1");
263
+ if (!empty($h1)) {
264
+ $data['h1']['nomatches']['count'] = count($h1);
265
+ foreach ($h1 as $heading1) {
266
+ foreach ($seopress_analysis_target_kw as $kw) {
267
+ if (preg_match_all('#\b('.$kw.')\b#iu', $heading1->nodeValue, $m)) {
268
+ $data['h1']['matches'][$kw][] = $m[0];
269
+ }
270
  }
271
+ $data['h1']['values'][] = esc_attr($heading1->nodeValue);
272
  }
 
273
  }
 
274
 
275
+ //h2
276
+ $h2 = $xpath->query("//h2");
277
+ if (!empty($h2)) {
278
+ foreach ($h2 as $heading2) {
279
+ foreach ($seopress_analysis_target_kw as $kw) {
280
+ if (preg_match_all('#\b('.$kw.')\b#iu', $heading2->nodeValue, $m)) {
281
+ $data['h2']['matches'][$kw][] = $m[0];
282
+ }
283
  }
284
  }
285
  }
 
286
 
287
+ //h3
288
+ $h3 = $xpath->query("//h3");
289
+ if (!empty($h3)) {
290
+ foreach ($h3 as $heading3) {
291
+ foreach ($seopress_analysis_target_kw as $kw) {
292
+ if (preg_match_all('#\b('.$kw.')\b#iu', $heading3->nodeValue, $m)) {
293
+ $data['h3']['matches'][$kw][] = $m[0];
294
+ }
295
  }
296
  }
297
  }
 
298
 
299
+ //Keywords density
300
+ foreach ($seopress_analysis_target_kw as $kw) {
301
+ if (preg_match_all('#\b('.$kw.')\b#iu', strip_tags(wp_filter_nohtml_kses($seopress_get_the_content)), $m)) {
302
+ $data['kws_density']['matches'][$kw][] = $m[0];
303
+ }
304
  }
 
305
 
306
+ //Keywords in permalink
307
+ $post = get_post($seopress_get_the_id);
308
+ $kw_slug = urldecode($post->post_name);
309
+ $kw_slug = str_replace("-", " ", $kw_slug);
310
 
311
+ if (isset($kw_slug)) {
312
+ foreach ($seopress_analysis_target_kw as $kw) {
313
+ if (preg_match_all('#\b('.remove_accents($kw).')\b#iu', strip_tags(wp_filter_nohtml_kses($kw_slug)), $m)) {
314
+ $data['kws_permalink']['matches'][$kw][] = $m[0];
315
+ }
316
  }
317
  }
318
  }
 
319
 
320
+ //Images
321
+ /*Standard images*/
322
+ $imgs = $xpath->query("//img");
323
+
324
+ if (!empty($imgs) && $imgs !=NULL) {
325
+ //init
326
+ $data_img = array();
327
+ foreach ($imgs as $img) {
328
+ if ($img->hasAttribute('src')) {
329
+ if ($img->hasAttribute('width') || $img->hasAttribute('height')) {
330
+ if ($img->getAttribute('width') > 1 || $img->getAttribute('height') > 1) {
331
+ if ($img->getAttribute('alt') ==='' || !$img->hasAttribute('alt')) {//if alt is empty or doesn't exist
332
+ $data_img[] .= $img->getAttribute('src');
333
+ }
334
+ }
335
+ } elseif ($img->getAttribute('alt') ==='' || !$img->hasAttribute('alt')) {//if alt is empty or doesn't exist
336
+ $img_src = download_url($img->getAttribute('src'));
337
+ if (is_wp_error($img_src) === false) {
338
+ if (filesize($img_src) > 100) {//Ignore files under 100 bytes
339
+ $data_img[] .= $img->getAttribute('src');
340
+ }
341
+ }
342
+ unlink($img_src);
343
+ }
344
+ }
345
+ $data['img']['images'] = $data_img;
346
  }
347
  }
 
 
348
 
349
+ //Meta robots
350
+ $meta_robots = $xpath->query('//meta[@name="robots"]/@content');
351
+ if (!empty($meta_robots)) {
352
+ foreach ($meta_robots as $key=>$value) {
353
+ $data['meta_robots'][$key][] = esc_attr($value->nodeValue);
354
+ }
355
  }
 
356
 
357
+ //Meta google noimageindex / nositelinkssearchbox
358
+ $meta_google = $xpath->query('//meta[@name="google"]/@content');
359
+ if (!empty($meta_google)) {
360
+ foreach ($meta_google as $key=>$mgnoimg) {
361
+ $data['meta_google'][$key][] = esc_attr($mgnoimg->nodeValue);
362
+ }
363
  }
 
364
 
365
+ //nofollow links
366
+ $nofollow_links = $xpath->query("//a[contains(@rel, 'nofollow')]");
367
+ if (!empty($nofollow_links)) {
368
+ foreach ($nofollow_links as $key=>$link) {
369
+ $data['nofollow_links'][$key][$link->getAttribute('href')] = esc_attr($link->nodeValue);
370
+ }
371
  }
372
  }
373
+
374
  //outbound links
375
  $site_url = wp_parse_url(get_home_url(), PHP_URL_HOST);
376
  $outbound_links = $xpath->query("//a[not(contains(@href, '".$site_url."'))]");
395
  if (!empty($json_ld)) {
396
  foreach($json_ld as $node) {
397
  $json = json_decode($node->nodeValue, true);
398
+ if (isset($json['@type'])) {
399
+ $data['json'][] = $json['@type'];
400
+ }
401
  }
402
  }
403
  }
404
+
405
+ libxml_use_internal_errors($internalErrors);
406
  }
 
 
407
 
408
  //Send data
409
  if(isset($data)){
420
  //Flush permalinks
421
  ///////////////////////////////////////////////////////////////////////////////////////////////////
422
  function seopress_flush_permalinks() {
423
+ check_ajax_referer( 'seopress_flush_permalinks_nonce', $_GET['_ajax_nonce'], true );
424
  flush_rewrite_rules();
425
  die();
426
  }
462
  function seopress_yoast_migration() {
463
  check_ajax_referer( 'seopress_yoast_migrate_nonce', $_POST['_ajax_nonce'], true );
464
 
465
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
466
 
467
  if ( isset( $_POST['offset']) && isset( $_POST['offset'] )) {
468
  $offset = absint($_POST['offset']);
469
  }
470
+
471
  global $wpdb;
472
 
473
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
474
+
475
  $increment = 200;
476
  global $post;
477
+
478
  if ($offset > $total_count_posts) {
479
  wp_reset_query();
480
 
481
  $yoast_query_terms = get_option('wpseo_taxonomy_meta');
482
 
483
+ if ($yoast_query_terms) {
484
+
485
  foreach ($yoast_query_terms as $taxonomies => $taxonomie) {
486
  foreach ($taxonomie as $term_id => $term_value) {
487
  if ($term_value['wpseo_title'] !='') { //Import title tag
492
  }
493
  if ($term_value['wpseo_opengraph-title'] !='') { //Import Facebook Title
494
  update_term_meta($term_id, '_seopress_social_fb_title', $term_value['wpseo_opengraph-title']);
495
+ }
496
  if ($term_value['wpseo_opengraph-description'] !='') { //Import Facebook Desc
497
  update_term_meta($term_id, '_seopress_social_fb_desc', $term_value['wpseo_opengraph-description']);
498
+ }
499
  if ($term_value['wpseo_opengraph-image'] !='') { //Import Facebook Image
500
  update_term_meta($term_id, '_seopress_social_fb_img', $term_value['wpseo_opengraph-image']);
501
+ }
502
  if ($term_value['wpseo_twitter-title'] !='') { //Import Twitter Title
503
  update_term_meta($term_id, '_seopress_social_twitter_title', $term_value['wpseo_twitter-title']);
504
+ }
505
  if ($term_value['wpseo_twitter-description'] !='') { //Import Twitter Desc
506
  update_term_meta($term_id, '_seopress_social_twitter_desc', $term_value['wpseo_twitter-description']);
507
+ }
508
  if ($term_value['wpseo_twitter-image'] !='') { //Import Twitter Image
509
  update_term_meta($term_id, '_seopress_social_twitter_img', $term_value['wpseo_twitter-image']);
510
+ }
511
  if ($term_value['wpseo_noindex'] =='noindex') { //Import Robots NoIndex
512
  update_term_meta($term_id, '_seopress_robots_index', "yes");
513
+ }
514
  if ($term_value['wpseo_canonical'] !='') { //Import Canonical URL
515
  update_term_meta($term_id, '_seopress_robots_canonical', $term_value['wpseo_canonical']);
516
  }
520
  $offset = 'done';
521
  wp_reset_query();
522
  } else {
523
+ $args = array(
524
+ 'posts_per_page' => $increment,
525
  'post_type' => 'any',
526
  'post_status' => 'any',
527
+ 'offset' => $offset,
528
  );
529
+
530
  $yoast_query = get_posts( $args );
531
+
532
+ if ($yoast_query) {
533
  foreach ($yoast_query as $post) {
534
  if (get_post_meta($post->ID, '_yoast_wpseo_title', true) !='') { //Import title tag
535
  update_post_meta($post->ID, '_seopress_titles_title', get_post_meta($post->ID, '_yoast_wpseo_title', true));
539
  }
540
  if (get_post_meta($post->ID, '_yoast_wpseo_opengraph-title', true) !='') { //Import Facebook Title
541
  update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, '_yoast_wpseo_opengraph-title', true));
542
+ }
543
  if (get_post_meta($post->ID, '_yoast_wpseo_opengraph-description', true) !='') { //Import Facebook Desc
544
  update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, '_yoast_wpseo_opengraph-description', true));
545
+ }
546
  if (get_post_meta($post->ID, '_yoast_wpseo_opengraph-image', true) !='') { //Import Facebook Image
547
  update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, '_yoast_wpseo_opengraph-image', true));
548
+ }
549
  if (get_post_meta($post->ID, '_yoast_wpseo_twitter-title', true) !='') { //Import Twitter Title
550
  update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, '_yoast_wpseo_twitter-title', true));
551
+ }
552
  if (get_post_meta($post->ID, '_yoast_wpseo_twitter-description', true) !='') { //Import Twitter Desc
553
  update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, '_yoast_wpseo_twitter-description', true));
554
+ }
555
  if (get_post_meta($post->ID, '_yoast_wpseo_twitter-image', true) !='') { //Import Twitter Image
556
  update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, '_yoast_wpseo_twitter-image', true));
557
+ }
558
  if (get_post_meta($post->ID, '_yoast_wpseo_meta-robots-noindex', true) =='1') { //Import Robots NoIndex
559
  update_post_meta($post->ID, '_seopress_robots_index', "yes");
560
+ }
561
  if (get_post_meta($post->ID, '_yoast_wpseo_meta-robots-nofollow', true) =='1') { //Import Robots NoFollow
562
  update_post_meta($post->ID, '_seopress_robots_follow', "yes");
563
+ }
564
  if (get_post_meta($post->ID, '_yoast_wpseo_meta-robots-adv', true) !='') { //Import Robots NoOdp, NoImageIndex, NoArchive, NoSnippet
565
  $yoast_wpseo_meta_robots_adv = get_post_meta($post->ID, '_yoast_wpseo_meta-robots-adv', true);
566
+
567
  if (strpos($yoast_wpseo_meta_robots_adv, 'noodp') !== false) {
568
  update_post_meta($post->ID, '_seopress_robots_odp', "yes");
569
  }
576
  if (strpos($yoast_wpseo_meta_robots_adv, 'nosnippet') !== false) {
577
  update_post_meta($post->ID, '_seopress_robots_snippet', "yes");
578
  }
579
+ }
580
  if (get_post_meta($post->ID, '_yoast_wpseo_canonical', true) !='') { //Import Canonical URL
581
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, '_yoast_wpseo_canonical', true));
582
  }
584
  $y_fkws_clean = array(); //reset array
585
 
586
  $y_fkws = get_post_meta($post->ID, '_yoast_wpseo_focuskeywords', false);
587
+
588
  foreach ($y_fkws as $value) {
589
  foreach (json_decode($value) as $key => $value) {
590
  $y_fkws_clean[] .= $value->keyword;
613
  function seopress_aio_migration() {
614
  check_ajax_referer( 'seopress_aio_migrate_nonce', $_POST['_ajax_nonce'], true );
615
 
616
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
617
 
618
  if ( isset( $_POST['offset2']) && isset( $_POST['offset2'] )) {
619
  $offset2 = absint($_POST['offset2']);
620
  }
621
+
622
  global $wpdb;
623
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
624
+
625
  $increment = 200;
626
  global $post;
627
+
628
  if ($offset2 > $total_count_posts) {
629
  wp_reset_query();
630
 
631
  $args = array(
632
+ //'number' => $increment,
633
  'hide_empty' => false,
634
  //'offset' => $offset2,
635
  'fields' => 'ids',
636
  );
637
  $aio_query_terms = get_terms($args);
638
 
639
+ if ($aio_query_terms) {
640
  foreach ($aio_query_terms as $term_id) {
641
  if (get_term_meta($term_id, '_aioseop_title', true) !='') { //Import title tag
642
  update_term_meta($term_id, '_seopress_titles_title', get_term_meta($term_id, '_aioseop_title', true));
672
  }
673
  if (get_term_meta($term_id, '_aioseop_noindex', true) =='on') { //Import Robots NoIndex
674
  update_term_meta($term_id, '_seopress_robots_index', "yes");
675
+ }
676
  if (get_term_meta($term_id, '_aioseop_nofollow', true) =='on') { //Import Robots NoIndex
677
  update_term_meta($term_id, '_seopress_robots_follow', "yes");
678
  }
681
  $offset2 = 'done';
682
  wp_reset_query();
683
  } else {
684
+ $args = array(
685
+ 'posts_per_page' => $increment,
686
  'post_type' => 'any',
687
  'post_status' => 'any',
688
+ 'offset' => $offset2,
689
  );
690
+
691
  $aio_query = get_posts( $args );
692
+
693
  if ($aio_query) {
694
  foreach ($aio_query as $post) {
695
  if (get_post_meta($post->ID, '_aioseop_title', true) !='') { //Import title tag
747
  ///////////////////////////////////////////////////////////////////////////////////////////////////
748
  function seopress_seo_framework_migration() {
749
  check_ajax_referer( 'seopress_seo_framework_migrate_nonce', $_POST['_ajax_nonce'], true );
750
+
751
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
752
 
753
  if ( isset( $_POST['offset3']) && isset( $_POST['offset3'] )) {
754
  $offset3 = absint($_POST['offset3']);
755
  }
756
+
757
  global $wpdb;
758
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
759
+
760
  $increment = 200;
761
  global $post;
762
+
763
  if ($offset3 > $total_count_posts) {
764
  wp_reset_query();
765
 
766
  $args = array(
767
+ //'number' => $increment,
768
  'hide_empty' => false,
769
  //'offset' => $offset3,
770
  'fields' => 'ids',
771
  );
772
  $seo_framework_query_terms = get_terms($args);
773
 
774
+ if ($seo_framework_query_terms) {
775
  foreach ($seo_framework_query_terms as $term_id) {
776
  if (get_term_meta($term_id, 'autodescription-term-settings', true) !='') {
777
  $term_settings = get_term_meta($term_id, 'autodescription-term-settings', true);
784
  }
785
  if (!empty($term_settings['noindex'])) { //Import Robots NoIndex
786
  update_term_meta($term_id, '_seopress_robots_index', "yes");
787
+ }
788
  if (!empty($term_settings['nofollow'])) { //Import Robots NoFollow
789
  update_term_meta($term_id, '_seopress_robots_follow', "yes");
790
  }
797
  $offset3 = 'done';
798
  wp_reset_query();
799
  } else {
800
+ $args = array(
801
+ 'posts_per_page' => $increment,
802
  'post_type' => 'any',
803
  'post_status' => 'any',
804
+ 'offset' => $offset3,
805
  );
806
+
807
  $seo_framework_query = get_posts( $args );
808
+
809
  if ($seo_framework_query) {
810
  foreach ($seo_framework_query as $post) {
811
  if (get_post_meta($post->ID, '_genesis_title', true) !='') { //Import title tag
816
  }
817
  if (get_post_meta($post->ID, '_open_graph_title', true) !='') { //Import Facebook Title
818
  update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, '_open_graph_title', true));
819
+ }
820
  if (get_post_meta($post->ID, '_open_graph_description', true) !='') { //Import Facebook Desc
821
  update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, '_open_graph_description', true));
822
+ }
823
  if (get_post_meta($post->ID, '_social_image_url', true) !='') { //Import Facebook Image
824
  update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, '_social_image_url', true));
825
+ }
826
  if (get_post_meta($post->ID, '_twitter_title', true) !='') { //Import Twitter Title
827
  update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, '_twitter_title', true));
828
+ }
829
  if (get_post_meta($post->ID, '_twitter_description', true) !='') { //Import Twitter Desc
830
  update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, '_twitter_description', true));
831
+ }
832
  if (get_post_meta($post->ID, '_social_image_url', true) !='') { //Import Twitter Image
833
  update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, '_social_image_url', true));
834
+ }
835
  if (get_post_meta($post->ID, '_genesis_noindex', true) =='1') { //Import Robots NoIndex
836
  update_post_meta($post->ID, '_seopress_robots_index', "yes");
837
+ }
838
  if (get_post_meta($post->ID, '_genesis_nofollow', true) =='1') { //Import Robots NoFollow
839
  update_post_meta($post->ID, '_seopress_robots_follow', "yes");
840
+ }
841
  if (get_post_meta($post->ID, '_genesis_noarchive', true) =='1') { //Import Robots NoArchive
842
  update_post_meta($post->ID, '_seopress_robots_archive', "yes");
843
+ }
844
  if (get_post_meta($post->ID, '_genesis_canonical_uri', true) !='') { //Import Canonical URL
845
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, '_genesis_canonical_uri', true));
846
  }
867
  function seopress_rk_migration() {
868
  check_ajax_referer( 'seopress_rk_migrate_nonce', $_POST['_ajax_nonce'], true );
869
 
870
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
871
 
872
  if ( isset( $_POST['offset4']) && isset( $_POST['offset4'] )) {
873
  $offset4 = absint($_POST['offset4']);
874
  }
875
+
876
  global $wpdb;
877
  $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
878
+
879
  $increment = 200;
880
  global $post;
881
+
882
  if ($offset4 > $total_count_posts) {
883
  wp_reset_query();
884
 
885
  $args = array(
 
886
  'hide_empty' => false,
 
887
  'fields' => 'ids',
888
  );
889
  $rk_query_terms = get_terms($args);
890
 
891
+ if ($rk_query_terms) {
892
  foreach ($rk_query_terms as $term_id) {
893
  if (get_term_meta($term_id, 'rank_math_title', true) !='') { //Import title tag
894
  update_term_meta($term_id, '_seopress_titles_title', get_term_meta($term_id, 'rank_math_title', true));
898
  }
899
  if (get_term_meta($term_id, 'rank_math_facebook_title', true) !='') { //Import Facebook Title
900
  update_term_meta($term_id, '_seopress_social_fb_title', get_term_meta($term_id, 'rank_math_facebook_title', true));
901
+ }
902
  if (get_term_meta($term_id, 'rank_math_facebook_description', true) !='') { //Import Facebook Desc
903
  update_term_meta($term_id, '_seopress_social_fb_desc', get_term_meta($term_id, 'rank_math_facebook_description', true));
904
+ }
905
  if (get_term_meta($term_id, 'rank_math_facebook_image', true) !='') { //Import Facebook Image
906
  update_term_meta($term_id, '_seopress_social_fb_img', get_term_meta($term_id, 'rank_math_facebook_image', true));
907
+ }
908
  if (get_term_meta($term_id, 'rank_math_twitter_title', true) !='') { //Import Twitter Title
909
  update_term_meta($term_id, '_seopress_social_twitter_title', get_term_meta($term_id, 'rank_math_twitter_title', true));
910
+ }
911
  if (get_term_meta($term_id, 'rank_math_twitter_description', true) !='') { //Import Twitter Desc
912
  update_term_meta($term_id, '_seopress_social_twitter_desc', get_term_meta($term_id, 'rank_math_twitter_description', true));
913
+ }
914
  if (get_term_meta($term_id, 'rank_math_twitter_image', true) !='') { //Import Twitter Image
915
  update_term_meta($term_id, '_seopress_social_twitter_img', get_term_meta($term_id, 'rank_math_twitter_image', true));
916
+ }
917
  if (get_term_meta($term_id, 'rank_math_robots', true) !='') { //Import Robots NoIndex, NoFollow, NoOdp, NoImageIndex, NoArchive, NoSnippet
918
  $rank_math_robots = get_term_meta($term_id, 'rank_math_robots', true);
919
+
920
  if (in_array('noindex', $rank_math_robots)) {
921
  update_term_meta($term_id, '_seopress_robots_index', "yes");
922
  }
935
  if (in_array('nosnippet', $rank_math_robots)) {
936
  update_term_meta($term_id, '_seopress_robots_snippet', "yes");
937
  }
938
+ }
939
  if (get_term_meta($term_id, 'rank_math_canonical_url', true) !='') { //Import Canonical URL
940
  update_term_meta($term_id, '_seopress_robots_canonical', get_term_meta($term_id, 'rank_math_canonical_url', true));
941
  }
942
  if (get_term_meta($term_id, 'rank_math_focus_keyword', true) !='') { //Import Focus Keywords
943
  update_term_meta($term_id, '_seopress_analysis_target_kw', get_term_meta($term_id, 'rank_math_focus_keyword', true));
944
  }
945
+
946
+
947
  }
948
  }
949
  $offset4 = 'done';
950
  wp_reset_query();
951
  } else {
952
+ $args = array(
953
  'posts_per_page' => $increment,
954
  'post_type' => 'any',
955
  'post_status' => 'any',
956
  'offset' => $offset4,
957
  );
958
+
959
  $rk_query = get_posts( $args );
960
+
961
+ if ($rk_query) {
962
  foreach ($rk_query as $post) {
963
  if (get_post_meta($post->ID, 'rank_math_title', true) !='') { //Import title tag
964
  update_post_meta($post->ID, '_seopress_titles_title', get_post_meta($post->ID, 'rank_math_title', true));
968
  }
969
  if (get_post_meta($post->ID, 'rank_math_facebook_title', true) !='') { //Import Facebook Title
970
  update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, 'rank_math_facebook_title', true));
971
+ }
972
  if (get_post_meta($post->ID, 'rank_math_facebook_description', true) !='') { //Import Facebook Desc
973
  update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, 'rank_math_facebook_description', true));
974
+ }
975
  if (get_post_meta($post->ID, 'rank_math_facebook_image', true) !='') { //Import Facebook Image
976
  update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, 'rank_math_facebook_image', true));
977
+ }
978
  if (get_post_meta($post->ID, 'rank_math_twitter_title', true) !='') { //Import Twitter Title
979
  update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, 'rank_math_twitter_title', true));
980
+ }
981
  if (get_post_meta($post->ID, 'rank_math_twitter_description', true) !='') { //Import Twitter Desc
982
  update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, 'rank_math_twitter_description', true));
983
+ }
984
  if (get_post_meta($post->ID, 'rank_math_twitter_image', true) !='') { //Import Twitter Image
985
  update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, 'rank_math_twitter_image', true));
986
+ }
987
  if (get_post_meta($post->ID, 'rank_math_robots', true) !='') { //Import Robots NoIndex, NoFollow, NoOdp, NoImageIndex, NoArchive, NoSnippet
988
  $rank_math_robots = get_post_meta($post->ID, 'rank_math_robots', true);
989
+
990
  if (in_array('noindex', $rank_math_robots)) {
991
  update_post_meta($post->ID, '_seopress_robots_index', "yes");
992
  }
1005
  if (in_array('nosnippet', $rank_math_robots)) {
1006
  update_post_meta($post->ID, '_seopress_robots_snippet', "yes");
1007
  }
1008
+ }
1009
  if (get_post_meta($post->ID, 'rank_math_canonical_url', true) !='') { //Import Canonical URL
1010
  update_post_meta($post->ID, '_seopress_robots_canonical', get_post_meta($post->ID, 'rank_math_canonical_url', true));
1011
  }
1030
  function seopress_squirrly_migration() {
1031
  check_ajax_referer( 'seopress_squirrly_migrate_nonce', $_POST['_ajax_nonce'], true );
1032
 
1033
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
1034
 
1035
  if ( isset( $_POST['offset5']) && isset( $_POST['offset5'] )) {
1036
  $offset5 = absint($_POST['offset5']);
1037
  }
1038
+
1039
  global $wpdb;
1040
  $table_name = $wpdb->prefix . 'qss';
1041
  $blog_id = get_current_blog_id();
1094
  }
1095
  add_action('wp_ajax_seopress_squirrly_migration', 'seopress_squirrly_migration');
1096
 
1097
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
1098
+ /* SEO Ultimate migration
1099
+ * @since 3.8.2
1100
+ * @author Benjamin Denis
1101
+ */
1102
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
1103
+ function seopress_seo_ultimate_migration() {
1104
+ check_ajax_referer( 'seopress_seo_ultimate_migrate_nonce', $_POST['_ajax_nonce'], true );
1105
+
1106
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
1107
+
1108
+ if ( isset( $_POST['offset7']) && isset( $_POST['offset7'] )) {
1109
+ $offset7 = absint($_POST['offset7']);
1110
+ }
1111
+
1112
+ global $wpdb;
1113
+
1114
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
1115
+
1116
+ $increment = 200;
1117
+ global $post;
1118
+
1119
+ if ($offset7 > $total_count_posts) {
1120
+ $offset7 = 'done';
1121
+ wp_reset_query();
1122
+ } else {
1123
+ $args = array(
1124
+ 'posts_per_page' => $increment,
1125
+ 'post_type' => 'any',
1126
+ 'post_status' => 'any',
1127
+ 'offset' => $offset7,
1128
+ );
1129
+
1130
+ $su_query = get_posts( $args );
1131
+
1132
+ if ($su_query) {
1133
+ foreach ($su_query as $post) {
1134
+ if (get_post_meta($post->ID, '_su_title', true) !='') { //Import title tag
1135
+ update_post_meta($post->ID, '_seopress_titles_title', get_post_meta($post->ID, '_su_title', true));
1136
+ }
1137
+ if (get_post_meta($post->ID, '_su_description', true) !='') { //Import meta desc
1138
+ update_post_meta($post->ID, '_seopress_titles_desc', get_post_meta($post->ID, '_su_description', true));
1139
+ }
1140
+ if (get_post_meta($post->ID, '_su_og_title', true) !='') { //Import Facebook Title
1141
+ update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, '_su_og_title', true));
1142
+ }
1143
+ if (get_post_meta($post->ID, '_su_og_description', true) !='') { //Import Facebook Desc
1144
+ update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, '_su_og_description', true));
1145
+ }
1146
+ if (get_post_meta($post->ID, '_su_og_image', true) !='') { //Import Facebook Image
1147
+ update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, '_su_og_image', true));
1148
+ }
1149
+ if (get_post_meta($post->ID, '_su_meta_robots_noindex', true) =='1') { //Import Robots NoIndex
1150
+ update_post_meta($post->ID, '_seopress_robots_index', "yes");
1151
+ }
1152
+ if (get_post_meta($post->ID, '_su_meta_robots_nofollow', true) =='1') { //Import Robots NoFollow
1153
+ update_post_meta($post->ID, '_seopress_robots_follow', "yes");
1154
+ }
1155
+ }
1156
+ }
1157
+ $offset7 += $increment;
1158
+ }
1159
+ $data = array();
1160
+ $data['offset7'] = $offset7;
1161
+ wp_send_json_success($data);
1162
+ die();
1163
+ }
1164
+ }
1165
+ add_action('wp_ajax_seopress_seo_ultimate_migration', 'seopress_seo_ultimate_migration');
1166
+
1167
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
1168
+ /* WP Meta SEO migration
1169
+ * @since 3.8.2
1170
+ * @author Benjamin Denis
1171
+ */
1172
+ ///////////////////////////////////////////////////////////////////////////////////////////////////
1173
+ function seopress_wp_meta_seo_migration() {
1174
+ check_ajax_referer( 'seopress_meta_seo_migrate_nonce', $_POST['_ajax_nonce'], true );
1175
+
1176
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
1177
+
1178
+ if ( isset( $_POST['offset8']) && isset( $_POST['offset8'] )) {
1179
+ $offset8 = absint($_POST['offset8']);
1180
+ }
1181
+
1182
+ global $wpdb;
1183
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
1184
+
1185
+ $increment = 200;
1186
+ global $post;
1187
+
1188
+ if ($offset8 > $total_count_posts) {
1189
+ wp_reset_query();
1190
+
1191
+ $args = array(
1192
+ 'hide_empty' => false,
1193
+ 'fields' => 'ids',
1194
+ );
1195
+ $wp_meta_seo_query_terms = get_terms($args);
1196
+
1197
+ if ($wp_meta_seo_query_terms) {
1198
+ foreach ($wp_meta_seo_query_terms as $term_id) {
1199
+ if (get_term_meta($term_id, 'wpms_category_metatitle', true) !='') { //Import title tag
1200
+ update_term_meta($term_id, '_seopress_titles_title', get_term_meta($term_id, 'wpms_category_metatitle', true));
1201
+ }
1202
+ if (get_term_meta($term_id, 'wpms_category_metadesc', true) !='') { //Import title desc
1203
+ update_term_meta($term_id, '_seopress_titles_desc', get_term_meta($term_id, 'wpms_category_metadesc', true));
1204
+ }
1205
+ }
1206
+ }
1207
+ $offset8 = 'done';
1208
+ wp_reset_query();
1209
+ } else {
1210
+ $args = array(
1211
+ 'posts_per_page' => $increment,
1212
+ 'post_type' => 'any',
1213
+ 'post_status' => 'any',
1214
+ 'offset' => $offset8,
1215
+ );
1216
+
1217
+ $wp_meta_seo_query = get_posts( $args );
1218
+
1219
+ if ($wp_meta_seo_query) {
1220
+ foreach ($wp_meta_seo_query as $post) {
1221
+ if (get_post_meta($post->ID, '_metaseo_metatitle', true) !='') { //Import title tag
1222
+ update_post_meta($post->ID, '_seopress_titles_title', get_post_meta($post->ID, '_metaseo_metatitle', true));
1223
+ }
1224
+ if (get_post_meta($post->ID, '_metaseo_metadesc', true) !='') { //Import meta desc
1225
+ update_post_meta($post->ID, '_seopress_titles_desc', get_post_meta($post->ID, '_metaseo_metadesc', true));
1226
+ }
1227
+ if (get_post_meta($post->ID, '_metaseo_metaopengraph-title', true) !='') { //Import Facebook Title
1228
+ update_post_meta($post->ID, '_seopress_social_fb_title', get_post_meta($post->ID, '_metaseo_metaopengraph-title', true));
1229
+ }
1230
+ if (get_post_meta($post->ID, '_metaseo_metaopengraph-desc', true) !='') { //Import Facebook Desc
1231
+ update_post_meta($post->ID, '_seopress_social_fb_desc', get_post_meta($post->ID, '_metaseo_metaopengraph-desc', true));
1232
+ }
1233
+ if (get_post_meta($post->ID, '_metaseo_metaopengraph-image', true) !='') { //Import Facebook Image
1234
+ update_post_meta($post->ID, '_seopress_social_fb_img', get_post_meta($post->ID, '_metaseo_metaopengraph-image', true));
1235
+ }
1236
+ if (get_post_meta($post->ID, '_metaseo_metatwitter-title', true) !='') { //Import Twitter Title
1237
+ update_post_meta($post->ID, '_seopress_social_twitter_title', get_post_meta($post->ID, '_metaseo_metatwitter-title', true));
1238
+ }
1239
+ if (get_post_meta($post->ID, '_metaseo_metatwitter-desc', true) !='') { //Import Twitter Desc
1240
+ update_post_meta($post->ID, '_seopress_social_twitter_desc', get_post_meta($post->ID, '_metaseo_metatwitter-desc', true));
1241
+ }
1242
+ if (get_post_meta($post->ID, '_metaseo_metatwitter-image', true) !='') { //Import Twitter Image
1243
+ update_post_meta($post->ID, '_seopress_social_twitter_img', get_post_meta($post->ID, '_metaseo_metatwitter-image', true));
1244
+ }
1245
+ }
1246
+ }
1247
+ $offset8 += $increment;
1248
+ }
1249
+ $data = array();
1250
+ $data['offset8'] = $offset8;
1251
+ wp_send_json_success($data);
1252
+ die();
1253
+ }
1254
+ }
1255
+ add_action('wp_ajax_seopress_wp_meta_seo_migration', 'seopress_wp_meta_seo_migration');
1256
+
1257
  ///////////////////////////////////////////////////////////////////////////////////////////////////
1258
  //Export SEOPress metadata to CSV
1259
  ///////////////////////////////////////////////////////////////////////////////////////////////////
1260
  function seopress_metadata_export() {
1261
  check_ajax_referer( 'seopress_export_csv_metadata_nonce', $_POST['_ajax_nonce'], true );
1262
 
1263
+ if ( current_user_can( seopress_capability( 'manage_options', 'migration' ) && is_admin() ) ) {
1264
 
1265
  if ( isset( $_POST['offset6']) && isset( $_POST['offset6'] )) {
1266
  $offset6 = absint($_POST['offset6']);
1304
 
1305
  if ($offset6 > $total_count_posts) {
1306
  wp_reset_query();
1307
+
1308
  update_option('seopress_metadata_csv', $csv);
1309
 
1310
  $args = array_merge( $_POST, array(
1332
  // The Loop
1333
  foreach ($meta_query as $post) {
1334
  array_push($settings["id"], $post->ID);
1335
+
1336
  array_push($settings["post_title"], $post->post_title);
1337
+
1338
  array_push($settings["url"], get_permalink($post));
1339
 
1340
  array_push($settings["meta_title"], get_post_meta( $post->ID, '_seopress_titles_title', true ));
1341
+
1342
  array_push($settings["meta_desc"], get_post_meta( $post->ID, '_seopress_titles_desc', true ));
1343
+
1344
  array_push($settings["fb_title"], get_post_meta( $post->ID, '_seopress_social_fb_title', true ));
1345
 
1346
  array_push($settings["fb_desc"], get_post_meta( $post->ID, '_seopress_social_fb_desc', true ));
1348
  array_push($settings["fb_img"], get_post_meta( $post->ID, '_seopress_social_fb_img', true ));
1349
 
1350
  array_push($settings["tw_title"], get_post_meta( $post->ID, '_seopress_social_twitter_title', true ));
1351
+
1352
  array_push($settings["tw_desc"], get_post_meta( $post->ID, '_seopress_social_twitter_desc', true ));
1353
+
1354
  array_push($settings["tw_img"], get_post_meta( $post->ID, '_seopress_social_twitter_img', true ));
1355
+
1356
  array_push($settings["noindex"], get_post_meta( $post->ID, '_seopress_robots_index', true ));
1357
 
1358
  array_push($settings["nofollow"], get_post_meta( $post->ID, '_seopress_robots_follow', true ));
1406
  die();
1407
  }
1408
  }
1409
+ add_action('wp_ajax_seopress_metadata_export', 'seopress_metadata_export');
inc/admin/plugin-upgrader.php ADDED
@@ -0,0 +1,108 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ defined( 'ABSPATH' ) or die( 'Cheatin&#8217; uh?' );
3
+
4
+ /** --------------------------------------------------------------------------------------------- */
5
+ /** MIGRATE / UPGRADE =========================================================================== */
6
+ /** --------------------------------------------------------------------------------------------- */
7
+
8
+ add_action( 'admin_init', 'seopress_upgrader' );
9
+ /**
10
+ * Tell WP what to do when admin is loaded aka upgrader
11
+ *
12
+ * @since 3.8.2
13
+ */
14
+ function seopress_upgrader() {
15
+ $versions = get_option( 'seopress_versions' );
16
+ $actual_version = isset( $versions['free'] ) ? $versions['free'] : 0;
17
+
18
+ // You can hook the upgrader to trigger any action when seopress is upgraded.
19
+ // First install.
20
+ if ( ! $actual_version ) {
21
+ /**
22
+ * Allow to prevent plugin first install hooks to fire.
23
+ *
24
+ * @since 3.8.2
25
+ *
26
+ * @param (bool) $prevent True to prevent triggering first install hooks. False otherwise.
27
+ */
28
+ if ( ! apply_filters( 'seopress_prevent_first_install', false ) ) {
29
+ /**
30
+ * Fires on the plugin first install.
31
+ *
32
+ * @since 3.8.2
33
+ *
34
+ */
35
+ do_action( 'seopress_first_install' );
36
+ }
37
+
38
+ }
39
+
40
+ if ( SEOPRESS_VERSION !== $actual_version ) {
41
+ /**
42
+ * Fires when seopress Pro is upgraded.
43
+ *
44
+ * @since 3.8.2
45
+ *
46
+ * @param (string) $new_pro_version The version being upgraded to.
47
+ * @param (string) $actual_pro_version The previous version.
48
+ */
49
+ do_action( 'seopress_upgrade', SEOPRESS_VERSION, $actual_version );
50
+ }
51
+
52
+ // If any upgrade has been done, we flush and update version.
53
+ if ( did_action( 'seopress_first_install' ) || did_action( 'seopress_upgrade' ) ) {
54
+
55
+ // Do not use seopress_get_option() here.
56
+ $options = get_option( 'seopress_versions' );
57
+ $options = is_array( $options ) ? $options : [];
58
+
59
+ $options['free'] = SEOPRESS_VERSION;
60
+
61
+ update_option( 'seopress_versions', $options );
62
+ }
63
+ }
64
+
65
+
66
+ add_action( 'seopress_upgrade', 'seopress_new_upgrade', 10, 2 );
67
+ /**
68
+ * What to do when seopress is updated, depending on versions.
69
+ *
70
+ * @since 3.8.2
71
+ *
72
+ * @param (string) $seopress_version The version being upgraded to.
73
+ * @param (string) $actual_version The previous version.
74
+ */
75
+ function seopress_new_upgrade( $seopress_version, $actual_version ) {
76
+ global $wpdb;
77
+
78
+ // < 3.8.2
79
+ if ( version_compare( $actual_version, '3.8.2', '<' ) ) {
80
+ }
81
+
82
+ }
83
+
84
+ /**
85
+ * Try to delete an old plugin file removed in a particular version, if not, will empty the file, if not, will rename it, if still not well… ¯\_(ツ)_/¯.
86
+ *
87
+ * @since 3.8.2
88
+ * @param (string) $file
89
+ * @author Julio Potier
90
+ **/
91
+ function seopress_remove_old_plugin_file( $file ) {
92
+ // Is it a sym link ?
93
+ if ( is_link( $file ) ) {
94
+ $file = @readlink( $file );
95
+ }
96
+ // Try to delete.
97
+ if ( file_exists( $file ) && ! @unlink( $file ) ) {
98
+ // Or try to empty it.
99
+ $fh = @fopen( $file, 'w' );
100
+ $fw = @fwrite( $fh, '<?php // File removed by seopress' );
101
+ @fclose( $fh );
102
+ if ( ! $fw ) {
103
+ // Or try to rename it.
104
+ return @rename( $file, $file . '.old' );
105
+ }
106
+ }
107
+ return true;
108
+ }
inc/functions/options-advanced-admin.php CHANGED
@@ -9,7 +9,7 @@ global $pagenow;
9
  //Admin notices
10
  //=================================================================================================
11
  //License notice
12
- if (current_user_can('manage_options')) {
13
  if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) {
14
  function seopress_notice_license() {
15
  $screen_id = get_current_screen();
@@ -28,7 +28,7 @@ if (current_user_can('manage_options')) {
28
  printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message );
29
  }
30
  }
31
- add_action( 'admin_notices', 'seopress_notice_license' );
32
  }
33
  }
34
 
@@ -281,7 +281,7 @@ function seopress_advanced_appearance_score_col_option() {
281
  if ( ! empty ( $seopress_advanced_appearance_score_col_option ) ) {
282
  foreach ($seopress_advanced_appearance_score_col_option as $key => $seopress_advanced_appearance_score_col_value)
283
  $options[$key] = $seopress_advanced_appearance_score_col_value;
284
- if (isset($seopress_advanced_appearance_score_col_option['seopress_advanced_appearance_score_col'])) {
285
  return $seopress_advanced_appearance_score_col_option['seopress_advanced_appearance_score_col'];
286
  }
287
  }
@@ -392,7 +392,7 @@ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_ap
392
  case 'seopress_ps' :
393
  echo '<div class="seopress-request-page-speed seopress-button" data_permalink="'.esc_url(get_the_permalink()).'" title="'.esc_attr(__('Analyze this page with Google Page Speed','wp-seopress')).'"><span class="dashicons dashicons-dashboard"></span></div>';
394
  break;
395
-
396
  case 'seopress_score' :
397
  if (get_post_meta($post_id, "_seopress_analysis_data", true)) {
398
  $ca = get_post_meta($post_id, "_seopress_analysis_data", true);
@@ -411,7 +411,7 @@ if (seopress_advanced_appearance_title_col_option() !='' || seopress_advanced_ap
411
  echo '</div>';
412
  }
413
  break;
414
-
415
  default :
416
  break;
417
  }
9
  //Admin notices
10
  //=================================================================================================
11
  //License notice
12
+ if ( current_user_can( seopress_capability( 'manage_options', 'notice' ) ) && is_seopress_page() ) {
13
  if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) {
14
  function seopress_notice_license() {
15
  $screen_id = get_current_screen();
28
  printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message );
29
  }
30
  }
31
+ add_action( 'seopress_admin_notices', 'seopress_notice_license' );
32
  }
33
  }
34
 
281
  if ( ! empty ( $seopress_advanced_appearance_score_col_option ) ) {
282
  foreach ($seopress_advanced_appearance_score_col_option as $key => $seopress_advanced_appearance_score_col_value)
283
  $options[$key] = $seopress_advanced_appearance_score_col_value;
284
+ if (isset($seopress_advanced_appearance_score_col_option['seopress_advanced_appearance_score_col'])) {
285
  return $seopress_advanced_appearance_score_col_option['seopress_advanced_appearance_score_col'];
286
  }
287
  }
392
  case 'seopress_ps' :
393
  echo '<div class="seopress-request-page-speed seopress-button" data_permalink="'.esc_url(get_the_permalink()).'" title="'.esc_attr(__('Analyze this page with Google Page Speed','wp-seopress')).'"><span class="dashicons dashicons-dashboard"></span></div>';
394
  break;
395
+
396
  case 'seopress_score' :
397
  if (get_post_meta($post_id, "_seopress_analysis_data", true)) {
398
  $ca = get_post_meta($post_id, "_seopress_analysis_data", true);
411
  echo '</div>';
412
  }
413
  break;
414
+
415
  default :
416
  break;
417
  }
inc/functions/options-google-analytics.php CHANGED
@@ -188,6 +188,14 @@ if (seopress_google_analytics_disable_option() =='1' && ( (empty($_COOKIE["seopr
188
  $close_btn = __('X','wp-seopress');
189
  }
190
 
 
 
 
 
 
 
 
 
191
  $styles = '<style>.seopress-user-consent {position: fixed;z-index: 8000;width: 100%;padding: 10px;left: 0;text-align: center;';
192
 
193
  //Position
@@ -277,13 +285,12 @@ if (seopress_google_analytics_disable_option() =='1' && ( (empty($_COOKIE["seopr
277
  }
278
 
279
  $styles .='.seopress-user-consent-hide{display:none;}</style>';
280
-
281
- $user_msg = $styles.'<div class="seopress-user-consent seopress-user-consent-hide" tabindex="10"><p>'.$msg.'<button id="seopress-user-consent-accept" tabindex="11">'.$consent_btn.'</button><button id="seopress-user-consent-close" tabindex="12">'.$close_btn.'</button></p></div>';
282
-
283
- $user_msg = apply_filters('seopress_rgpd_full_message', $user_msg, $msg, $consent_btn, $close_btn);
284
-
285
- echo $user_msg;
286
  }
 
287
  if (seopress_google_analytics_disable_option() =='1') {
288
  if (is_user_logged_in()) {
289
  global $wp_roles;
@@ -297,15 +304,19 @@ if (seopress_google_analytics_disable_option() =='1' && ( (empty($_COOKIE["seopr
297
  //do nothing
298
  } else {
299
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
 
300
  }
301
  } else {
302
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
 
303
  }
304
  } else {
305
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
 
306
  }
307
  } else {
308
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
 
309
  }
310
  }
311
  }
188
  $close_btn = __('X','wp-seopress');
189
  }
190
 
191
+ $user_msg = '<div class="seopress-user-consent seopress-user-consent-hide" tabindex="10"><p>'.$msg.'<button id="seopress-user-consent-accept" tabindex="11">'.$consent_btn.'</button><button id="seopress-user-consent-close" tabindex="12">'.$close_btn.'</button></p></div>';
192
+
193
+ $user_msg = apply_filters('seopress_rgpd_full_message', $user_msg, $msg, $consent_btn, $close_btn);
194
+
195
+ echo $user_msg;
196
+ }
197
+
198
+ function seopress_cookies_user_consent_styles(){
199
  $styles = '<style>.seopress-user-consent {position: fixed;z-index: 8000;width: 100%;padding: 10px;left: 0;text-align: center;';
200
 
201
  //Position
285
  }
286
 
287
  $styles .='.seopress-user-consent-hide{display:none;}</style>';
288
+
289
+ $styles = apply_filters('seopress_rgpd_full_message_styles', $styles);
290
+
291
+ echo $styles;
 
 
292
  }
293
+
294
  if (seopress_google_analytics_disable_option() =='1') {
295
  if (is_user_logged_in()) {
296
  global $wp_roles;
304
  //do nothing
305
  } else {
306
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
307
+ add_action('wp_head', 'seopress_cookies_user_consent_styles');
308
  }
309
  } else {
310
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
311
+ add_action('wp_head', 'seopress_cookies_user_consent_styles');
312
  }
313
  } else {
314
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
315
+ add_action('wp_head', 'seopress_cookies_user_consent_styles');
316
  }
317
  } else {
318
  add_action('wp_footer', 'seopress_cookies_user_consent_html');
319
+ add_action('wp_head', 'seopress_cookies_user_consent_styles');
320
  }
321
  }
322
  }
inc/functions/options-import-export.php CHANGED
@@ -6,13 +6,16 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
  //Export SEOPress Settings to JSON
8
  function seopress_export_settings() {
9
- if( empty( $_POST['seopress_action'] ) || 'export_settings' != $_POST['seopress_action'] )
10
  return;
11
- if( ! wp_verify_nonce( $_POST['seopress_export_nonce'], 'seopress_export_nonce' ) )
 
12
  return;
13
- if( ! current_user_can( 'manage_options' ) )
 
14
  return;
15
-
 
16
  $settings["seopress_activated"] = get_option( 'seopress_activated' );
17
  $settings["seopress_titles_option_name"] = get_option( 'seopress_titles_option_name' );
18
  $settings["seopress_social_option_name"] = get_option( 'seopress_social_option_name' );
@@ -39,52 +42,88 @@ add_action( 'admin_init', 'seopress_export_settings' );
39
 
40
  //Import SEOPress Settings from JSON
41
  function seopress_import_settings() {
42
- if( empty( $_POST['seopress_action'] ) || 'import_settings' != $_POST['seopress_action'] )
43
  return;
44
- if( ! wp_verify_nonce( $_POST['seopress_import_nonce'], 'seopress_import_nonce' ) )
 
45
  return;
46
- if( ! current_user_can( 'manage_options' ) )
 
47
  return;
48
- $extension = explode( '.', $_FILES['import_file']['name'] );
49
- $extension = end($extension);
 
 
50
  if( $extension != 'json' ) {
51
  wp_die( __( 'Please upload a valid .json file' ) );
52
  }
53
  $import_file = $_FILES['import_file']['tmp_name'];
 
54
  if( empty( $import_file ) ) {
55
  wp_die( __( 'Please upload a file to import' ) );
56
  }
57
 
58
- $settings = (array) json_decode( file_get_contents( $import_file ), true );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
59
 
60
- update_option( 'seopress_activated', $settings["seopress_activated"] );
61
- update_option( 'seopress_titles_option_name', $settings["seopress_titles_option_name"] );
62
- update_option( 'seopress_social_option_name', $settings["seopress_social_option_name"] );
63
- update_option( 'seopress_google_analytics_option_name', $settings["seopress_google_analytics_option_name"] );
64
- update_option( 'seopress_advanced_option_name', $settings["seopress_advanced_option_name"] );
65
- update_option( 'seopress_xml_sitemap_option_name', $settings["seopress_xml_sitemap_option_name"] );
66
- update_option( 'seopress_pro_option_name', $settings["seopress_pro_option_name"] );
67
- update_option( 'seopress_pro_mu_option_name', $settings["seopress_pro_mu_option_name"] );
68
- update_option( 'seopress_pro_license_key', $settings["seopress_pro_license_key"] );
69
- update_option( 'seopress_pro_license_status', $settings["seopress_pro_license_status"] );
70
- update_option( 'seopress_bot_option_name', $settings["seopress_bot_option_name"] );
71
- update_option( 'seopress_toggle', $settings["seopress_toggle"] );
72
- update_option( 'seopress_google_analytics_lock_option_name', $settings["seopress_google_analytics_lock_option_name"] );
73
-
74
- wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export&success=true' ) ); exit;
75
  }
76
  add_action( 'admin_init', 'seopress_import_settings' );
77
 
78
  //Import Redirections from CSV
79
  function seopress_import_redirections_settings() {
80
- if( empty( $_POST['seopress_action'] ) || 'import_redirections_settings' != $_POST['seopress_action'] )
81
  return;
82
- if( ! wp_verify_nonce( $_POST['seopress_import_redirections_nonce'], 'seopress_import_redirections_nonce' ) )
 
83
  return;
84
- if( ! current_user_can( 'manage_options' ) )
 
85
  return;
86
- $extension = explode( '.', $_FILES['import_file']['name'] );
87
- $extension = end($extension);
 
 
88
  if( $extension != 'csv' ) {
89
  wp_die( __( 'Please upload a valid .csv file' ) );
90
  }
@@ -92,6 +131,11 @@ function seopress_import_redirections_settings() {
92
  if( empty( $import_file ) ) {
93
  wp_die( __( 'Please upload a file to import' ) );
94
  }
 
 
 
 
 
95
 
96
  $csv = array_map('str_getcsv', file($import_file));
97
 
@@ -124,20 +168,25 @@ function seopress_import_redirections_settings() {
124
  }
125
  }
126
 
127
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
 
128
  }
129
  add_action( 'admin_init', 'seopress_import_redirections_settings' );
130
 
131
  //Import Redirections from Yoast Premium (CSV)
132
  function seopress_import_yoast_redirections() {
133
- if( empty( $_POST['seopress_action'] ) || 'import_yoast_redirections' != $_POST['seopress_action'] )
134
  return;
135
- if( ! wp_verify_nonce( $_POST['seopress_import_yoast_redirections_nonce'], 'seopress_import_yoast_redirections_nonce' ) )
 
136
  return;
137
- if( ! current_user_can( 'manage_options' ) )
 
138
  return;
139
- $extension = explode( '.', $_FILES['import_file']['name'] );
140
- $extension = end($extension);
 
 
141
  if( $extension != 'csv' ) {
142
  wp_die( __( 'Please upload a valid .csv file' ) );
143
  }
@@ -145,6 +194,11 @@ function seopress_import_yoast_redirections() {
145
  if( empty( $import_file ) ) {
146
  wp_die( __( 'Please upload a file to import' ) );
147
  }
 
 
 
 
 
148
 
149
  $csv = array_map('str_getcsv', file($import_file));
150
 
@@ -174,19 +228,23 @@ function seopress_import_yoast_redirections() {
174
  $id = wp_insert_post(array('post_title' => urldecode($csv_line[0]), 'post_type' => 'seopress_404', 'post_status' => 'publish', 'meta_input' => array( '_seopress_redirections_value' => urldecode($csv_line[1]), '_seopress_redirections_type' => $csv_type_redirects[2], '_seopress_redirections_enabled' => $csv_type_redirects[3], '_seopress_redirections_param' => $csv_type_redirects[4])));
175
  }
176
  }
177
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
 
178
  }
179
  add_action( 'admin_init', 'seopress_import_yoast_redirections' );
180
 
181
  //Export Redirections to CSV file
182
  function seopress_export_redirections_settings() {
183
- if( empty( $_POST['seopress_action'] ) || 'export_redirections' != $_POST['seopress_action'] )
184
  return;
185
- if( ! wp_verify_nonce( $_POST['seopress_export_redirections_nonce'], 'seopress_export_redirections_nonce' ) )
 
186
  return;
187
- if( ! current_user_can( 'manage_options' ) )
 
188
  return;
189
-
 
190
  //Init
191
  $redirects_html = '';
192
 
@@ -219,7 +277,7 @@ function seopress_export_redirections_settings() {
219
  $redirects_html .= "\n";
220
  }
221
  wp_reset_postdata();
222
- }
223
 
224
  ignore_user_abort( true );
225
  nocache_headers();
@@ -227,21 +285,24 @@ function seopress_export_redirections_settings() {
227
  header( 'Content-Disposition: attachment; filename=seopress-redirections-export-' . date( 'm-d-Y' ) . '.csv' );
228
  header( "Expires: 0" );
229
  echo $redirects_html;
230
-
231
  exit;
232
  }
233
  add_action( 'admin_init', 'seopress_export_redirections_settings' );
234
 
235
  //Import Redirections from Redirections plugin JSON file
236
  function seopress_import_redirections_plugin_settings() {
237
- if( empty( $_POST['seopress_action'] ) || 'import_redirections_plugin_settings' != $_POST['seopress_action'] )
238
  return;
239
- if( ! wp_verify_nonce( $_POST['seopress_import_redirections_plugin_nonce'], 'seopress_import_redirections_plugin_nonce' ) )
 
240
  return;
241
- if( ! current_user_can( 'manage_options' ) )
 
242
  return;
243
- $extension = explode( '.', $_FILES['import_file']['name'] );
244
- $extension = end($extension);
 
 
245
  if( $extension != 'json' ) {
246
  wp_die( __( 'Please upload a valid .json file' ) );
247
  }
@@ -250,6 +311,12 @@ function seopress_import_redirections_plugin_settings() {
250
  wp_die( __( 'Please upload a file to import' ) );
251
  }
252
 
 
 
 
 
 
 
253
  $settings = (array) json_decode( file_get_contents( $import_file ), true );
254
 
255
  foreach ($settings['redirects'] as $redirect_key => $redirect_value) {
@@ -280,10 +347,82 @@ function seopress_import_redirections_plugin_settings() {
280
  wp_insert_post(array('post_title' => ltrim(urldecode($redirect_value['url']), '/'), 'post_type' => 'seopress_404', 'post_status' => 'publish', 'meta_input' => array( '_seopress_redirections_value' => urldecode($redirect_value['action_data']['url']), '_seopress_redirections_type' => $type, '_seopress_redirections_enabled' => $enabled, '_seopress_redirections_param' => $param)));
281
  }
282
 
283
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
 
284
  }
285
  add_action( 'admin_init', 'seopress_import_redirections_plugin_settings' );
286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  //Clean all 404
288
  function seopress_clean_404_query_hook($args) {
289
  unset($args['date_query']);
@@ -292,64 +431,76 @@ function seopress_clean_404_query_hook($args) {
292
 
293
 
294
  function seopress_clean_404() {
295
- if( empty( $_POST['seopress_action'] ) || 'clean_404' != $_POST['seopress_action'] )
296
  return;
297
- if( ! wp_verify_nonce( $_POST['seopress_clean_404_nonce'], 'seopress_clean_404_nonce' ) )
 
298
  return;
299
- if( ! current_user_can( 'manage_options' ) )
 
300
  return;
 
301
 
302
  add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
303
  do_action('seopress_404_cron_cleaning');
304
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
 
305
  }
306
  add_action( 'admin_init', 'seopress_clean_404' );
307
 
308
  //Reset SEOPress Notices Settings
309
  function seopress_reset_notices_settings() {
310
- if( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' != $_POST['seopress_action'] )
311
  return;
312
- if( ! wp_verify_nonce( $_POST['seopress_reset_notices_nonce'], 'seopress_reset_notices_nonce' ) )
 
313
  return;
314
- if( ! current_user_can( 'manage_options' ) )
 
315
  return;
 
316
 
317
  global $wpdb;
318
-
319
  $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_notices' ");
320
-
321
- wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit;
 
322
  }
323
  add_action( 'admin_init', 'seopress_reset_notices_settings' );
324
 
325
  //Reset SEOPress Settings
326
  function seopress_reset_settings() {
327
- if( empty( $_POST['seopress_action'] ) || 'reset_settings' != $_POST['seopress_action'] )
328
  return;
329
- if( ! wp_verify_nonce( $_POST['seopress_reset_nonce'], 'seopress_reset_nonce' ) )
 
330
  return;
331
- if( ! current_user_can( 'manage_options' ) )
 
332
  return;
 
333
 
334
  global $wpdb;
335
-
336
  $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_%' ");
337
-
338
- wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) ); exit;
 
339
  }
340
  add_action( 'admin_init', 'seopress_reset_settings' );
341
 
342
  //Export SEOPress BOT Links to CSV
343
  function seopress_bot_links_export_settings() {
344
- if( empty( $_POST['seopress_action'] ) || 'export_csv_links_settings' != $_POST['seopress_action'] )
345
  return;
346
-
347
- if( ! wp_verify_nonce( $_POST['seopress_export_csv_links_nonce'], 'seopress_export_csv_links_nonce' ) )
348
  return;
349
-
350
- if( ! current_user_can( 'manage_options' ) )
351
  return;
352
-
353
  $args = array(
354
  'post_type' => 'seopress_bot',
355
  'posts_per_page' => 1000,
@@ -358,25 +509,25 @@ function seopress_bot_links_export_settings() {
358
  'orderby' => 'date',
359
  );
360
  $the_query = new WP_Query( $args );
361
-
362
  $settings["URL"] = array();
363
  $settings["Source"] = array();
364
  $settings["Source_Url"] = array();
365
  $settings["Status"] = array();
366
- $settings["Type"] = array();
367
-
368
  $csv_fields = array();
369
  $csv_fields[] = 'URL';
370
  $csv_fields[] = 'Source';
371
  $csv_fields[] = 'Source URL';
372
  $csv_fields[] = 'Status';
373
  $csv_fields[] = 'Type';
374
-
375
  $output_handle = @fopen( 'php://output', 'w' );
376
-
377
  //Insert header row
378
  fputcsv( $output_handle, $csv_fields );
379
-
380
  //Header
381
  ignore_user_abort( true );
382
  nocache_headers();
@@ -384,14 +535,14 @@ function seopress_bot_links_export_settings() {
384
  header( 'Content-Disposition: attachment; filename=seopress-links-export-' . date( 'm-d-Y' ) . '.csv' );
385
  header( 'Expires: 0' );
386
  header( 'Pragma: public' );
387
-
388
  // The Loop
389
  if ( $the_query->have_posts() ) {
390
  while ( $the_query->have_posts() ) {
391
  $the_query->the_post();
392
-
393
  array_push($settings["URL"], get_the_title());
394
-
395
  array_push($settings["Source"], get_post_meta( get_the_ID(), 'seopress_bot_source_title', true ));
396
 
397
  array_push($settings["Source_Url"], get_post_meta( get_the_ID(), 'seopress_bot_source_url', true ));
@@ -401,36 +552,36 @@ function seopress_bot_links_export_settings() {
401
  array_push($settings["Type"], get_post_meta( get_the_ID(), 'seopress_bot_type', true ));
402
 
403
  fputcsv( $output_handle, array_merge($settings["URL"], $settings["Source"], $settings["Source_Url"], $settings["Status"], $settings["Type"]));
404
-
405
  //Clean arrays
406
  $settings["URL"] = array();
407
  $settings["Source"] = array();
408
  $settings["Source_Url"] = array();
409
  $settings["Status"] = array();
410
- $settings["Type"] = array();
411
 
412
  }
413
  wp_reset_postdata();
414
- }
415
-
416
  // Close output file stream
417
  fclose( $output_handle );
418
-
419
  exit;
420
  }
421
  add_action( 'admin_init', 'seopress_bot_links_export_settings' );
422
 
423
  //Export SEOPress Backlinks to CSV
424
  function seopress_backlinks_export_settings() {
425
- if( empty( $_POST['seopress_action'] ) || 'export_backlinks_settings' != $_POST['seopress_action'] )
426
  return;
427
-
428
- if( ! wp_verify_nonce( $_POST['seopress_export_backlinks_nonce'], 'seopress_export_backlinks_nonce' ) )
429
  return;
430
-
431
- if( ! current_user_can( 'manage_options' ) )
432
  return;
433
-
434
  $args = array(
435
  'post_type' => 'seopress_backlinks',
436
  'posts_per_page' => 1000,
@@ -439,16 +590,16 @@ function seopress_backlinks_export_settings() {
439
  'orderby' => 'date',
440
  );
441
  $the_query = new WP_Query( $args );
442
-
443
  $settings["URL"] = array();
444
  $settings["Anchor_text"] = array();
445
  $settings["Source_citation_flow"] = array();
446
- $settings["Source_trust_flow"] = array();
447
  $settings["Target_citation_flow"] = array();
448
- $settings["Target_trust_flow"] = array();
449
- $settings["Found_date"] = array();
450
- $settings["Last_update"] = array();
451
-
452
  $csv_fields = array();
453
  $csv_fields[] = 'URL';
454
  $csv_fields[] = 'Anchor Text';
@@ -458,12 +609,12 @@ function seopress_backlinks_export_settings() {
458
  $csv_fields[] = 'Target Trust Flow';
459
  $csv_fields[] = 'First indexed';
460
  $csv_fields[] = 'Last Update';
461
-
462
  $output_handle = @fopen( 'php://output', 'w' );
463
-
464
  //Insert header row
465
  fputcsv( $output_handle, $csv_fields );
466
-
467
  //Header
468
  ignore_user_abort( true );
469
  nocache_headers();
@@ -471,14 +622,14 @@ function seopress_backlinks_export_settings() {
471
  header( 'Content-Disposition: attachment; filename=seopress-backlinks-export-' . date( 'm-d-Y' ) . '.csv' );
472
  header( 'Expires: 0' );
473
  header( 'Pragma: public' );
474
-
475
  // The Loop
476
  if ( $the_query->have_posts() ) {
477
  while ( $the_query->have_posts() ) {
478
  $the_query->the_post();
479
-
480
  array_push($settings["URL"], get_the_title());
481
-
482
  array_push($settings["Anchor_text"], get_post_meta( get_the_ID(), 'seopress_backlinks_anchor_text', true ));
483
 
484
  array_push($settings["Source_citation_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_source_citation_flow', true ));
@@ -494,17 +645,17 @@ function seopress_backlinks_export_settings() {
494
  array_push($settings["Last_update"], get_post_meta( get_the_ID(), 'seopress_backlinks_last_update', true ));
495
 
496
  fputcsv( $output_handle, array_merge(
497
- $settings["URL"],
498
- $settings["Anchor_text"],
499
- $settings["Source_citation_flow"],
500
- $settings["Source_trust_flow"],
501
- $settings["Target_citation_flow"],
502
  $settings["Target_trust_flow"],
503
- $settings["Found_date"],
504
  $settings["Last_update"]
505
  )
506
  );
507
-
508
  //Clean arrays
509
  $settings["URL"] = array();
510
  $settings["Anchor_text"] = array();
@@ -517,24 +668,24 @@ function seopress_backlinks_export_settings() {
517
 
518
  }
519
  wp_reset_postdata();
520
- }
521
-
522
  // Close output file stream
523
  fclose( $output_handle );
524
-
525
  exit;
526
  }
527
  add_action( 'admin_init', 'seopress_backlinks_export_settings' );
528
 
529
  //Export metadata
530
  function seopress_download_batch_export() {
531
- if( empty( $_GET['seopress_action'] ) || 'seopress_download_batch_export' != $_GET['seopress_action'] )
532
  return;
533
-
534
- if( ! wp_verify_nonce( $_GET['nonce'], 'seopress_csv_batch_export_nonce' ) )
535
- return;
536
-
537
- if (current_user_can('manage_options') && is_admin()) {
538
 
539
  if (get_option('seopress_metadata_csv') !='') {
540
  $csv = get_option('seopress_metadata_csv');
@@ -561,10 +712,10 @@ function seopress_download_batch_export() {
561
  $csv_fields[] = 'target_kw';
562
  ob_start();
563
  $output_handle = @fopen( 'php://output', 'w' );
564
-
565
  //Insert header row
566
  fputcsv( $output_handle, $csv_fields, ';' );
567
-
568
  //Header
569
  ignore_user_abort( true );
570
  nocache_headers();
@@ -572,7 +723,7 @@ function seopress_download_batch_export() {
572
  header( 'Content-Disposition: attachment; filename=seopress-metadata-export-' . date( 'm-d-Y' ) . '.csv' );
573
  header( 'Expires: 0' );
574
  header( 'Pragma: public' );
575
-
576
  if (!empty($csv)) {
577
  foreach($csv as $value) {
578
  fputcsv( $output_handle, $value, ';');
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
  //Export SEOPress Settings to JSON
8
  function seopress_export_settings() {
9
+ if( empty( $_POST['seopress_action'] ) || 'export_settings' != $_POST['seopress_action'] ) {
10
  return;
11
+ }
12
+ if( ! wp_verify_nonce( $_POST['seopress_export_nonce'], 'seopress_export_nonce' ) ) {
13
  return;
14
+ }
15
+ if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
16
  return;
17
+ }
18
+
19
  $settings["seopress_activated"] = get_option( 'seopress_activated' );
20
  $settings["seopress_titles_option_name"] = get_option( 'seopress_titles_option_name' );
21
  $settings["seopress_social_option_name"] = get_option( 'seopress_social_option_name' );
42
 
43
  //Import SEOPress Settings from JSON
44
  function seopress_import_settings() {
45
+ if( empty( $_POST['seopress_action'] ) || 'import_settings' != $_POST['seopress_action'] ) {
46
  return;
47
+ }
48
+ if( ! wp_verify_nonce( $_POST['seopress_import_nonce'], 'seopress_import_nonce' ) ) {
49
  return;
50
+ }
51
+ if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) {
52
  return;
53
+ }
54
+
55
+ $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
56
+
57
  if( $extension != 'json' ) {
58
  wp_die( __( 'Please upload a valid .json file' ) );
59
  }
60
  $import_file = $_FILES['import_file']['tmp_name'];
61
+
62
  if( empty( $import_file ) ) {
63
  wp_die( __( 'Please upload a file to import' ) );
64
  }
65
 
66
+ $settings = (array)json_decode( seopress_remove_utf8_bom(file_get_contents( $import_file )), true );
67
+
68
+ if ( $settings["seopress_activated"] !==false ) {
69
+ update_option( 'seopress_activated', $settings["seopress_activated"] );
70
+ }
71
+ if ( $settings["seopress_titles_option_name"] !==false ) {
72
+ update_option( 'seopress_titles_option_name', $settings["seopress_titles_option_name"] );
73
+ }
74
+ if ( $settings["seopress_social_option_name"] !==false ) {
75
+ update_option( 'seopress_social_option_name', $settings["seopress_social_option_name"] );
76
+ }
77
+ if ( $settings["seopress_google_analytics_option_name"] !==false ) {
78
+ update_option( 'seopress_google_analytics_option_name', $settings["seopress_google_analytics_option_name"] );
79
+ }
80
+ if ( $settings["seopress_advanced_option_name"] !==false ) {
81
+ update_option( 'seopress_advanced_option_name', $settings["seopress_advanced_option_name"] );
82
+ }
83
+ if ( $settings["seopress_xml_sitemap_option_name"] !==false ) {
84
+ update_option( 'seopress_xml_sitemap_option_name', $settings["seopress_xml_sitemap_option_name"] );
85
+ }
86
+ if ( $settings["seopress_pro_option_name"] !==false ) {
87
+ update_option( 'seopress_pro_option_name', $settings["seopress_pro_option_name"] );
88
+ }
89
+ if ( $settings["seopress_pro_mu_option_name"] !==false ) {
90
+ update_option( 'seopress_pro_mu_option_name', $settings["seopress_pro_mu_option_name"] );
91
+ }
92
+ if ( $settings["seopress_pro_license_key"] !==false ) {
93
+ update_option( 'seopress_pro_license_key', $settings["seopress_pro_license_key"] );
94
+ }
95
+ if ( $settings["seopress_pro_license_status"] !==false ) {
96
+ update_option( 'seopress_pro_license_status', $settings["seopress_pro_license_status"] );
97
+ }
98
+ if ( $settings["seopress_bot_option_name"] !==false ) {
99
+ update_option( 'seopress_bot_option_name', $settings["seopress_bot_option_name"] );
100
+ }
101
+ if ( $settings["seopress_toggle"] !==false ) {
102
+ update_option( 'seopress_toggle', $settings["seopress_toggle"] );
103
+ }
104
+ if ( $settings["seopress_google_analytics_lock_option_name"] !==false ) {
105
+ update_option( 'seopress_google_analytics_lock_option_name', $settings["seopress_google_analytics_lock_option_name"] );
106
+ }
107
 
108
+ wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export&success=true' ) );
109
+ exit;
 
 
 
 
 
 
 
 
 
 
 
 
 
110
  }
111
  add_action( 'admin_init', 'seopress_import_settings' );
112
 
113
  //Import Redirections from CSV
114
  function seopress_import_redirections_settings() {
115
+ if( empty( $_POST['seopress_action'] ) || 'import_redirections_settings' != $_POST['seopress_action'] ) {
116
  return;
117
+ }
118
+ if( ! wp_verify_nonce( $_POST['seopress_import_redirections_nonce'], 'seopress_import_redirections_nonce' ) ) {
119
  return;
120
+ }
121
+ if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) {
122
  return;
123
+ }
124
+
125
+ $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
126
+
127
  if( $extension != 'csv' ) {
128
  wp_die( __( 'Please upload a valid .csv file' ) );
129
  }
131
  if( empty( $import_file ) ) {
132
  wp_die( __( 'Please upload a file to import' ) );
133
  }
134
+ $extension = explode( '.', $import_file );
135
+ $extension = end($extension);
136
+ if( $extension != 'csv' ) {
137
+ wp_die( __( 'Please upload a valid .csv file' ) );
138
+ }
139
 
140
  $csv = array_map('str_getcsv', file($import_file));
141
 
168
  }
169
  }
170
 
171
+ wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
172
+ exit;
173
  }
174
  add_action( 'admin_init', 'seopress_import_redirections_settings' );
175
 
176
  //Import Redirections from Yoast Premium (CSV)
177
  function seopress_import_yoast_redirections() {
178
+ if( empty( $_POST['seopress_action'] ) || 'import_yoast_redirections' != $_POST['seopress_action'] ) {
179
  return;
180
+ }
181
+ if( ! wp_verify_nonce( $_POST['seopress_import_yoast_redirections_nonce'], 'seopress_import_yoast_redirections_nonce' ) ) {
182
  return;
183
+ }
184
+ if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) {
185
  return;
186
+ }
187
+
188
+ $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
189
+
190
  if( $extension != 'csv' ) {
191
  wp_die( __( 'Please upload a valid .csv file' ) );
192
  }
194
  if( empty( $import_file ) ) {
195
  wp_die( __( 'Please upload a file to import' ) );
196
  }
197
+ $extension = explode( '.', $import_file );
198
+ $extension = end($extension);
199
+ if( $extension != 'csv' ) {
200
+ wp_die( __( 'Please upload a valid .csv file' ) );
201
+ }
202
 
203
  $csv = array_map('str_getcsv', file($import_file));
204
 
228
  $id = wp_insert_post(array('post_title' => urldecode($csv_line[0]), 'post_type' => 'seopress_404', 'post_status' => 'publish', 'meta_input' => array( '_seopress_redirections_value' => urldecode($csv_line[1]), '_seopress_redirections_type' => $csv_type_redirects[2], '_seopress_redirections_enabled' => $csv_type_redirects[3], '_seopress_redirections_param' => $csv_type_redirects[4])));
229
  }
230
  }
231
+ wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
232
+ exit;
233
  }
234
  add_action( 'admin_init', 'seopress_import_yoast_redirections' );
235
 
236
  //Export Redirections to CSV file
237
  function seopress_export_redirections_settings() {
238
+ if( empty( $_POST['seopress_action'] ) || 'export_redirections' != $_POST['seopress_action'] ) {
239
  return;
240
+ }
241
+ if( ! wp_verify_nonce( $_POST['seopress_export_redirections_nonce'], 'seopress_export_redirections_nonce' ) ) {
242
  return;
243
+ }
244
+ if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
245
  return;
246
+ }
247
+
248
  //Init
249
  $redirects_html = '';
250
 
277
  $redirects_html .= "\n";
278
  }
279
  wp_reset_postdata();
280
+ }
281
 
282
  ignore_user_abort( true );
283
  nocache_headers();
285
  header( 'Content-Disposition: attachment; filename=seopress-redirections-export-' . date( 'm-d-Y' ) . '.csv' );
286
  header( "Expires: 0" );
287
  echo $redirects_html;
 
288
  exit;
289
  }
290
  add_action( 'admin_init', 'seopress_export_redirections_settings' );
291
 
292
  //Import Redirections from Redirections plugin JSON file
293
  function seopress_import_redirections_plugin_settings() {
294
+ if( empty( $_POST['seopress_action'] ) || 'import_redirections_plugin_settings' != $_POST['seopress_action'] ) {
295
  return;
296
+ }
297
+ if( ! wp_verify_nonce( $_POST['seopress_import_redirections_plugin_nonce'], 'seopress_import_redirections_plugin_nonce' ) ) {
298
  return;
299
+ }
300
+ if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) {
301
  return;
302
+ }
303
+
304
+ $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
305
+
306
  if( $extension != 'json' ) {
307
  wp_die( __( 'Please upload a valid .json file' ) );
308
  }
311
  wp_die( __( 'Please upload a file to import' ) );
312
  }
313
 
314
+ $extension = explode( '.', $import_file );
315
+ $extension = end($extension);
316
+ if( $extension != 'json' ) {
317
+ wp_die( __( 'Please upload a valid .json file' ) );
318
+ }
319
+
320
  $settings = (array) json_decode( file_get_contents( $import_file ), true );
321
 
322
  foreach ($settings['redirects'] as $redirect_key => $redirect_value) {
347
  wp_insert_post(array('post_title' => ltrim(urldecode($redirect_value['url']), '/'), 'post_type' => 'seopress_404', 'post_status' => 'publish', 'meta_input' => array( '_seopress_redirections_value' => urldecode($redirect_value['action_data']['url']), '_seopress_redirections_type' => $type, '_seopress_redirections_enabled' => $enabled, '_seopress_redirections_param' => $param)));
348
  }
349
 
350
+ wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
351
+ exit;
352
  }
353
  add_action( 'admin_init', 'seopress_import_redirections_plugin_settings' );
354
 
355
+ //Import Redirections from Rank Math plugin TXT file
356
+ //@since 3.8.2
357
+ //@author Benjamin Denis
358
+ function seopress_import_rk_redirections() {
359
+ if( empty( $_POST['seopress_action'] ) || 'import_rk_redirections' != $_POST['seopress_action'] )
360
+ return;
361
+ if( ! wp_verify_nonce( $_POST['seopress_import_rk_redirections_nonce'], 'seopress_import_rk_redirections_nonce' ) )
362
+ return;
363
+ if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) )
364
+ return;
365
+ $extension = explode( '.', $_FILES['import_file']['name'] );
366
+ $extension = end($extension);
367
+ if( $extension != 'txt' ) {
368
+ wp_die( __( 'Please upload a valid .txt file' ) );
369
+ }
370
+ $import_file = $_FILES['import_file']['tmp_name'];
371
+ if( empty( $import_file ) ) {
372
+ wp_die( __( 'Please upload a file to import' ) );
373
+ }
374
+
375
+ $settings = (array) json_decode( file_get_contents( $import_file ), true );
376
+
377
+ foreach ($settings['redirections'] as $redirect_key => $redirect_value) {
378
+ $type = '';
379
+ if (!empty($redirect_value['header_code'])) {
380
+ $type = $redirect_value['header_code'];
381
+ }
382
+
383
+ $source = '';
384
+ if (!empty($redirect_value['sources'])) {
385
+ $source = maybe_unserialize($redirect_value['sources']);
386
+ $source = ltrim(urldecode($source[0]['pattern']), '/');
387
+ }
388
+
389
+ $param = 'exact_match';
390
+
391
+ $enabled ='';
392
+ if (!empty($redirect_value['status'] =="active")) {
393
+ $enabled ='yes';
394
+ }
395
+
396
+ $redirect ='';
397
+ if (!empty($redirect_value['url_to'])) {
398
+ $redirect = urldecode($redirect_value['url_to']);
399
+ }
400
+
401
+ $count ='';
402
+ if (!empty($redirect_value['hits'])) {
403
+ $count = $redirect_value['hits'];
404
+ }
405
+
406
+ wp_insert_post(
407
+ array(
408
+ 'post_title' => $source,
409
+ 'post_type' => 'seopress_404',
410
+ 'post_status' => 'publish',
411
+ 'meta_input' => array(
412
+ '_seopress_redirections_value' => $redirect,
413
+ '_seopress_redirections_type' => $type,
414
+ '_seopress_redirections_enabled' => $enabled,
415
+ 'seopress_404_count' => $count,
416
+ '_seopress_redirections_param' => $param
417
+ )
418
+ )
419
+ );
420
+ }
421
+
422
+ wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
423
+ }
424
+ add_action( 'admin_init', 'seopress_import_rk_redirections' );
425
+
426
  //Clean all 404
427
  function seopress_clean_404_query_hook($args) {
428
  unset($args['date_query']);
431
 
432
 
433
  function seopress_clean_404() {
434
+ if( empty( $_POST['seopress_action'] ) || 'clean_404' != $_POST['seopress_action'] ) {
435
  return;
436
+ }
437
+ if( ! wp_verify_nonce( $_POST['seopress_clean_404_nonce'], 'seopress_clean_404_nonce' ) ) {
438
  return;
439
+ }
440
+ if( ! current_user_can( seopress_capability( 'manage_options', '404' ) ) ) {
441
  return;
442
+ }
443
 
444
  add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
445
  do_action('seopress_404_cron_cleaning');
446
+ wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
447
+ exit;
448
  }
449
  add_action( 'admin_init', 'seopress_clean_404' );
450
 
451
  //Reset SEOPress Notices Settings
452
  function seopress_reset_notices_settings() {
453
+ if( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' != $_POST['seopress_action'] ) {
454
  return;
455
+ }
456
+ if( ! wp_verify_nonce( $_POST['seopress_reset_notices_nonce'], 'seopress_reset_notices_nonce' ) ) {
457
  return;
458
+ }
459
+ if( ! current_user_can( seopress_capability( 'manage_options', 'reset_settings' ) ) ) {
460
  return;
461
+ }
462
 
463
  global $wpdb;
464
+
465
  $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_notices' ");
466
+
467
+ wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) );
468
+ exit;
469
  }
470
  add_action( 'admin_init', 'seopress_reset_notices_settings' );
471
 
472
  //Reset SEOPress Settings
473
  function seopress_reset_settings() {
474
+ if( empty( $_POST['seopress_action'] ) || 'reset_settings' != $_POST['seopress_action'] ) {
475
  return;
476
+ }
477
+ if( ! wp_verify_nonce( $_POST['seopress_reset_nonce'], 'seopress_reset_nonce' ) ) {
478
  return;
479
+ }
480
+ if( ! current_user_can( seopress_capability( 'manage_options', 'reset_settings' ) ) ) {
481
  return;
482
+ }
483
 
484
  global $wpdb;
485
+
486
  $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_%' ");
487
+
488
+ wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) );
489
+ exit;
490
  }
491
  add_action( 'admin_init', 'seopress_reset_settings' );
492
 
493
  //Export SEOPress BOT Links to CSV
494
  function seopress_bot_links_export_settings() {
495
+ if( empty( $_POST['seopress_action'] ) || 'export_csv_links_settings' != $_POST['seopress_action'] ) {
496
  return;
497
+ }
498
+ if( ! wp_verify_nonce( $_POST['seopress_export_csv_links_nonce'], 'seopress_export_csv_links_nonce' ) ) {
499
  return;
500
+ }
501
+ if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
502
  return;
503
+ }
504
  $args = array(
505
  'post_type' => 'seopress_bot',
506
  'posts_per_page' => 1000,
509
  'orderby' => 'date',
510
  );
511
  $the_query = new WP_Query( $args );
512
+
513
  $settings["URL"] = array();
514
  $settings["Source"] = array();
515
  $settings["Source_Url"] = array();
516
  $settings["Status"] = array();
517
+ $settings["Type"] = array();
518
+
519
  $csv_fields = array();
520
  $csv_fields[] = 'URL';
521
  $csv_fields[] = 'Source';
522
  $csv_fields[] = 'Source URL';
523
  $csv_fields[] = 'Status';
524
  $csv_fields[] = 'Type';
525
+
526
  $output_handle = @fopen( 'php://output', 'w' );
527
+
528
  //Insert header row
529
  fputcsv( $output_handle, $csv_fields );
530
+
531
  //Header
532
  ignore_user_abort( true );
533
  nocache_headers();
535
  header( 'Content-Disposition: attachment; filename=seopress-links-export-' . date( 'm-d-Y' ) . '.csv' );
536
  header( 'Expires: 0' );
537
  header( 'Pragma: public' );
538
+
539
  // The Loop
540
  if ( $the_query->have_posts() ) {
541
  while ( $the_query->have_posts() ) {
542
  $the_query->the_post();
543
+
544
  array_push($settings["URL"], get_the_title());
545
+
546
  array_push($settings["Source"], get_post_meta( get_the_ID(), 'seopress_bot_source_title', true ));
547
 
548
  array_push($settings["Source_Url"], get_post_meta( get_the_ID(), 'seopress_bot_source_url', true ));
552
  array_push($settings["Type"], get_post_meta( get_the_ID(), 'seopress_bot_type', true ));
553
 
554
  fputcsv( $output_handle, array_merge($settings["URL"], $settings["Source"], $settings["Source_Url"], $settings["Status"], $settings["Type"]));
555
+
556
  //Clean arrays
557
  $settings["URL"] = array();
558
  $settings["Source"] = array();
559
  $settings["Source_Url"] = array();
560
  $settings["Status"] = array();
561
+ $settings["Type"] = array();
562
 
563
  }
564
  wp_reset_postdata();
565
+ }
566
+
567
  // Close output file stream
568
  fclose( $output_handle );
569
+
570
  exit;
571
  }
572
  add_action( 'admin_init', 'seopress_bot_links_export_settings' );
573
 
574
  //Export SEOPress Backlinks to CSV
575
  function seopress_backlinks_export_settings() {
576
+ if( empty( $_POST['seopress_action'] ) || 'export_backlinks_settings' != $_POST['seopress_action'] ) {
577
  return;
578
+ }
579
+ if( ! wp_verify_nonce( $_POST['seopress_export_backlinks_nonce'], 'seopress_export_backlinks_nonce' ) ) {
580
  return;
581
+ }
582
+ if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
583
  return;
584
+ }
585
  $args = array(
586
  'post_type' => 'seopress_backlinks',
587
  'posts_per_page' => 1000,
590
  'orderby' => 'date',
591
  );
592
  $the_query = new WP_Query( $args );
593
+
594
  $settings["URL"] = array();
595
  $settings["Anchor_text"] = array();
596
  $settings["Source_citation_flow"] = array();
597
+ $settings["Source_trust_flow"] = array();
598
  $settings["Target_citation_flow"] = array();
599
+ $settings["Target_trust_flow"] = array();
600
+ $settings["Found_date"] = array();
601
+ $settings["Last_update"] = array();
602
+
603
  $csv_fields = array();
604
  $csv_fields[] = 'URL';
605
  $csv_fields[] = 'Anchor Text';
609
  $csv_fields[] = 'Target Trust Flow';
610
  $csv_fields[] = 'First indexed';
611
  $csv_fields[] = 'Last Update';
612
+
613
  $output_handle = @fopen( 'php://output', 'w' );
614
+
615
  //Insert header row
616
  fputcsv( $output_handle, $csv_fields );
617
+
618
  //Header
619
  ignore_user_abort( true );
620
  nocache_headers();
622
  header( 'Content-Disposition: attachment; filename=seopress-backlinks-export-' . date( 'm-d-Y' ) . '.csv' );
623
  header( 'Expires: 0' );
624
  header( 'Pragma: public' );
625
+
626
  // The Loop
627
  if ( $the_query->have_posts() ) {
628
  while ( $the_query->have_posts() ) {
629
  $the_query->the_post();
630
+
631
  array_push($settings["URL"], get_the_title());
632
+
633
  array_push($settings["Anchor_text"], get_post_meta( get_the_ID(), 'seopress_backlinks_anchor_text', true ));
634
 
635
  array_push($settings["Source_citation_flow"], get_post_meta( get_the_ID(), 'seopress_backlinks_source_citation_flow', true ));
645
  array_push($settings["Last_update"], get_post_meta( get_the_ID(), 'seopress_backlinks_last_update', true ));
646
 
647
  fputcsv( $output_handle, array_merge(
648
+ $settings["URL"],
649
+ $settings["Anchor_text"],
650
+ $settings["Source_citation_flow"],
651
+ $settings["Source_trust_flow"],
652
+ $settings["Target_citation_flow"],
653
  $settings["Target_trust_flow"],
654
+ $settings["Found_date"],
655
  $settings["Last_update"]
656
  )
657
  );
658
+
659
  //Clean arrays
660
  $settings["URL"] = array();
661
  $settings["Anchor_text"] = array();
668
 
669
  }
670
  wp_reset_postdata();
671
+ }
672
+
673
  // Close output file stream
674
  fclose( $output_handle );
675
+
676
  exit;
677
  }
678
  add_action( 'admin_init', 'seopress_backlinks_export_settings' );
679
 
680
  //Export metadata
681
  function seopress_download_batch_export() {
682
+ if( empty( $_GET['seopress_action'] ) || 'seopress_download_batch_export' != $_GET['seopress_action'] ) {
683
  return;
684
+ }
685
+ if( ! wp_verify_nonce( $_GET['nonce'], 'seopress_csv_batch_export_nonce' ) ) {
686
+ return;
687
+ }
688
+ if ( current_user_can( seopress_capability( 'manage_options', 'export_settings' ) && is_admin() ) ) {
689
 
690
  if (get_option('seopress_metadata_csv') !='') {
691
  $csv = get_option('seopress_metadata_csv');
712
  $csv_fields[] = 'target_kw';
713
  ob_start();
714
  $output_handle = @fopen( 'php://output', 'w' );
715
+
716
  //Insert header row
717
  fputcsv( $output_handle, $csv_fields, ';' );
718
+
719
  //Header
720
  ignore_user_abort( true );
721
  nocache_headers();
723
  header( 'Content-Disposition: attachment; filename=seopress-metadata-export-' . date( 'm-d-Y' ) . '.csv' );
724
  header( 'Expires: 0' );
725
  header( 'Pragma: public' );
726
+
727
  if (!empty($csv)) {
728
  foreach($csv as $value) {
729
  fputcsv( $output_handle, $value, ';');
inc/functions/options-redirections.php CHANGED
@@ -5,11 +5,16 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
5
  //=================================================================================================
6
  //Enabled
7
  function seopress_redirections_enabled() {
8
- global $post;
9
- if ($post) {
10
- if (get_post_meta($post->ID,'_seopress_redirections_enabled',true)) {
11
- $seopress_redirections_enabled = get_post_meta($post->ID,'_seopress_redirections_enabled',true);
12
- return $seopress_redirections_enabled;
 
 
 
 
 
13
  }
14
  }
15
  }
@@ -25,10 +30,15 @@ function seopress_redirections_term_enabled() {
25
 
26
  //Type
27
  function seopress_redirections_type() {
28
- global $post;
29
- if (get_post_meta($post->ID,'_seopress_redirections_type',true)) {
30
- $seopress_redirections_type = get_post_meta($post->ID,'_seopress_redirections_type',true);
31
  return $seopress_redirections_type;
 
 
 
 
 
 
32
  }
33
  }
34
 
@@ -47,6 +57,9 @@ function seopress_redirections_value() {
47
  if (is_singular() && get_post_meta($post->ID,'_seopress_redirections_value',true)) {
48
  $seopress_redirections_value = html_entity_decode(esc_url(get_post_meta($post->ID,'_seopress_redirections_value',true)));
49
  return $seopress_redirections_value;
 
 
 
50
  } elseif ((is_tax() || is_category() || is_tag()) && get_term_meta(get_queried_object_id(),'_seopress_redirections_value',true) !='') {
51
  $seopress_redirections_value = html_entity_decode(esc_url(get_term_meta(get_queried_object_id(),'_seopress_redirections_value',true)));
52
  return $seopress_redirections_value;
5
  //=================================================================================================
6
  //Enabled
7
  function seopress_redirections_enabled() {
8
+ if (is_home() && get_option( 'page_for_posts' ) !='' && get_post_meta(get_option( 'page_for_posts' ),'_seopress_redirections_enabled',true)) {
9
+ $seopress_redirections_enabled = get_post_meta(get_option( 'page_for_posts' ),'_seopress_redirections_enabled',true);
10
+ return $seopress_redirections_enabled;
11
+ } else {
12
+ global $post;
13
+ if ($post) {
14
+ if (get_post_meta($post->ID,'_seopress_redirections_enabled',true)) {
15
+ $seopress_redirections_enabled = get_post_meta($post->ID,'_seopress_redirections_enabled',true);
16
+ return $seopress_redirections_enabled;
17
+ }
18
  }
19
  }
20
  }
30
 
31
  //Type
32
  function seopress_redirections_type() {
33
+ if (is_home() && get_option( 'page_for_posts' ) !='' && get_post_meta(get_option( 'page_for_posts' ),'_seopress_redirections_type',true)) {
34
+ $seopress_redirections_type = get_post_meta(get_option( 'page_for_posts' ),'_seopress_redirections_type',true);
 
35
  return $seopress_redirections_type;
36
+ } else {
37
+ global $post;
38
+ if (get_post_meta($post->ID,'_seopress_redirections_type',true)) {
39
+ $seopress_redirections_type = get_post_meta($post->ID,'_seopress_redirections_type',true);
40
+ return $seopress_redirections_type;
41
+ }
42
  }
43
  }
44
 
57
  if (is_singular() && get_post_meta($post->ID,'_seopress_redirections_value',true)) {
58
  $seopress_redirections_value = html_entity_decode(esc_url(get_post_meta($post->ID,'_seopress_redirections_value',true)));
59
  return $seopress_redirections_value;
60
+ } elseif (is_home() && get_option( 'page_for_posts' ) !='' && get_post_meta(get_option( 'page_for_posts' ),'_seopress_redirections_value',true)) {
61
+ $seopress_redirections_value = html_entity_decode(esc_url(get_post_meta(get_option( 'page_for_posts' ),'_seopress_redirections_value',true)));
62
+ return $seopress_redirections_value;
63
  } elseif ((is_tax() || is_category() || is_tag()) && get_term_meta(get_queried_object_id(),'_seopress_redirections_value',true) !='') {
64
  $seopress_redirections_value = html_entity_decode(esc_url(get_term_meta(get_queried_object_id(),'_seopress_redirections_value',true)));
65
  return $seopress_redirections_value;
inc/functions/options.php CHANGED
@@ -9,7 +9,7 @@ function seopress_advanced_advanced_trailingslash_option() {
9
  if ( ! empty ( $seopress_advanced_advanced_trailingslash_option ) ) {
10
  foreach ($seopress_advanced_advanced_trailingslash_option as $key => $seopress_advanced_advanced_trailingslash_value)
11
  $options[$key] = $seopress_advanced_advanced_trailingslash_value;
12
- if (isset($seopress_advanced_advanced_trailingslash_option['seopress_advanced_advanced_trailingslash'])) {
13
  return $seopress_advanced_advanced_trailingslash_option['seopress_advanced_advanced_trailingslash'];
14
  }
15
  }
@@ -34,7 +34,7 @@ if (seopress_get_toggle_option('titles') =='1') {
34
  if ( ! empty ( $seopress_titles_archives_author_disable_option ) ) {
35
  foreach ($seopress_titles_archives_author_disable_option as $key => $seopress_titles_archives_author_disable_value)
36
  $options[$key] = $seopress_titles_archives_author_disable_value;
37
- if (isset($seopress_titles_archives_author_disable_option['seopress_titles_archives_author_disable'])) {
38
  return $seopress_titles_archives_author_disable_option['seopress_titles_archives_author_disable'];
39
  }
40
  }
@@ -46,7 +46,7 @@ if (seopress_get_toggle_option('titles') =='1') {
46
  if ( ! empty ( $seopress_titles_archives_date_disable_option ) ) {
47
  foreach ($seopress_titles_archives_date_disable_option as $key => $seopress_titles_archives_date_disable_value)
48
  $options[$key] = $seopress_titles_archives_date_disable_value;
49
- if (isset($seopress_titles_archives_date_disable_option['seopress_titles_archives_date_disable'])) {
50
  return $seopress_titles_archives_date_disable_option['seopress_titles_archives_date_disable'];
51
  }
52
  }
@@ -77,17 +77,17 @@ if (seopress_get_toggle_option('titles') =='1') {
77
  function seopress_titles_single_enable_option() {
78
  global $post;
79
  $seopress_get_current_cpt = get_post_type($post);
80
-
81
  $seopress_titles_single_enable_option = get_option("seopress_titles_option_name");
82
  if ( ! empty ( $seopress_titles_single_enable_option ) ) {
83
  foreach ($seopress_titles_single_enable_option as $key => $seopress_titles_single_enable_value)
84
  $options[$key] = $seopress_titles_single_enable_value;
85
- if (isset($seopress_titles_single_enable_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['enable'])) {
86
  return $seopress_titles_single_enable_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['enable'];
87
  }
88
  }
89
  }
90
- function seopress_titles_single_enable_metabox($seopress_get_post_types) {
91
  global $post;
92
  if (seopress_titles_single_enable_option() == 1 && get_post_type($post) !='') {
93
  unset($seopress_get_post_types[get_post_type($post)]);
@@ -98,23 +98,23 @@ if (seopress_get_toggle_option('titles') =='1') {
98
  add_filter('seopress_metaboxe_content_analysis', 'seopress_titles_single_enable_metabox');
99
  add_filter('seopress_pro_metaboxe_sdt', 'seopress_titles_single_enable_metabox');
100
  }
101
-
102
  //Taxonomy?
103
  if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
104
  if (!empty($_GET['taxonomy'])) {
105
  $seopress_get_current_tax = sanitize_title(esc_attr($_GET['taxonomy']));
106
-
107
  function seopress_tax_single_enable_option($seopress_get_current_tax) {
108
  $seopress_tax_single_enable_option = get_option("seopress_titles_option_name");
109
  if ( ! empty ( $seopress_tax_single_enable_option ) ) {
110
  foreach ($seopress_tax_single_enable_option as $key => $seopress_tax_single_enable_value)
111
  $options[$key] = $seopress_tax_single_enable_value;
112
- if (isset($seopress_tax_single_enable_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['enable'])) {
113
  return $seopress_tax_single_enable_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['enable'];
114
  }
115
  }
116
  }
117
-
118
  function seopress_tax_single_enable_metabox($seopress_get_taxonomies) {
119
  $seopress_get_current_tax = sanitize_title(esc_attr($_GET['taxonomy']));
120
  if (seopress_tax_single_enable_option($seopress_get_current_tax) == 1 && $seopress_get_current_tax !='') {
@@ -143,13 +143,13 @@ if (seopress_get_toggle_option('titles') =='1') {
143
  }
144
  }
145
  if (seopress_get_toggle_option('social') =='1') {
146
- // add_action('wp_loaded', 'seopress_load_oembed_options');
147
  // function seopress_load_oembed_options() {
148
  // if (!is_admin()){
149
  // require_once ( dirname( __FILE__ ) . '/options-oembed.php'); //Oembed
150
  // }
151
  // }
152
-
153
  add_action('wp_head', 'seopress_load_social_options', 0);
154
  function seopress_load_social_options() {
155
  if (!is_admin()){
@@ -168,7 +168,7 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
168
  if ( ! empty ( $seopress_google_analytics_enable_option ) ) {
169
  foreach ($seopress_google_analytics_enable_option as $key => $seopress_google_analytics_enable_value)
170
  $options[$key] = $seopress_google_analytics_enable_value;
171
- if (isset($seopress_google_analytics_enable_option['seopress_google_analytics_enable'])) {
172
  return $seopress_google_analytics_enable_option['seopress_google_analytics_enable'];
173
  }
174
  }
@@ -180,7 +180,7 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
180
  if ( ! empty ( $seopress_google_analytics_ua_option ) ) {
181
  foreach ($seopress_google_analytics_ua_option as $key => $seopress_google_analytics_ua_value)
182
  $options[$key] = $seopress_google_analytics_ua_value;
183
- if (isset($seopress_google_analytics_ua_option['seopress_google_analytics_ua'])) {
184
  return $seopress_google_analytics_ua_option['seopress_google_analytics_ua'];
185
  }
186
  }
@@ -192,7 +192,7 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
192
  if ( ! empty ( $seopress_google_analytics_roles_option ) ) {
193
  foreach ($seopress_google_analytics_roles_option as $key => $seopress_google_analytics_roles_value)
194
  $options[$key] = $seopress_google_analytics_roles_value;
195
- if (isset($seopress_google_analytics_roles_option['seopress_google_analytics_roles'])) {
196
  return $seopress_google_analytics_roles_option['seopress_google_analytics_roles'];
197
  }
198
  }
@@ -204,7 +204,7 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
204
  if ( ! empty ( $seopress_google_analytics_ecommerce_enable_option ) ) {
205
  foreach ($seopress_google_analytics_ecommerce_enable_option as $key => $seopress_google_analytics_ecommerce_enable_value)
206
  $options[$key] = $seopress_google_analytics_ecommerce_enable_value;
207
- if (isset($seopress_google_analytics_ecommerce_enable_option['seopress_google_analytics_e_commerce_enable'])) {
208
  return $seopress_google_analytics_ecommerce_enable_option['seopress_google_analytics_e_commerce_enable'];
209
  }
210
  }
@@ -248,21 +248,23 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
248
 
249
  //User Consent JS
250
  function seopress_google_analytics_cookies_js() {
251
- wp_register_script('seopress-cookies', plugins_url( 'assets/js/seopress-cookies.min.js', dirname(dirname(__FILE__))), array(), SEOPRESS_VERSION, true);
 
252
  wp_enqueue_script('seopress-cookies');
253
 
254
- wp_enqueue_script( 'seopress-cookies-ajax', plugins_url( 'assets/js/seopress-cookies-ajax.js', dirname(dirname(__FILE__))), array( 'jquery','seopress-cookies' ), SEOPRESS_VERSION, true );
255
 
256
- $seopress_cookies_user_consent = array(
257
- 'seopress_nonce' => wp_create_nonce('seopress_cookies_user_consent_nonce'),
258
  'seopress_cookies_user_consent' => admin_url('admin-ajax.php'),
259
- );
260
  wp_localize_script( 'seopress-cookies-ajax', 'seopressAjaxGAUserConsent', $seopress_cookies_user_consent );
261
  }
 
262
  if (seopress_google_analytics_disable_option() =='1') {
263
  if (is_user_logged_in()) {
264
  global $wp_roles;
265
-
266
  //Get current user role
267
  if(isset(wp_get_current_user()->roles[0])) {
268
  $seopress_user_role = wp_get_current_user()->roles[0];
@@ -274,7 +276,7 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
274
  add_action('wp_enqueue_scripts','seopress_google_analytics_cookies_js', 20, 1);
275
  }
276
  } else {
277
- add_action('wp_enqueue_scripts','seopress_google_analytics_cookies_js', 20, 1);
278
  }
279
  } else {
280
  add_action('wp_enqueue_scripts','seopress_google_analytics_cookies_js', 20, 1);
@@ -293,7 +295,7 @@ if (seopress_get_toggle_option('google-analytics') =='1') {
293
  check_ajax_referer( 'seopress_cookies_user_consent_nonce', $_GET['_ajax_nonce'], true );
294
  if (is_user_logged_in()) {
295
  global $wp_roles;
296
-
297
  //Get current user role
298
  if(isset(wp_get_current_user()->roles[0])) {
299
  $seopress_user_role = wp_get_current_user()->roles[0];
@@ -350,7 +352,7 @@ if (seopress_get_toggle_option('xml-sitemap') =='1') {
350
  if (!is_admin()) {
351
  require_once ( dirname( __FILE__ ) . '/options-sitemap.php'); //XML / HTML Sitemap
352
  }
353
- }
354
  }
355
  if (seopress_get_toggle_option('advanced') =='1') {
356
  //Remove comment author url
@@ -380,7 +382,7 @@ if (seopress_get_toggle_option('advanced') =='1') {
380
  }
381
  }
382
  if (seopress_advanced_advanced_comments_website_option() =='1') {
383
- function seopress_advanced_advanced_comments_website_hook($fields) {
384
  unset($fields['url']);
385
  return $fields;
386
  }
@@ -389,7 +391,7 @@ if (seopress_get_toggle_option('advanced') =='1') {
389
 
390
  add_action('wp_head', 'seopress_load_advanced_options', 0);
391
  function seopress_load_advanced_options() {
392
- if (!is_admin()){
393
  require_once ( dirname( __FILE__ ) . '/options-advanced.php'); //Advanced
394
  }
395
  }
@@ -402,7 +404,7 @@ if (seopress_get_toggle_option('advanced') =='1') {
402
  if ( ! empty ( $seopress_advanced_appearance_adminbar_option ) ) {
403
  foreach ($seopress_advanced_appearance_adminbar_option as $key => $seopress_advanced_appearance_adminbar_value)
404
  $options[$key] = $seopress_advanced_appearance_adminbar_value;
405
- if (isset($seopress_advanced_appearance_adminbar_option['seopress_advanced_appearance_adminbar'])) {
406
  return $seopress_advanced_appearance_adminbar_option['seopress_advanced_appearance_adminbar'];
407
  }
408
  }
@@ -421,12 +423,16 @@ if (seopress_get_toggle_option('advanced') =='1') {
421
  $primary_cat = NULL;
422
  if (!is_admin()) {
423
  global $post;
 
424
  }
425
  $post = get_post( $post );
 
 
 
 
426
 
427
  if ($post) {
428
  $_seopress_robots_primary_cat = get_post_meta($post->ID,'_seopress_robots_primary_cat',true);
429
-
430
  if (isset($_seopress_robots_primary_cat) && $_seopress_robots_primary_cat !='' && $_seopress_robots_primary_cat !='none') {
431
  if ($post->post_type !=NULL && $post->post_type =='post') {
432
  $primary_cat = get_category($_seopress_robots_primary_cat);
@@ -445,13 +451,20 @@ if (seopress_get_toggle_option('advanced') =='1') {
445
  }
446
  }
447
  add_filter( 'post_link_category', 'seopress_titles_primary_cat_hook', 10, 3 );
 
 
 
 
 
 
 
448
  //No /category/ in URL
449
  function seopress_advanced_advanced_category_url_option() {
450
  $seopress_advanced_advanced_category_url_option = get_option("seopress_advanced_option_name");
451
  if ( ! empty ( $seopress_advanced_advanced_category_url_option ) ) {
452
  foreach ($seopress_advanced_advanced_category_url_option as $key => $seopress_advanced_advanced_category_url_value)
453
  $options[$key] = $seopress_advanced_advanced_category_url_value;
454
- if (isset($seopress_advanced_advanced_category_url_option['seopress_advanced_advanced_category_url'])) {
455
  return $seopress_advanced_advanced_category_url_option['seopress_advanced_advanced_category_url'];
456
  }
457
  }
@@ -471,7 +484,7 @@ if (seopress_get_toggle_option('advanced') =='1') {
471
  }
472
  if ( is_array( $categories ) && ! empty( $categories ) ) {
473
  $slugs = array();
474
-
475
  foreach ( $categories as $category ) {
476
  if ( is_object( $category ) && ! is_wp_error( $category ) ) {
477
  if ( 0 == $category->category_parent )
@@ -480,10 +493,10 @@ if (seopress_get_toggle_option('advanced') =='1') {
480
  $slugs[] = trim( get_category_parents( $category->term_id, false, '/', true ), '/' );
481
  }
482
  }
483
-
484
  if ( ! empty( $slugs ) ) {
485
  $rules = array();
486
-
487
  foreach ( $slugs as $slug ) {
488
  $rules[ '(' . $slug . ')/feed/(feed|rdf|rss|rss2|atom)?/?$' ] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
489
  $rules[ '(' . $slug . ')/(feed|rdf|rss|rss2|atom)/?$' ] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
@@ -542,4 +555,4 @@ if (seopress_get_toggle_option('advanced') =='1') {
542
  }
543
  }
544
  }
545
- }
9
  if ( ! empty ( $seopress_advanced_advanced_trailingslash_option ) ) {
10
  foreach ($seopress_advanced_advanced_trailingslash_option as $key => $seopress_advanced_advanced_trailingslash_value)
11
  $options[$key] = $seopress_advanced_advanced_trailingslash_value;
12
+ if (isset($seopress_advanced_advanced_trailingslash_option['seopress_advanced_advanced_trailingslash'])) {
13
  return $seopress_advanced_advanced_trailingslash_option['seopress_advanced_advanced_trailingslash'];
14
  }
15
  }
34
  if ( ! empty ( $seopress_titles_archives_author_disable_option ) ) {
35
  foreach ($seopress_titles_archives_author_disable_option as $key => $seopress_titles_archives_author_disable_value)
36
  $options[$key] = $seopress_titles_archives_author_disable_value;
37
+ if (isset($seopress_titles_archives_author_disable_option['seopress_titles_archives_author_disable'])) {
38
  return $seopress_titles_archives_author_disable_option['seopress_titles_archives_author_disable'];
39
  }
40
  }
46
  if ( ! empty ( $seopress_titles_archives_date_disable_option ) ) {
47
  foreach ($seopress_titles_archives_date_disable_option as $key => $seopress_titles_archives_date_disable_value)
48
  $options[$key] = $seopress_titles_archives_date_disable_value;
49
+ if (isset($seopress_titles_archives_date_disable_option['seopress_titles_archives_date_disable'])) {
50
  return $seopress_titles_archives_date_disable_option['seopress_titles_archives_date_disable'];
51
  }
52
  }
77
  function seopress_titles_single_enable_option() {
78
  global $post;
79
  $seopress_get_current_cpt = get_post_type($post);
80
+
81
  $seopress_titles_single_enable_option = get_option("seopress_titles_option_name");
82
  if ( ! empty ( $seopress_titles_single_enable_option ) ) {
83
  foreach ($seopress_titles_single_enable_option as $key => $seopress_titles_single_enable_value)
84
  $options[$key] = $seopress_titles_single_enable_value;
85
+ if (isset($seopress_titles_single_enable_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['enable'])) {
86
  return $seopress_titles_single_enable_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['enable'];
87
  }
88
  }
89
  }
90
+ function seopress_titles_single_enable_metabox($seopress_get_post_types) {
91
  global $post;
92
  if (seopress_titles_single_enable_option() == 1 && get_post_type($post) !='') {
93
  unset($seopress_get_post_types[get_post_type($post)]);
98
  add_filter('seopress_metaboxe_content_analysis', 'seopress_titles_single_enable_metabox');
99
  add_filter('seopress_pro_metaboxe_sdt', 'seopress_titles_single_enable_metabox');
100
  }
101
+
102
  //Taxonomy?
103
  if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
104
  if (!empty($_GET['taxonomy'])) {
105
  $seopress_get_current_tax = sanitize_title(esc_attr($_GET['taxonomy']));
106
+
107
  function seopress_tax_single_enable_option($seopress_get_current_tax) {
108
  $seopress_tax_single_enable_option = get_option("seopress_titles_option_name");
109
  if ( ! empty ( $seopress_tax_single_enable_option ) ) {
110
  foreach ($seopress_tax_single_enable_option as $key => $seopress_tax_single_enable_value)
111
  $options[$key] = $seopress_tax_single_enable_value;
112
+ if (isset($seopress_tax_single_enable_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['enable'])) {
113
  return $seopress_tax_single_enable_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['enable'];
114
  }
115
  }
116
  }
117
+
118
  function seopress_tax_single_enable_metabox($seopress_get_taxonomies) {
119
  $seopress_get_current_tax = sanitize_title(esc_attr($_GET['taxonomy']));
120
  if (seopress_tax_single_enable_option($seopress_get_current_tax) == 1 && $seopress_get_current_tax !='') {
143
  }
144
  }
145
  if (seopress_get_toggle_option('social') =='1') {
146
+ // add_action('wp_head', 'seopress_load_oembed_options');
147
  // function seopress_load_oembed_options() {
148
  // if (!is_admin()){
149
  // require_once ( dirname( __FILE__ ) . '/options-oembed.php'); //Oembed
150
  // }
151
  // }
152
+
153
  add_action('wp_head', 'seopress_load_social_options', 0);
154
  function seopress_load_social_options() {
155
  if (!is_admin()){
168
  if ( ! empty ( $seopress_google_analytics_enable_option ) ) {
169
  foreach ($seopress_google_analytics_enable_option as $key => $seopress_google_analytics_enable_value)
170
  $options[$key] = $seopress_google_analytics_enable_value;
171
+ if (isset($seopress_google_analytics_enable_option['seopress_google_analytics_enable'])) {
172
  return $seopress_google_analytics_enable_option['seopress_google_analytics_enable'];
173
  }
174
  }
180
  if ( ! empty ( $seopress_google_analytics_ua_option ) ) {
181
  foreach ($seopress_google_analytics_ua_option as $key => $seopress_google_analytics_ua_value)
182
  $options[$key] = $seopress_google_analytics_ua_value;
183
+ if (isset($seopress_google_analytics_ua_option['seopress_google_analytics_ua'])) {
184
  return $seopress_google_analytics_ua_option['seopress_google_analytics_ua'];
185
  }
186
  }
192
  if ( ! empty ( $seopress_google_analytics_roles_option ) ) {
193
  foreach ($seopress_google_analytics_roles_option as $key => $seopress_google_analytics_roles_value)
194
  $options[$key] = $seopress_google_analytics_roles_value;
195
+ if (isset($seopress_google_analytics_roles_option['seopress_google_analytics_roles'])) {
196
  return $seopress_google_analytics_roles_option['seopress_google_analytics_roles'];
197
  }
198
  }
204
  if ( ! empty ( $seopress_google_analytics_ecommerce_enable_option ) ) {
205
  foreach ($seopress_google_analytics_ecommerce_enable_option as $key => $seopress_google_analytics_ecommerce_enable_value)
206
  $options[$key] = $seopress_google_analytics_ecommerce_enable_value;
207
+ if (isset($seopress_google_analytics_ecommerce_enable_option['seopress_google_analytics_e_commerce_enable'])) {
208
  return $seopress_google_analytics_ecommerce_enable_option['seopress_google_analytics_e_commerce_enable'];
209
  }
210
  }
248
 
249
  //User Consent JS
250
  function seopress_google_analytics_cookies_js() {
251
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
252
+ wp_register_script('seopress-cookies', plugins_url( 'assets/js/seopress-cookies' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [], SEOPRESS_VERSION, true);
253
  wp_enqueue_script('seopress-cookies');
254
 
255
+ wp_enqueue_script( 'seopress-cookies-ajax', plugins_url( 'assets/js/seopress-cookies-ajax' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery', 'seopress-cookies' ], SEOPRESS_VERSION, true );
256
 
257
+ $seopress_cookies_user_consent = [
258
+ 'seopress_nonce' => wp_create_nonce('seopress_cookies_user_consent_nonce'),
259
  'seopress_cookies_user_consent' => admin_url('admin-ajax.php'),
260
+ ];
261
  wp_localize_script( 'seopress-cookies-ajax', 'seopressAjaxGAUserConsent', $seopress_cookies_user_consent );
262
  }
263
+
264
  if (seopress_google_analytics_disable_option() =='1') {
265
  if (is_user_logged_in()) {
266
  global $wp_roles;
267
+
268
  //Get current user role
269
  if(isset(wp_get_current_user()->roles[0])) {
270
  $seopress_user_role = wp_get_current_user()->roles[0];
276
  add_action('wp_enqueue_scripts','seopress_google_analytics_cookies_js', 20, 1);
277
  }
278
  } else {
279
+ add_action('wp_enqueue_scripts','seopress_google_analytics_cookies_js', 20, 1);
280
  }
281
  } else {
282
  add_action('wp_enqueue_scripts','seopress_google_analytics_cookies_js', 20, 1);
295
  check_ajax_referer( 'seopress_cookies_user_consent_nonce', $_GET['_ajax_nonce'], true );
296
  if (is_user_logged_in()) {
297
  global $wp_roles;
298
+
299
  //Get current user role
300
  if(isset(wp_get_current_user()->roles[0])) {
301
  $seopress_user_role = wp_get_current_user()->roles[0];
352
  if (!is_admin()) {
353
  require_once ( dirname( __FILE__ ) . '/options-sitemap.php'); //XML / HTML Sitemap
354
  }
355
+ }
356
  }
357
  if (seopress_get_toggle_option('advanced') =='1') {
358
  //Remove comment author url
382
  }
383
  }
384
  if (seopress_advanced_advanced_comments_website_option() =='1') {
385
+ function seopress_advanced_advanced_comments_website_hook($fields) {
386
  unset($fields['url']);
387
  return $fields;
388
  }
391
 
392
  add_action('wp_head', 'seopress_load_advanced_options', 0);
393
  function seopress_load_advanced_options() {
394
+ if (!is_admin()){
395
  require_once ( dirname( __FILE__ ) . '/options-advanced.php'); //Advanced
396
  }
397
  }
404
  if ( ! empty ( $seopress_advanced_appearance_adminbar_option ) ) {
405
  foreach ($seopress_advanced_appearance_adminbar_option as $key => $seopress_advanced_appearance_adminbar_value)
406
  $options[$key] = $seopress_advanced_appearance_adminbar_value;
407
+ if (isset($seopress_advanced_appearance_adminbar_option['seopress_advanced_appearance_adminbar'])) {
408
  return $seopress_advanced_appearance_adminbar_option['seopress_advanced_appearance_adminbar'];
409
  }
410
  }
423
  $primary_cat = NULL;
424
  if (!is_admin()) {
425
  global $post;
426
+ global $product;
427
  }
428
  $post = get_post( $post );
429
+ $product = wc_get_product( $post->ID );
430
+
431
+ //if (isset($product) && method_exists($product, 'get_id') && get_post_meta($product->get_id(),'sp_wc_barcode_type_field', true)) {
432
+
433
 
434
  if ($post) {
435
  $_seopress_robots_primary_cat = get_post_meta($post->ID,'_seopress_robots_primary_cat',true);
 
436
  if (isset($_seopress_robots_primary_cat) && $_seopress_robots_primary_cat !='' && $_seopress_robots_primary_cat !='none') {
437
  if ($post->post_type !=NULL && $post->post_type =='post') {
438
  $primary_cat = get_category($_seopress_robots_primary_cat);
451
  }
452
  }
453
  add_filter( 'post_link_category', 'seopress_titles_primary_cat_hook', 10, 3 );
454
+ //add_filter( 'post_link', 'seopress_titles_primary_cat_hook', 10, 3 );
455
+ //add_filter( 'post_type_link', 'seopress_titles_primary_cat_hook', 10, 3 );
456
+ //https://developer.wordpress.org/reference/hooks/post_link_category/
457
+ //https://developer.wordpress.org/reference/hooks/post_type_link/
458
+ //https://rudrastyh.com/wordpress/taxonomy-slug-in-post-type-url.html
459
+ //https://rudrastyh.com/plugins/meta-boxes-options-pages#gutenbers_sidebars
460
+
461
  //No /category/ in URL
462
  function seopress_advanced_advanced_category_url_option() {
463
  $seopress_advanced_advanced_category_url_option = get_option("seopress_advanced_option_name");
464
  if ( ! empty ( $seopress_advanced_advanced_category_url_option ) ) {
465
  foreach ($seopress_advanced_advanced_category_url_option as $key => $seopress_advanced_advanced_category_url_value)
466
  $options[$key] = $seopress_advanced_advanced_category_url_value;
467
+ if (isset($seopress_advanced_advanced_category_url_option['seopress_advanced_advanced_category_url'])) {
468
  return $seopress_advanced_advanced_category_url_option['seopress_advanced_advanced_category_url'];
469
  }
470
  }
484
  }
485
  if ( is_array( $categories ) && ! empty( $categories ) ) {
486
  $slugs = array();
487
+
488
  foreach ( $categories as $category ) {
489
  if ( is_object( $category ) && ! is_wp_error( $category ) ) {
490
  if ( 0 == $category->category_parent )
493
  $slugs[] = trim( get_category_parents( $category->term_id, false, '/', true ), '/' );
494
  }
495
  }
496
+
497
  if ( ! empty( $slugs ) ) {
498
  $rules = array();
499
+
500
  foreach ( $slugs as $slug ) {
501
  $rules[ '(' . $slug . ')/feed/(feed|rdf|rss|rss2|atom)?/?$' ] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
502
  $rules[ '(' . $slug . ')/(feed|rdf|rss|rss2|atom)/?$' ] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
555
  }
556
  }
557
  }
558
+ }
inc/functions/sitemap/template-xml-sitemaps-author.php CHANGED
@@ -10,7 +10,7 @@ if (function_exists('seopress_sitemaps_headers')) {
10
 
11
  //WPML
12
  function seopress_remove_wpml_home_url_filter( $home_url, $url, $path, $orig_scheme, $blog_id ) {
13
- return $url;
14
  }
15
  add_filter( 'wpml_get_home_url', 'seopress_remove_wpml_home_url_filter', 20, 5 );
16
 
@@ -22,28 +22,36 @@ function seopress_xml_sitemap_author() {
22
  $home_url = home_url().'/';
23
 
24
  if (function_exists('pll_home_url')) {
25
- $home_url = site_url().'/';
26
- }
27
 
28
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
29
  $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
30
  $seopress_sitemaps .= "\n";
31
- $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
32
-
33
- $args = array('fields' => 'ID', 'orderby' => 'nicename', 'order' => 'ASC', 'has_published_posts' => array('post'), 'blog_id' => absint(get_current_blog_id()), 'lang' => '');
34
- $args = apply_filters('seopress_sitemaps_author_query', $args);
35
-
36
- $authorslist = get_users($args);
37
-
38
- foreach ( $authorslist as $author ) {
39
- $seopress_sitemaps .= "\n";
40
- $seopress_sitemaps .= '<url>';
41
- $seopress_sitemaps .= "\n";
42
- $seopress_sitemaps .= '<loc>';
43
- $seopress_sitemaps .= htmlspecialchars(urldecode(esc_url(get_author_posts_url($author))));
44
- $seopress_sitemaps .= '</loc>';
45
- $seopress_sitemaps .= "\n";
46
- $seopress_sitemaps .= '</url>';
 
 
 
 
 
 
 
 
47
  }
48
  $seopress_sitemaps .= '</urlset>';
49
  $seopress_sitemaps .= "\n";
10
 
11
  //WPML
12
  function seopress_remove_wpml_home_url_filter( $home_url, $url, $path, $orig_scheme, $blog_id ) {
13
+ return $url;
14
  }
15
  add_filter( 'wpml_get_home_url', 'seopress_remove_wpml_home_url_filter', 20, 5 );
16
 
22
  $home_url = home_url().'/';
23
 
24
  if (function_exists('pll_home_url')) {
25
+ $home_url = site_url().'/';
26
+ }
27
 
28
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
29
  $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
30
  $seopress_sitemaps .= "\n";
31
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_urlset', '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' );
32
+ $args = array('fields' => 'ID', 'orderby' => 'nicename', 'order' => 'ASC', 'has_published_posts' => array('post'), 'blog_id' => absint(get_current_blog_id()), 'lang' => '');
33
+ $args = apply_filters('seopress_sitemaps_author_query', $args);
34
+
35
+ $authorslist = get_users($args);
36
+
37
+ foreach ( $authorslist as $author ) {
38
+ $seopress_sitemaps_url = '';
39
+ // array with all the information needed for a sitemap url
40
+ $seopress_url = array(
41
+ 'loc' => htmlspecialchars(urldecode(esc_url(get_author_posts_url($author)))),
42
+ 'mod' => '',
43
+ 'images' => array()
44
+ );
45
+ $seopress_sitemaps_url .= "\n";
46
+ $seopress_sitemaps_url .= '<url>';
47
+ $seopress_sitemaps_url .= "\n";
48
+ $seopress_sitemaps_url .= '<loc>';
49
+ $seopress_sitemaps_url .= $seopress_url['loc'];
50
+ $seopress_sitemaps_url .= '</loc>';
51
+ $seopress_sitemaps_url .= "\n";
52
+ $seopress_sitemaps_url .= '</url>';
53
+
54
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_url', $seopress_sitemaps_url, $seopress_url);
55
  }
56
  $seopress_sitemaps .= '</urlset>';
57
  $seopress_sitemaps .= "\n";
inc/functions/sitemap/template-xml-sitemaps-single-term.php CHANGED
@@ -38,20 +38,30 @@ function seopress_xml_sitemap_single_term() {
38
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
39
  $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
40
  $seopress_sitemaps .= "\n";
41
- $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';
42
  $args = array('taxonomy' => $path,'hide_empty' => false, 'number' => 1000, 'meta_query' => array( array( 'key' => '_seopress_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS' ) ), 'fields' => 'ids', 'lang' => '');
43
 
44
  $args = apply_filters('seopress_sitemaps_single_term_query', $args, $path);
45
  $termslist = get_terms( $args );
46
  foreach ( $termslist as $term ) {
47
- $seopress_sitemaps .= "\n";
48
- $seopress_sitemaps .= '<url>';
49
- $seopress_sitemaps .= "\n";
50
- $seopress_sitemaps .= '<loc>';
51
- $seopress_sitemaps .= htmlspecialchars(urldecode(esc_url(get_term_link($term))));
52
- $seopress_sitemaps .= '</loc>';
53
- $seopress_sitemaps .= "\n";
54
- $seopress_sitemaps .= '</url>';
 
 
 
 
 
 
 
 
 
 
55
  }
56
  $seopress_sitemaps .= '</urlset>';
57
  $seopress_sitemaps .= "\n";
38
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
39
  $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
40
  $seopress_sitemaps .= "\n";
41
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_urlset', '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' );
42
  $args = array('taxonomy' => $path,'hide_empty' => false, 'number' => 1000, 'meta_query' => array( array( 'key' => '_seopress_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS' ) ), 'fields' => 'ids', 'lang' => '');
43
 
44
  $args = apply_filters('seopress_sitemaps_single_term_query', $args, $path);
45
  $termslist = get_terms( $args );
46
  foreach ( $termslist as $term ) {
47
+ $seopress_sitemaps_url = '';
48
+ // array with all the information needed for a sitemap url
49
+ $seopress_url = array(
50
+ 'loc' => htmlspecialchars(urldecode(esc_url(get_term_link($term)))),
51
+ 'mod' => '',
52
+ 'images' => array()
53
+ );
54
+
55
+ $seopress_sitemaps_url .= "\n";
56
+ $seopress_sitemaps_url .= '<url>';
57
+ $seopress_sitemaps_url .= "\n";
58
+ $seopress_sitemaps_url .= '<loc>';
59
+ $seopress_sitemaps_url .= $seopress_url['loc'];
60
+ $seopress_sitemaps_url .= '</loc>';
61
+ $seopress_sitemaps_url .= "\n";
62
+ $seopress_sitemaps_url .= '</url>';
63
+
64
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_url', $seopress_sitemaps_url, $seopress_url);
65
  }
66
  $seopress_sitemaps .= '</urlset>';
67
  $seopress_sitemaps .= "\n";
inc/functions/sitemap/template-xml-sitemaps-single.php CHANGED
@@ -13,18 +13,18 @@ remove_filter( 'post_link_category', 'seopress_titles_primary_cat_hook', 10, 3 )
13
 
14
  //WPML
15
  function seopress_remove_wpml_home_url_filter( $home_url, $url, $path, $orig_scheme, $blog_id ) {
16
- return $url;
17
  }
18
  add_filter( 'wpml_get_home_url', 'seopress_remove_wpml_home_url_filter', 20, 5 );
19
 
20
  add_filter( 'seopress_sitemaps_single_query', function( $args ) {
21
- global $sitepress, $sitepress_settings;
22
 
23
- $sitepress_settings['auto_adjust_ids'] = 0;
24
- remove_filter( 'terms_clauses', array( $sitepress, 'terms_clauses' ) );
25
- remove_filter( 'category_link', array( $sitepress, 'category_link_adjust_id' ), 1 );
26
 
27
- return $args;
28
  });
29
 
30
  add_action( 'the_post', function( $post ) {
@@ -69,65 +69,85 @@ function seopress_xml_sitemap_single() {
69
  $home_url = home_url().'/';
70
 
71
  if (function_exists('pll_home_url')) {
72
- $home_url = site_url().'/';
73
- }
74
 
75
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
76
  $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
77
  $seopress_sitemaps .= "\n";
78
- $seopress_sitemaps .= '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">';
79
  $seopress_sitemaps .= "\n";
80
 
81
- if (get_post_type_archive_link($path) ==true && $offset ==0) {
82
- function seopress_titles_cpt_noindex_option($path) {
83
- $seopress_titles_cpt_noindex_option = get_option("seopress_titles_option_name");
84
- if ( ! empty ( $seopress_titles_cpt_noindex_option ) ) {
85
- foreach ($seopress_titles_cpt_noindex_option as $key => $seopress_titles_cpt_noindex_value)
86
- $options[$key] = $seopress_titles_cpt_noindex_value;
87
- if (isset($seopress_titles_cpt_noindex_option['seopress_titles_archive_titles'][$path]['noindex'])) {
88
- return $seopress_titles_cpt_noindex_option['seopress_titles_archive_titles'][$path]['noindex'];
89
- }
90
  }
91
- }
92
- if (seopress_titles_cpt_noindex_option($path) !='1') {
93
- $seopress_sitemaps .= '<url>';
94
- $seopress_sitemaps .= "\n";
95
- $seopress_sitemaps .= '<loc>';
96
- $seopress_sitemaps .= htmlspecialchars(urldecode(get_post_type_archive_link($path)));
97
- $seopress_sitemaps .= '</loc>';
98
- $seopress_sitemaps .= "\n";
99
- $seopress_sitemaps .= '</url>';
100
- $seopress_sitemaps .= "\n";
101
- }
102
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
103
 
104
- $args = array( 'posts_per_page' => 1000, 'offset' => $offset, 'order' => 'DESC', 'orderby' => 'modified', 'post_type' => $path, 'post_status' => 'publish', 'meta_query' => array( array( 'key' => '_seopress_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS' ) ), 'fields' => 'ids', 'lang' => '', 'has_password' => false );
105
-
106
- $args = apply_filters('seopress_sitemaps_single_query', $args, $path);
107
-
108
- $postslist = get_posts( $args );
109
-
110
- foreach ( $postslist as $post ) {
111
- setup_postdata( $post );
112
-
113
- $dom = '';
114
- $images = '';
115
-
116
- $seopress_sitemaps .= '<url>';
117
- $seopress_sitemaps .= "\n";
118
- $seopress_sitemaps .= '<loc>';
119
- $seopress_sitemaps .= htmlspecialchars(urldecode(get_permalink($post)));
120
- $seopress_sitemaps .= '</loc>';
121
- $seopress_sitemaps .= "\n";
122
- $seopress_sitemaps .= '<lastmod>';
123
- if (get_the_modified_date('c', $post)) {
124
- $seopress_sitemaps .= get_the_modified_date('c', $post);
125
- } else {
126
- $seopress_sitemaps .= get_post_modified_time('c', false, $post);
127
- }
128
- $seopress_sitemaps .= '';
129
- $seopress_sitemaps .= '</lastmod>';
130
- $seopress_sitemaps .= "\n";
 
 
 
 
 
 
 
 
 
 
 
131
 
132
  //XML Image Sitemaps
133
  if (seopress_xml_sitemap_img_enable_option() =='1') {
@@ -164,153 +184,213 @@ function seopress_xml_sitemap_single() {
164
  libxml_use_internal_errors($internalErrors);
165
  }
166
 
167
- //WooCommerce
168
- global $product;
169
- if ($product !='' && method_exists($product, 'get_gallery_image_ids')) {
170
- $product_img = $product->get_gallery_image_ids();
171
- }
172
-
173
- //Post Thumbnail
174
- $post_thumbnail = get_the_post_thumbnail_url($post);
175
- $post_thumbnail_id = get_post_thumbnail_id($post);
176
-
177
- if ((isset($images) && !empty ($images) && $images->length>=1) || (isset($product) && !empty($product_img)) || $post_thumbnail !='') {
178
-
179
- //Standard img
180
- if (isset($images) && !empty ($images)) {
181
- if ($images->length>=1) {
182
- foreach($images as $img) {
183
- $url = $img->getAttribute('src');
184
- $url = apply_filters( 'seopress_sitemaps_single_img_url', $url );
185
- if ($url !='') {
186
- //Exclude Base64 img
187
- if (strpos($url, 'data:image/') === false) {
188
- if (seopress_is_absolute($url) === true) {
189
- //do nothing
190
- } else {
191
- $url = $home_url.$url;
192
- }
193
-
194
- //cleaning url
195
- $url = htmlspecialchars(urldecode(esc_attr(wp_filter_nohtml_kses($url))));
196
-
197
- //remove query strings
198
- $parse_url = wp_parse_url($url);
199
-
200
- $seopress_sitemaps .= '<image:image>';
201
- $seopress_sitemaps .= "\n";
202
- $seopress_sitemaps .= '<image:loc>';
203
-
204
- if (!empty($parse_url['scheme']) && !empty($parse_url['host']) && !empty($parse_url['path'])) {
205
- $seopress_sitemaps .= '<![CDATA['.$parse_url['scheme'].'://'.$parse_url['host'].$parse_url['path'].']]>';
206
- } else {
207
- $seopress_sitemaps .= '<![CDATA['.$url.']]>';
208
- }
209
-
210
- $seopress_sitemaps .= '</image:loc>';
211
- $seopress_sitemaps .= "\n";
212
-
213
- if ($img->getAttribute('title') !='') {
214
- $title = htmlspecialchars($img->getAttribute('title'));
215
-
216
- $seopress_sitemaps .= '<image:title>';
217
- $seopress_sitemaps .= '<![CDATA['.$title.']]>';
218
- $seopress_sitemaps .= '</image:title>';
219
- $seopress_sitemaps .= "\n";
220
- }
221
-
222
- if ($img->getAttribute('alt') !='') {
223
- $caption = htmlspecialchars($img->getAttribute('alt'));
224
-
225
- $seopress_sitemaps .= '<image:caption>';
226
- $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
227
- $seopress_sitemaps .= '</image:caption>';
228
- $seopress_sitemaps .= "\n";
229
- }
230
-
231
- $seopress_sitemaps .= '</image:image>';
232
- }
233
- }
234
- }
235
- }
236
- }
237
-
238
- //WooCommerce img
239
- if ($product !='' && $product_img !='') {
240
- foreach( $product_img as $product_attachment_id ) {
241
- $seopress_sitemaps .= '<image:image>';
242
- $seopress_sitemaps .= "\n";
243
- $seopress_sitemaps .= '<image:loc>';
244
- $seopress_sitemaps .= '<![CDATA['.esc_attr(wp_filter_nohtml_kses(wp_get_attachment_url( $product_attachment_id ))).']]>';
245
- $seopress_sitemaps .= '</image:loc>';
246
- $seopress_sitemaps .= "\n";
247
-
248
- if (get_the_title($product_attachment_id) !='') {
249
- $title = htmlspecialchars(get_the_title($product_attachment_id));
250
-
251
- $seopress_sitemaps .= '<image:title>';
252
- $seopress_sitemaps .= '<![CDATA['.$title.']]>';
253
- $seopress_sitemaps .= '</image:title>';
254
- $seopress_sitemaps .= "\n";
255
- }
256
-
257
- if (get_post_meta($product_attachment_id, '_wp_attachment_image_alt', true) !='') {
258
- $caption = htmlspecialchars(get_post_meta($product_attachment_id, '_wp_attachment_image_alt', true));
259
-
260
- $seopress_sitemaps .= '<image:caption>';
261
- $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
262
- $seopress_sitemaps .= '</image:caption>';
263
- $seopress_sitemaps .= "\n";
264
- }
265
-
266
- $seopress_sitemaps .= '</image:image>';
267
- }
268
- }
269
- //Post thumbnail
270
- if ($post_thumbnail !='') {
271
- $seopress_sitemaps .= '<image:image>';
272
- $seopress_sitemaps .= "\n";
273
- $seopress_sitemaps .= '<image:loc>';
274
- $seopress_sitemaps .= '<![CDATA['.$post_thumbnail.']]>';
275
- $seopress_sitemaps .= '</image:loc>';
276
- $seopress_sitemaps .= "\n";
277
-
278
- if (get_the_title($post_thumbnail_id) !='') {
279
- $title = htmlspecialchars(get_the_title($post_thumbnail_id));
280
-
281
- $seopress_sitemaps .= '<image:title>';
282
- $seopress_sitemaps .= '<![CDATA['.$title.']]>';
283
- $seopress_sitemaps .= '</image:title>';
284
- $seopress_sitemaps .= "\n";
285
- }
286
-
287
- if (get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true) !='') {
288
- $caption = htmlspecialchars(get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true));
289
-
290
- $seopress_sitemaps .= '<image:caption>';
291
- $seopress_sitemaps .= '<![CDATA['.$caption.']]>';
292
- $seopress_sitemaps .= '</image:caption>';
293
- $seopress_sitemaps .= "\n";
294
- }
295
-
296
- $seopress_sitemaps .= '</image:image>';
297
- }
298
-
299
- $seopress_sitemaps .= "\n";
300
-
301
- $seopress_sitemaps = apply_filters('seopress_sitemaps_single_img', $seopress_sitemaps, $post);
302
- }
303
- }
304
- }
305
- $seopress_sitemaps .= '</url>';
306
- $seopress_sitemaps .= "\n";
307
- }
308
- wp_reset_postdata();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
309
 
310
- $seopress_sitemaps .= '</urlset>';
311
 
312
- $seopress_sitemaps = apply_filters( 'seopress_sitemaps_xml_single', $seopress_sitemaps );
313
 
314
- return $seopress_sitemaps;
315
- }
316
  echo seopress_xml_sitemap_single();
13
 
14
  //WPML
15
  function seopress_remove_wpml_home_url_filter( $home_url, $url, $path, $orig_scheme, $blog_id ) {
16
+ return $url;
17
  }
18
  add_filter( 'wpml_get_home_url', 'seopress_remove_wpml_home_url_filter', 20, 5 );
19
 
20
  add_filter( 'seopress_sitemaps_single_query', function( $args ) {
21
+ global $sitepress, $sitepress_settings;
22
 
23
+ $sitepress_settings['auto_adjust_ids'] = 0;
24
+ remove_filter( 'terms_clauses', array( $sitepress, 'terms_clauses' ) );
25
+ remove_filter( 'category_link', array( $sitepress, 'category_link_adjust_id' ), 1 );
26
 
27
+ return $args;
28
  });
29
 
30
  add_action( 'the_post', function( $post ) {
69
  $home_url = home_url().'/';
70
 
71
  if (function_exists('pll_home_url')) {
72
+ $home_url = site_url().'/';
73
+ }
74
 
75
  $seopress_sitemaps = '<?xml version="1.0" encoding="UTF-8"?>';
76
  $seopress_sitemaps .='<?xml-stylesheet type="text/xsl" href="'.$home_url.'sitemaps_xsl.xsl"?>';
77
  $seopress_sitemaps .= "\n";
78
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_urlset', '<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">' );
79
  $seopress_sitemaps .= "\n";
80
 
81
+ if (get_post_type_archive_link($path) ==true && $offset ==0) {
82
+ function seopress_titles_cpt_noindex_option($path) {
83
+ $seopress_titles_cpt_noindex_option = get_option("seopress_titles_option_name");
84
+ if ( ! empty ( $seopress_titles_cpt_noindex_option ) ) {
85
+ foreach ($seopress_titles_cpt_noindex_option as $key => $seopress_titles_cpt_noindex_value)
86
+ $options[$key] = $seopress_titles_cpt_noindex_value;
87
+ if (isset($seopress_titles_cpt_noindex_option['seopress_titles_archive_titles'][$path]['noindex'])) {
88
+ return $seopress_titles_cpt_noindex_option['seopress_titles_archive_titles'][$path]['noindex'];
 
89
  }
 
 
 
 
 
 
 
 
 
 
 
90
  }
91
+ }
92
+ if (seopress_titles_cpt_noindex_option($path) !='1') {
93
+ $seopress_sitemap_url = '';
94
+ // array with all the information needed for a sitemap url
95
+ $seopress_url = array(
96
+ 'loc' => htmlspecialchars(urldecode(get_post_type_archive_link($path))),
97
+ 'mod' => '',
98
+ 'images' => array()
99
+ );
100
+ $seopress_sitemap_url .= '<url>';
101
+ $seopress_sitemap_url .= "\n";
102
+ $seopress_sitemap_url .= '<loc>';
103
+ $seopress_sitemap_url .= htmlspecialchars(urldecode(get_post_type_archive_link($path)));
104
+ $seopress_sitemap_url .= '</loc>';
105
+ $seopress_sitemap_url .= "\n";
106
+ $seopress_sitemap_url .= '</url>';
107
+ $seopress_sitemap_url .= "\n";
108
+
109
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_url', $seopress_sitemap_url, $seopress_url);
110
+ }
111
+ }
112
 
113
+ $args = array( 'posts_per_page' => 1000, 'offset' => $offset, 'order' => 'DESC', 'orderby' => 'modified', 'post_type' => $path, 'post_status' => 'publish', 'meta_query' => array( array( 'key' => '_seopress_robots_index', 'value' => 'yes', 'compare' => 'NOT EXISTS' ) ), 'fields' => 'ids', 'lang' => '', 'has_password' => false );
114
+
115
+ $args = apply_filters('seopress_sitemaps_single_query', $args, $path);
116
+
117
+ $postslist = get_posts( $args );
118
+
119
+ foreach ( $postslist as $post ) {
120
+ setup_postdata( $post );
121
+
122
+ $dom = '';
123
+ $images = '';
124
+
125
+ if (get_the_modified_date('c', $post)) {
126
+ $seopress_mod = get_the_modified_date('c', $post);
127
+ } else {
128
+ $seopress_mod = get_post_modified_time('c', false, $post);
129
+ }
130
+
131
+ // initialize the sitemap url output
132
+ $seopress_sitemap_url = '';
133
+ // array with all the information needed for a sitemap url
134
+ $seopress_url = array(
135
+ 'loc' => htmlspecialchars(urldecode(get_permalink($post))),
136
+ 'mod' => $seopress_mod,
137
+ 'images' => array()
138
+ );
139
+
140
+ $seopress_sitemap_url .= '<url>';
141
+ $seopress_sitemap_url .= "\n";
142
+ $seopress_sitemap_url .= '<loc>';
143
+ $seopress_sitemap_url .= $seopress_url['loc'];
144
+ $seopress_sitemap_url .= '</loc>';
145
+ $seopress_sitemap_url .= "\n";
146
+ $seopress_sitemap_url .= '<lastmod>';
147
+ $seopress_sitemap_url .= $seopress_url['mod'];
148
+ $seopress_sitemap_url .= '';
149
+ $seopress_sitemap_url .= '</lastmod>';
150
+ $seopress_sitemap_url .= "\n";
151
 
152
  //XML Image Sitemaps
153
  if (seopress_xml_sitemap_img_enable_option() =='1') {
184
  libxml_use_internal_errors($internalErrors);
185
  }
186
 
187
+ //WooCommerce
188
+ global $product;
189
+ if ($product !='' && method_exists($product, 'get_gallery_image_ids')) {
190
+ $product_img = $product->get_gallery_image_ids();
191
+ }
192
+
193
+ //Post Thumbnail
194
+ $post_thumbnail = get_the_post_thumbnail_url($post);
195
+ $post_thumbnail_id = get_post_thumbnail_id($post);
196
+
197
+ if ((isset($images) && !empty ($images) && $images->length>=1) || (isset($product) && !empty($product_img)) || $post_thumbnail !='') {
198
+
199
+ //Standard img
200
+ if (isset($images) && !empty ($images)) {
201
+ if ($images->length>=1) {
202
+ foreach($images as $img) {
203
+ $url = $img->getAttribute('src');
204
+ $url = apply_filters( 'seopress_sitemaps_single_img_url', $url );
205
+ if ($url !='') {
206
+ //Exclude Base64 img
207
+ if (strpos($url, 'data:image/') === false) {
208
+ /*
209
+ * Initiate $seopress_url['images] and needed data for the sitemap image template
210
+ */
211
+
212
+ if (seopress_is_absolute($url) === true) {
213
+ //do nothing
214
+ } else {
215
+ $url = $home_url.$url;
216
+ }
217
+
218
+ //cleaning url
219
+ $url = htmlspecialchars(urldecode(esc_attr(wp_filter_nohtml_kses($url))));
220
+
221
+ //remove query strings
222
+ $parse_url = wp_parse_url($url);
223
+
224
+ if (!empty($parse_url['scheme']) && !empty($parse_url['host']) && !empty($parse_url['path'])) {
225
+ $seopress_image_loc = '<![CDATA['.$parse_url['scheme'].'://'.$parse_url['host'].$parse_url['path'].']]>';
226
+ } else {
227
+ $seopress_image_loc = '<![CDATA['.$url.']]>';
228
+ }
229
+ $seopress_image_caption = '';
230
+ if ($img->getAttribute('alt') !='') {
231
+ $caption = htmlspecialchars($img->getAttribute('alt'));
232
+ $seopress_image_caption = '<![CDATA['.$caption.']]>';
233
+ }
234
+ $seopress_image_title = '';
235
+ if ($img->getAttribute('title') !='') {
236
+ $title = htmlspecialchars($img->getAttribute('title'));
237
+ $seopress_image_title = '<![CDATA['.$title.']]>';
238
+ }
239
+
240
+ $seopress_url['images'][] = array(
241
+ 'src' => $seopress_image_loc,
242
+ 'title' => $seopress_image_title,
243
+ 'alt' => $seopress_image_caption
244
+ );
245
+
246
+ /*
247
+ * Build up the template.
248
+ */
249
+ $seopress_sitemap_url .= '<image:image>';
250
+ $seopress_sitemap_url .= "\n";
251
+ $seopress_sitemap_url .= '<image:loc>';
252
+ $seopress_sitemap_url .= $seopress_image_loc;
253
+ $seopress_sitemap_url .= '</image:loc>';
254
+ $seopress_sitemap_url .= "\n";
255
+
256
+ if ($seopress_image_title !='') {
257
+ $seopress_sitemap_url .= '<image:title>';
258
+ $seopress_sitemap_url .= $seopress_image_title;
259
+ $seopress_sitemap_url .= '</image:title>';
260
+ $seopress_sitemap_url .= "\n";
261
+ }
262
+
263
+ if ($seopress_image_caption !='') {
264
+ $seopress_sitemap_url .= '<image:caption>';
265
+ $seopress_sitemap_url .= $seopress_image_caption;
266
+ $seopress_sitemap_url .= '</image:caption>';
267
+ $seopress_sitemap_url .= "\n";
268
+ }
269
+
270
+ $seopress_sitemap_url .= '</image:image>';
271
+ $seopress_sitemap_url .= "\n";
272
+ }
273
+ }
274
+ }
275
+ }
276
+ }
277
+
278
+ //WooCommerce img
279
+ if ($product !='' && $product_img !='') {
280
+ foreach( $product_img as $product_attachment_id ) {
281
+
282
+ $seopress_image_loc = '<![CDATA['.esc_attr(wp_filter_nohtml_kses(wp_get_attachment_url( $product_attachment_id ))).']]>';
283
+
284
+ $seopress_image_title = '';
285
+ if (get_the_title($product_attachment_id) !='') {
286
+ $title = htmlspecialchars(get_the_title($product_attachment_id));
287
+ $seopress_image_title .= '<![CDATA['.$title.']]>';
288
+ }
289
+
290
+ $seopress_image_caption = '';
291
+ if (get_post_meta($product_attachment_id, '_wp_attachment_image_alt', true) !='') {
292
+ $caption = htmlspecialchars(get_post_meta($product_attachment_id, '_wp_attachment_image_alt', true));
293
+ $seopress_image_caption .= '<![CDATA['.$caption.']]>';
294
+ }
295
+
296
+ $seopress_url['images'][] = array(
297
+ 'src' => $seopress_image_loc,
298
+ 'title' => $seopress_image_title,
299
+ 'caption' => $seopress_image_caption
300
+ );
301
+
302
+ /*
303
+ * Build up the template.
304
+ */
305
+ $seopress_sitemap_url .= '<image:image>';
306
+ $seopress_sitemap_url .= "\n";
307
+ $seopress_sitemap_url .= '<image:loc>';
308
+ $seopress_sitemap_url .= $seopress_image_loc;
309
+ $seopress_sitemap_url .= '</image:loc>';
310
+ $seopress_sitemap_url .= "\n";
311
+
312
+ if ($seopress_image_title !='') {
313
+ $seopress_sitemap_url .= '<image:title>';
314
+ $seopress_sitemap_url .= $seopress_image_title;
315
+ $seopress_sitemap_url .= '</image:title>';
316
+ $seopress_sitemap_url .= "\n";
317
+ }
318
+
319
+ if ( $seopress_image_caption !='') {
320
+ $seopress_sitemap_url .= '<image:caption>';
321
+ $seopress_sitemap_url .= $seopress_image_caption;
322
+ $seopress_sitemap_url .= '</image:caption>';
323
+ $seopress_sitemap_url .= "\n";
324
+ }
325
+
326
+ $seopress_sitemap_url .= '</image:image>';
327
+ $seopress_sitemap_url .= "\n";
328
+ }
329
+ }
330
+ //Post thumbnail
331
+ if ($post_thumbnail !='') {
332
+
333
+ $seopress_image_loc = '<![CDATA['.$post_thumbnail.']]>';
334
+
335
+ $seopress_image_title = '';
336
+ if (get_the_title($post_thumbnail_id) !='') {
337
+ $title = htmlspecialchars(get_the_title($post_thumbnail_id));
338
+ $seopress_image_title = '<![CDATA['.$title.']]>';
339
+ }
340
+
341
+ $seopress_image_caption = '';
342
+ if (get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true) !='') {
343
+ $caption = htmlspecialchars(get_post_meta($post_thumbnail_id, '_wp_attachment_image_alt', true));
344
+ $seopress_image_caption .= '<![CDATA['.$caption.']]>';
345
+ }
346
+
347
+ $seopress_url['images'][] = array(
348
+ 'src' => $seopress_image_loc,
349
+ 'title' => $seopress_image_title,
350
+ 'caption' => $seopress_image_caption
351
+ );
352
+
353
+ /*
354
+ * Build up the template.
355
+ */
356
+ $seopress_sitemap_url .= '<image:image>';
357
+ $seopress_sitemap_url .= "\n";
358
+ $seopress_sitemap_url .= '<image:loc>';
359
+ $seopress_sitemap_url .= $seopress_image_loc;
360
+ $seopress_sitemap_url .= '</image:loc>';
361
+ $seopress_sitemap_url .= "\n";
362
+
363
+ if ($seopress_image_title !='') {
364
+ $seopress_sitemap_url .= '<image:title>';
365
+ $seopress_sitemap_url .= $seopress_image_title;
366
+ $seopress_sitemap_url .= '</image:title>';
367
+ $seopress_sitemap_url .= "\n";
368
+ }
369
+
370
+ if ($seopress_image_caption !='') {
371
+ $seopress_sitemap_url .= '<image:caption>';
372
+ $seopress_sitemap_url .= $seopress_image_caption;
373
+ $seopress_sitemap_url .= '</image:caption>';
374
+ $seopress_sitemap_url .= "\n";
375
+ }
376
+
377
+ $seopress_sitemap_url .= '</image:image>';
378
+ }
379
+
380
+ $seopress_sitemap_url = apply_filters('seopress_sitemaps_single_img', $seopress_sitemap_url, $post);
381
+ }
382
+ }
383
+ }
384
+ $seopress_sitemap_url .= '</url>';
385
+ $seopress_sitemap_url .= "\n";
386
+ $seopress_sitemaps .= apply_filters('seopress_sitemaps_url', $seopress_sitemap_url, $seopress_url);
387
+ }
388
+ wp_reset_postdata();
389
 
390
+ $seopress_sitemaps .= '</urlset>';
391
 
392
+ $seopress_sitemaps = apply_filters( 'seopress_sitemaps_xml_single', $seopress_sitemaps );
393
 
394
+ return $seopress_sitemaps;
395
+ }
396
  echo seopress_xml_sitemap_single();
inc/functions/sitemap/template-xml-sitemaps.php CHANGED
@@ -53,7 +53,8 @@ function seopress_xml_sitemap_index() {
53
 
54
  //Polylang
55
  if (function_exists('pll_home_url')) {
56
- $count_posts = pll_count_posts(pll_current_language());
 
57
  } else {
58
  $count_posts = wp_count_posts($cpt_key);
59
  }
@@ -63,7 +64,10 @@ function seopress_xml_sitemap_index() {
63
  $max = apply_filters('seopress_sitemaps_max_posts_per_sitemap', $max);
64
 
65
  $published_posts = '';
66
- if (isset($count_posts->publish)) {
 
 
 
67
  $published_posts = $count_posts->publish;
68
  }
69
 
53
 
54
  //Polylang
55
  if (function_exists('pll_home_url')) {
56
+ $args = ['post_type' => $cpt_key];
57
+ $count_posts = pll_count_posts(pll_current_language(), $args);
58
  } else {
59
  $count_posts = wp_count_posts($cpt_key);
60
  }
64
  $max = apply_filters('seopress_sitemaps_max_posts_per_sitemap', $max);
65
 
66
  $published_posts = '';
67
+ //Polylang
68
+ if (function_exists('pll_count_posts') && isset($count_posts)) {
69
+ $published_posts = $count_posts;
70
+ } elseif (isset($count_posts->publish)) {
71
  $published_posts = $count_posts->publish;
72
  }
73
 
inc/functions/variables/dynamic-variables.php CHANGED
@@ -71,10 +71,9 @@ if (is_singular() && isset($post->post_author)){
71
  $author_bio = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes(get_the_author_meta('description', $post->post_author))))));
72
  }
73
 
74
- if (is_author() && NULL !== get_queried_object()) {
75
- $author = get_queried_object();
76
- $the_author_meta = $author->display_name;
77
- $author_bio = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes(get_the_author_meta('description', $author->ID))))));
78
  }
79
 
80
  if (is_singular() && isset($post)) {
71
  $author_bio = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes(get_the_author_meta('description', $post->post_author))))));
72
  }
73
 
74
+ if (is_author()) {
75
+ $the_author_meta = get_the_author_meta('display_name');
76
+ $author_bio = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes(get_the_author_meta('description'))))));
 
77
  }
78
 
79
  if (is_singular() && isset($post)) {
languages/wp-seopress.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: SEOPress\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
6
- "POT-Creation-Date: 2020-02-07 17:54+0100\n"
7
  "PO-Revision-Date: 2019-08-22 12:52+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
@@ -11,369 +11,326 @@ msgstr ""
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
- "X-Generator: Poedit 2.2.4\n"
15
  "X-Poedit-KeywordsList: __;_e;_x;esc_attr_e;esc_attr__;esc_html__;esc_html_e\n"
16
  "X-Poedit-Basepath: ..\n"
17
  "X-Poedit-SourceCharset: UTF-8\n"
18
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
- #: inc/admin/admin-features-list.php:11
22
  msgid "Titles & metas"
23
  msgstr ""
24
 
25
- #: inc/admin/admin-features-list.php:12
26
  msgid "Manage all your titles & metas for post types, taxonomies, archives..."
27
  msgstr ""
28
 
29
- #: inc/admin/admin-features-list.php:13 inc/admin/admin-features-list.php:55
30
- #: inc/admin/admin-features-list.php:97 inc/admin/admin-features-list.php:139
31
- #: inc/admin/admin-features-list.php:181 inc/admin/admin-features-list.php:215
32
- #: inc/admin/admin-features-list.php:258 inc/admin/admin-features-list.php:290
33
- #: inc/admin/admin-features-list.php:322 inc/admin/admin-features-list.php:354
34
- #: inc/admin/admin-features-list.php:397 inc/admin/admin-features-list.php:439
35
- #: inc/admin/admin-features-list.php:466 inc/admin/admin-features-list.php:510
36
- #: inc/admin/admin-features-list.php:553 inc/admin/admin-features-list.php:579
37
- #: inc/admin/admin-features-list.php:665 inc/admin/admin-features-list.php:679
38
- #: inc/admin/admin-features-list.php:715 inc/admin/admin-features-list.php:731
39
- #: inc/admin/admin-features-list.php:747 inc/admin/admin-features-list.php:772
40
  msgid "Manage"
41
  msgstr ""
42
 
43
- #: inc/admin/admin-features-list.php:25 inc/admin/admin-features-list.php:29
44
- #: inc/admin/admin-features-list.php:67 inc/admin/admin-features-list.php:71
45
- #: inc/admin/admin-features-list.php:109 inc/admin/admin-features-list.php:113
46
- #: inc/admin/admin-features-list.php:151 inc/admin/admin-features-list.php:155
47
- #: inc/admin/admin-features-list.php:193 inc/admin/admin-features-list.php:197
48
- #: inc/admin/admin-features-list.php:227 inc/admin/admin-features-list.php:231
49
- #: inc/admin/admin-features-list.php:270 inc/admin/admin-features-list.php:274
50
- #: inc/admin/admin-features-list.php:302 inc/admin/admin-features-list.php:306
51
- #: inc/admin/admin-features-list.php:334 inc/admin/admin-features-list.php:338
52
- #: inc/admin/admin-features-list.php:367 inc/admin/admin-features-list.php:371
53
- #: inc/admin/admin-features-list.php:409 inc/admin/admin-features-list.php:413
54
- #: inc/admin/admin-features-list.php:479 inc/admin/admin-features-list.php:483
55
- #: inc/admin/admin-features-list.php:522 inc/admin/admin-features-list.php:526
56
- #: inc/admin/admin-features-list.php:591 inc/admin/admin-features-list.php:595
57
- #: inc/admin/admin-features-list.php:634 inc/admin/admin-features-list.php:638
58
- #: inc/admin/admin-features-list.php:693 inc/admin/admin-features-list.php:697
59
- #: inc/admin/admin.php:328 inc/admin/admin.php:332 inc/admin/admin.php:395
60
- #: inc/admin/admin.php:399 inc/admin/admin.php:460 inc/admin/admin.php:464
61
- #: inc/admin/admin.php:527 inc/admin/admin.php:531 inc/admin/admin.php:609
62
- #: inc/admin/admin.php:613
63
- msgid "Click to disable this feature"
64
- msgstr ""
65
-
66
- #: inc/admin/admin-features-list.php:26 inc/admin/admin-features-list.php:28
67
- #: inc/admin/admin-features-list.php:68 inc/admin/admin-features-list.php:70
68
- #: inc/admin/admin-features-list.php:110 inc/admin/admin-features-list.php:112
69
- #: inc/admin/admin-features-list.php:152 inc/admin/admin-features-list.php:154
70
- #: inc/admin/admin-features-list.php:194 inc/admin/admin-features-list.php:196
71
- #: inc/admin/admin-features-list.php:228 inc/admin/admin-features-list.php:230
72
- #: inc/admin/admin-features-list.php:271 inc/admin/admin-features-list.php:273
73
- #: inc/admin/admin-features-list.php:303 inc/admin/admin-features-list.php:305
74
- #: inc/admin/admin-features-list.php:335 inc/admin/admin-features-list.php:337
75
- #: inc/admin/admin-features-list.php:368 inc/admin/admin-features-list.php:370
76
- #: inc/admin/admin-features-list.php:410 inc/admin/admin-features-list.php:412
77
- #: inc/admin/admin-features-list.php:480 inc/admin/admin-features-list.php:482
78
- #: inc/admin/admin-features-list.php:523 inc/admin/admin-features-list.php:525
79
- #: inc/admin/admin-features-list.php:592 inc/admin/admin-features-list.php:594
80
- #: inc/admin/admin-features-list.php:635 inc/admin/admin-features-list.php:637
81
- #: inc/admin/admin-features-list.php:694 inc/admin/admin-features-list.php:696
82
- #: inc/admin/admin.php:329 inc/admin/admin.php:331 inc/admin/admin.php:396
83
- #: inc/admin/admin.php:398 inc/admin/admin.php:461 inc/admin/admin.php:463
84
- #: inc/admin/admin.php:528 inc/admin/admin.php:530 inc/admin/admin.php:610
85
- #: inc/admin/admin.php:612
86
- msgid "Click to enable this feature"
87
- msgstr ""
88
-
89
- #: inc/admin/admin-features-list.php:41 inc/admin/admin-features-list.php:83
90
- #: inc/admin/admin-features-list.php:125 inc/admin/admin-features-list.php:167
91
- #: inc/admin/admin-features-list.php:244 inc/admin/admin-features-list.php:383
92
- #: inc/admin/admin-features-list.php:425 inc/admin/admin-features-list.php:449
93
- #: inc/admin/admin-features-list.php:495 inc/admin/admin-features-list.php:538
94
- #: inc/admin/admin-features-list.php:564 inc/admin/admin-features-list.php:607
95
- #: inc/admin/admin-features-list.php:650 inc/admin/admin-features-list.php:757
96
- #: inc/admin/admin-features-list.php:782 inc/admin/admin.php:287
97
- #: inc/admin/admin.php:293
98
  msgid "Read our guide"
99
  msgstr ""
100
 
101
- #: inc/admin/admin-features-list.php:41
102
  msgid "Guide to manage your titles and meta descriptions - new window"
103
  msgstr ""
104
 
105
- #: inc/admin/admin-features-list.php:53 inc/admin/admin.php:186
106
  msgid "XML / Image / Video / HTML Sitemap"
107
  msgstr ""
108
 
109
- #: inc/admin/admin-features-list.php:54
110
  msgid "Manage your XML / Image / Video / HTML Sitemap"
111
  msgstr ""
112
 
113
- #: inc/admin/admin-features-list.php:83
114
  msgid "Guide to enable your XML Sitemaps - new window"
115
  msgstr ""
116
 
117
- #: inc/admin/admin-features-list.php:95 inc/admin/admin-header.php:47
118
- #: inc/admin/admin.php:187 inc/admin/adminbar.php:37
119
  msgid "Social Networks"
120
  msgstr ""
121
 
122
- #: inc/admin/admin-features-list.php:96
123
  msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
124
  msgstr ""
125
 
126
- #: inc/admin/admin-features-list.php:125
127
  msgid "Guide to enable Google Knowledge Graph - new window"
128
  msgstr ""
129
 
130
- #: inc/admin/admin-features-list.php:137 inc/admin/admin-header.php:53
131
- #: inc/admin/admin.php:188 inc/admin/adminbar.php:43
132
  msgid "Google Analytics"
133
  msgstr ""
134
 
135
- #: inc/admin/admin-features-list.php:138
136
  msgid "Track everything about your visitors with Google Analytics"
137
  msgstr ""
138
 
139
- #: inc/admin/admin-features-list.php:167
140
  msgid "Guide to getting started with Google Analytics - new window"
141
  msgstr ""
142
 
143
- #: inc/admin/admin-features-list.php:179 inc/admin/admin-header.php:59
144
- #: inc/admin/admin-metaboxes-form.php:58 inc/admin/admin.php:189
145
- #: inc/admin/admin.php:350 inc/admin/admin.php:627 inc/admin/adminbar.php:49
146
  msgid "Advanced"
147
  msgstr ""
148
 
149
- #: inc/admin/admin-features-list.php:180
150
  msgid "Advanced SEO options for advanced users!"
151
  msgstr ""
152
 
153
- #: inc/admin/admin-features-list.php:213 inc/admin/admin-header.php:67
154
  msgid "WooCommerce"
155
  msgstr ""
156
 
157
- #: inc/admin/admin-features-list.php:214
158
  msgid "Improve WooCommerce SEO"
159
  msgstr ""
160
 
161
- #: inc/admin/admin-features-list.php:244
162
  msgid "Guide to optimize your WooCommerce SEO - new window"
163
  msgstr ""
164
 
165
- #: inc/admin/admin-features-list.php:256 inc/admin/admin-header.php:73
166
  msgid "Easy Digital Downloads"
167
  msgstr ""
168
 
169
- #: inc/admin/admin-features-list.php:257
170
  msgid "Improve Easy Digital Downloads SEO"
171
  msgstr ""
172
 
173
- #: inc/admin/admin-features-list.php:288 inc/admin/admin-header.php:79
174
  msgid "Local Business"
175
  msgstr ""
176
 
177
- #: inc/admin/admin-features-list.php:289
178
  msgid "Add Google Local Business data type"
179
  msgstr ""
180
 
181
- #: inc/admin/admin-features-list.php:320 inc/admin/admin-header.php:85
182
  msgid "Dublin Core"
183
  msgstr ""
184
 
185
- #: inc/admin/admin-features-list.php:321
186
  msgid "Add Dublin Core meta tags"
187
  msgstr ""
188
 
189
- #: inc/admin/admin-features-list.php:352
190
  msgid "Structured Data Types"
191
  msgstr ""
192
 
193
- #: inc/admin/admin-features-list.php:353
194
  msgid ""
195
  "Add data types to your content: articles, courses, recipes, videos, events, "
196
  "products and more."
197
  msgstr ""
198
 
199
- #: inc/admin/admin-features-list.php:355 inc/admin/admin-features-list.php:552
200
  msgid "See schemas"
201
  msgstr ""
202
 
203
- #: inc/admin/admin-features-list.php:383 inc/admin/admin-features-list.php:564
204
  msgid "Guide to add schemas with SEOPress PRO - new window"
205
  msgstr ""
206
 
207
- #: inc/admin/admin-features-list.php:395 inc/admin/admin-header.php:97
208
  msgid "Breadcrumbs"
209
  msgstr ""
210
 
211
- #: inc/admin/admin-features-list.php:396
212
  msgid "Enable Breadcrumbs for your theme and improve your SEO in SERPs"
213
  msgstr ""
214
 
215
- #: inc/admin/admin-features-list.php:425
216
  msgid "Guide to enable Breadcrumbs - new window"
217
  msgstr ""
218
 
219
- #: inc/admin/admin-features-list.php:437 inc/admin/admin-header.php:103
220
  msgid "Google Page Speed"
221
  msgstr ""
222
 
223
- #: inc/admin/admin-features-list.php:438
224
  msgid "Track your website performance to improve SEO with Google Page Speed"
225
  msgstr ""
226
 
227
- #: inc/admin/admin-features-list.php:449
228
  msgid "Guide to analyze your site with Google Page Speed - new window"
229
  msgstr ""
230
 
231
- #: inc/admin/admin-features-list.php:463 inc/admin/admin-header.php:110
232
  msgid "robots.txt"
233
  msgstr ""
234
 
235
- #: inc/admin/admin-features-list.php:464
236
  msgid "Edit your robots.txt file"
237
  msgstr ""
238
 
239
- #: inc/admin/admin-features-list.php:465
240
  msgid "View your robots.txt"
241
  msgstr ""
242
 
243
- #: inc/admin/admin-features-list.php:495
244
  msgid "Guide to edit your robots.txt file - new window"
245
  msgstr ""
246
 
247
- #: inc/admin/admin-features-list.php:508 inc/admin/admin-header.php:117
248
  msgid "Google News Sitemap"
249
  msgstr ""
250
 
251
- #: inc/admin/admin-features-list.php:509
252
  msgid "Optimize your site for Google News"
253
  msgstr ""
254
 
255
- #: inc/admin/admin-features-list.php:538
256
- msgid ""
257
- "Guide to activate Google News XML sitemap with SEOPress PRO - new window"
258
- msgstr ""
259
-
260
- #: inc/admin/admin-features-list.php:550 inc/admin/adminbar.php:84
261
  msgid "Schemas"
262
  msgstr ""
263
 
264
- #: inc/admin/admin-features-list.php:551
265
  msgid "Create / manage your schemas"
266
  msgstr ""
267
 
268
- #: inc/admin/admin-features-list.php:576 inc/admin/admin-header.php:123
269
- #: inc/admin/admin.php:666 inc/admin/adminbar.php:92
270
  msgid "Redirections"
271
  msgstr ""
272
 
273
- #: inc/admin/admin-features-list.php:577
274
  msgid "Monitor 404, create 301, 302 and 307 redirections"
275
  msgstr ""
276
 
277
- #: inc/admin/admin-features-list.php:578
278
  msgid "See redirects"
279
  msgstr ""
280
 
281
- #: inc/admin/admin-features-list.php:607
282
  msgid "Guide to enable 301 redirections and 404 monitoring - new window"
283
  msgstr ""
284
 
285
- #: inc/admin/admin-features-list.php:619 inc/admin/admin-header.php:129
286
  msgid "Broken links"
287
  msgstr ""
288
 
289
- #: inc/admin/admin-features-list.php:620
290
  msgid "Scan your site to find SEO problems."
291
  msgstr ""
292
 
293
- #: inc/admin/admin-features-list.php:621
294
  msgid "See broken links"
295
  msgstr ""
296
 
297
- #: inc/admin/admin-features-list.php:622
298
  msgid "Scan"
299
  msgstr ""
300
 
301
- #: inc/admin/admin-features-list.php:650
302
  msgid "Guide to find broken links with SEOPress PRO - new window"
303
  msgstr ""
304
 
305
- #: inc/admin/admin-features-list.php:662 inc/admin/admin-header.php:135
306
- #: inc/admin/adminbar.php:107
307
  msgid "Backlinks"
308
  msgstr ""
309
 
310
- #: inc/admin/admin-features-list.php:663
311
  msgid "Check your backlinks with Majestic API."
312
  msgstr ""
313
 
314
- #: inc/admin/admin-features-list.php:664
315
  msgid "See backlinks"
316
  msgstr ""
317
 
318
- #: inc/admin/admin-features-list.php:677 inc/admin/admin-header.php:141
319
  msgid "URL Rewriting"
320
  msgstr ""
321
 
322
- #: inc/admin/admin-features-list.php:678
323
  msgid "Customize your permalinks."
324
  msgstr ""
325
 
326
- #: inc/admin/admin-features-list.php:713 inc/admin/admin-header.php:154
327
  msgid ".htaccess"
328
  msgstr ""
329
 
330
- #: inc/admin/admin-features-list.php:714
331
  msgid "Edit your htaccess file."
332
  msgstr ""
333
 
334
- #: inc/admin/admin-features-list.php:729 inc/admin/admin-header.php:161
335
  msgid "RSS"
336
  msgstr ""
337
 
338
- #: inc/admin/admin-features-list.php:730
339
  msgid "Configure default WordPress RSS."
340
  msgstr ""
341
 
342
- #: inc/admin/admin-features-list.php:745 inc/admin/admin-header.php:174
343
- #: inc/admin/admin.php:190 inc/admin/adminbar.php:55
344
  msgid "Tools"
345
  msgstr ""
346
 
347
- #: inc/admin/admin-features-list.php:746
348
  msgid "Import/Export plugin settings from site to site."
349
  msgstr ""
350
 
351
- #: inc/admin/admin-features-list.php:757
352
  msgid "Guide to Export/Import/Reset settings - new window"
353
  msgstr ""
354
 
355
- #: inc/admin/admin-features-list.php:770 inc/admin/admin-header.php:167
356
- #: inc/admin/admin-notifications-center.php:594 inc/admin/adminbar.php:71
357
  msgid "License"
358
  msgstr ""
359
 
360
- #: inc/admin/admin-features-list.php:771
361
  msgid "Edit your license key."
362
  msgstr ""
363
 
364
- #: inc/admin/admin-features-list.php:782
365
  msgid "Guide to activate SEOPress PRO - new window"
366
  msgstr ""
367
 
368
- #: inc/admin/admin-get-started.php:2
 
 
 
 
 
 
 
 
369
  msgid "How-to get started"
370
  msgstr ""
371
 
372
- #: inc/admin/admin-get-started.php:3
373
  msgid "Welcome to SEOPress!"
374
  msgstr ""
375
 
376
- #: inc/admin/admin-get-started.php:4
377
  msgid ""
378
  "Launch our installation wizard to quickly and easily configure the basic SEO "
379
  "settings for your site. Browse our video guides to go further. Can't find "
@@ -381,90 +338,90 @@ msgid ""
381
  "happiness engineer will be happy to help you."
382
  msgstr ""
383
 
384
- #: inc/admin/admin-get-started.php:5
385
  msgid "Get started"
386
  msgstr ""
387
 
388
- #: inc/admin/admin-get-started.php:6
389
  msgid "Watch our video guides"
390
  msgstr ""
391
 
392
- #: inc/admin/admin-get-started.php:18
393
  msgid "Our support center"
394
  msgstr ""
395
 
396
- #: inc/admin/admin-header.php:16
397
  msgid "SEOPress"
398
  msgstr ""
399
 
400
- #: inc/admin/admin-header.php:23 inc/admin/admin-notifications-center.php:627
401
- #: inc/admin/adminbar.php:77
402
  msgid "PRO"
403
  msgstr ""
404
 
405
- #: inc/admin/admin-header.php:28
406
  msgid "FREE"
407
  msgstr ""
408
 
409
- #: inc/admin/admin-header.php:35 inc/admin/admin.php:185
410
- #: inc/admin/adminbar.php:25
411
  msgid "Titles & Metas"
412
  msgstr ""
413
 
414
- #: inc/admin/admin-header.php:41 inc/admin/admin.php:186
415
- #: inc/admin/adminbar.php:31
416
  msgid "XML / HTML Sitemap"
417
  msgstr ""
418
 
419
- #: inc/admin/admin-header.php:91
420
  msgid "Structured Data Types (schema.org)"
421
  msgstr ""
422
 
423
- #: inc/admin/admin-header.php:148
424
  msgid "White Label"
425
  msgstr ""
426
 
427
- #: inc/admin/admin-header.php:199
428
  msgid "See the changelog (new window)"
429
  msgstr ""
430
 
431
- #: inc/admin/admin-header.php:201
432
  msgid "See the changelog"
433
  msgstr ""
434
 
435
- #: inc/admin/admin-header.php:203 inc/admin/admin-header.php:205
436
  msgid "Send feedback"
437
  msgstr ""
438
 
439
- #: inc/admin/admin-header.php:207
440
  msgid "Follow us on Twitter (new window)"
441
  msgstr ""
442
 
443
- #: inc/admin/admin-header.php:209 inc/admin/admin-wizard.php:785
444
  msgid "Follow us on Twitter"
445
  msgstr ""
446
 
447
- #: inc/admin/admin-header.php:211
448
  msgid "Follow us on YouTube (new window)"
449
  msgstr ""
450
 
451
- #: inc/admin/admin-header.php:213
452
  msgid "Follow us on YouTube"
453
  msgstr ""
454
 
455
- #: inc/admin/admin-header.php:215
456
  msgid "Official website (new window)"
457
  msgstr ""
458
 
459
- #: inc/admin/admin-header.php:217
460
  msgid "Official website"
461
  msgstr ""
462
 
463
- #: inc/admin/admin-header.php:219
464
  msgid "Support (new window)"
465
  msgstr ""
466
 
467
- #: inc/admin/admin-header.php:221
468
  msgid "Support"
469
  msgstr ""
470
 
@@ -547,16 +504,20 @@ msgid "Headings"
547
  msgstr ""
548
 
549
  #: inc/admin/admin-metaboxes-content-analysis-form.php:124
 
550
  msgid "Meta title"
551
  msgstr ""
552
 
553
  #: inc/admin/admin-metaboxes-content-analysis-form.php:129
554
- #: inc/admin/admin-metaboxes-form.php:126
555
- #: inc/admin/admin-metaboxes-form.php:127 inc/admin/admin-wizard.php:259
556
- #: inc/admin/admin-wizard.php:278 inc/admin/admin-wizard.php:295
557
- #: inc/admin/admin-wizard.php:314 inc/admin/admin.php:750
558
- #: inc/admin/admin.php:771 inc/admin/admin.php:790 inc/admin/admin.php:811
559
- #: inc/admin/admin.php:832 inc/admin/admin.php:1094 inc/admin/admin.php:2697
 
 
 
560
  #: inc/functions/options-advanced-admin.php:802
561
  msgid "Meta description"
562
  msgstr ""
@@ -733,7 +694,9 @@ msgid "The length of your title is correct"
733
  msgstr ""
734
 
735
  #: inc/admin/admin-metaboxes-content-analysis-form.php:368
736
- msgid "No custom title is set for this post."
 
 
737
  msgstr ""
738
 
739
  #: inc/admin/admin-metaboxes-content-analysis-form.php:375
@@ -753,7 +716,9 @@ msgid "The length of your meta description is correct"
753
  msgstr ""
754
 
755
  #: inc/admin/admin-metaboxes-content-analysis-form.php:402
756
- msgid "No custom meta description is set for this post."
 
 
757
  msgstr ""
758
 
759
  #: inc/admin/admin-metaboxes-content-analysis-form.php:409
@@ -866,8 +831,8 @@ msgid "Your Open Graph Site Name is missing!"
866
  msgstr ""
867
 
868
  #: inc/admin/admin-metaboxes-content-analysis-form.php:549
869
- #: inc/admin/admin-metaboxes-form.php:327
870
- #: inc/admin/admin-metaboxes-form.php:328
871
  msgid "Twitter Title"
872
  msgstr ""
873
 
@@ -1002,35 +967,35 @@ msgid ""
1002
  "searchbox in search results."
1003
  msgstr ""
1004
 
1005
- #: inc/admin/admin-metaboxes-content-analysis-form.php:714
1006
  msgid ""
1007
  "No alternative text found for these images. Alt tags are important for both "
1008
  "SEO and accessibility. Edit your images using the media library or your "
1009
  "favorite page builder and fill in alternative text fields."
1010
  msgstr ""
1011
 
1012
- #: inc/admin/admin-metaboxes-content-analysis-form.php:725
1013
  msgid "All alternative tags are filled in. Good work!"
1014
  msgstr ""
1015
 
1016
- #: inc/admin/admin-metaboxes-content-analysis-form.php:730
1017
  msgid ""
1018
  "We could not find any image in your content. Content with media is a plus "
1019
  "for your SEO."
1020
  msgstr ""
1021
 
1022
- #: inc/admin/admin-metaboxes-content-analysis-form.php:737
1023
  #, php-format
1024
  msgid ""
1025
  "We found %d links with nofollow attribute in your page. Do not overuse "
1026
  "nofollow attribute in links. Below, the list:"
1027
  msgstr ""
1028
 
1029
- #: inc/admin/admin-metaboxes-content-analysis-form.php:748
1030
  msgid "This page doesn't have any nofollow links."
1031
  msgstr ""
1032
 
1033
- #: inc/admin/admin-metaboxes-content-analysis-form.php:752
1034
  msgid ""
1035
  "Internet is built on the principle of hyperlink. It is therefore perfectly "
1036
  "normal to make links between different websites. However, avoid making links "
@@ -1038,42 +1003,42 @@ msgid ""
1038
  "site, add the attribute \"nofollow\" to your link."
1039
  msgstr ""
1040
 
1041
- #: inc/admin/admin-metaboxes-content-analysis-form.php:756
1042
  #, php-format
1043
  msgid "We found %s outbound links in your page. Below, the list:"
1044
  msgstr ""
1045
 
1046
- #: inc/admin/admin-metaboxes-content-analysis-form.php:766
1047
  msgid "This page doesn't have any outbound links."
1048
  msgstr ""
1049
 
1050
- #: inc/admin/admin-metaboxes-content-analysis-form.php:780
1051
  msgid ""
1052
  "<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</"
1053
  "strong> yellow or green dots"
1054
  msgstr ""
1055
 
1056
- #: inc/admin/admin-metaboxes-content-analysis-form.php:783
1057
  #: inc/functions/options-advanced-admin.php:409
1058
  msgid "Should be improved"
1059
  msgstr ""
1060
 
1061
- #: inc/admin/admin-metaboxes-content-analysis-form.php:786
1062
  #: inc/functions/options-advanced-admin.php:404
1063
  msgid "Good"
1064
  msgstr ""
1065
 
1066
- #: inc/admin/admin-metaboxes-content-analysis-form.php:792
1067
  msgid "Expand"
1068
  msgstr ""
1069
 
1070
- #: inc/admin/admin-metaboxes-content-analysis-form.php:792
1071
  msgid "Close"
1072
  msgstr ""
1073
 
1074
  #: inc/admin/admin-metaboxes-form.php:48 inc/admin/admin-metaboxes.php:163
1075
- #: inc/admin/admin-metaboxes.php:166 inc/admin/admin.php:183
1076
- #: inc/admin/adminbar.php:12 inc/functions/options-advanced-admin.php:792
1077
  msgid "SEO"
1078
  msgstr ""
1079
 
@@ -1107,498 +1072,598 @@ msgstr ""
1107
  msgid "to edit your title and meta description"
1108
  msgstr ""
1109
 
1110
- #: inc/admin/admin-metaboxes-form.php:104
1111
  #: inc/admin/admin-metaboxes-form.php:105
 
1112
  msgid "Title"
1113
  msgstr ""
1114
 
1115
- #: inc/admin/admin-metaboxes-form.php:105
 
 
 
 
 
 
 
 
1116
  msgid "Enter your title"
1117
  msgstr ""
1118
 
1119
- #: inc/admin/admin-metaboxes-form.php:112
1120
  msgid " / 568 pixels - "
1121
  msgstr ""
1122
 
1123
- #: inc/admin/admin-metaboxes-form.php:114
1124
- #: inc/admin/admin-metaboxes-form.php:136
1125
  msgid " (maximum recommended limit)"
1126
  msgstr ""
1127
 
1128
- #: inc/admin/admin-metaboxes-form.php:118 inc/admin/admin.php:2790
1129
- #: inc/admin/admin.php:3825
1130
  msgid "Post Title"
1131
  msgstr ""
1132
 
1133
- #: inc/admin/admin-metaboxes-form.php:120 inc/admin/admin.php:198
1134
- #: inc/admin/admin.php:2688 inc/admin/admin.php:2794 inc/admin/admin.php:2984
1135
- #: inc/admin/admin.php:3107 inc/admin/admin.php:3185 inc/admin/admin.php:3256
1136
- #: inc/admin/admin.php:3326 inc/admin/admin.php:3376
1137
  msgid "Site Title"
1138
  msgstr ""
1139
 
1140
- #: inc/admin/admin-metaboxes-form.php:122 inc/admin/admin-wizard.php:372
1141
- #: inc/admin/admin.php:1078 inc/admin/admin.php:2675 inc/admin/admin.php:2689
1142
- #: inc/admin/admin.php:2792 inc/admin/admin.php:2982 inc/admin/admin.php:3105
1143
- #: inc/admin/admin.php:3184 inc/admin/admin.php:3255 inc/admin/admin.php:3325
1144
- #: inc/admin/admin.php:3377
1145
  msgid "Separator"
1146
  msgstr ""
1147
 
1148
- #: inc/admin/admin-metaboxes-form.php:127
 
 
 
 
 
 
 
 
 
 
1149
  msgid "Enter your meta description"
1150
  msgstr ""
1151
 
1152
- #: inc/admin/admin-metaboxes-form.php:134
1153
  msgid " / 940 pixels - "
1154
  msgstr ""
1155
 
1156
- #: inc/admin/admin-metaboxes-form.php:140
1157
  msgid "Category / term description"
1158
  msgstr ""
1159
 
1160
- #: inc/admin/admin-metaboxes-form.php:144
1161
  msgid "Post Excerpt"
1162
  msgstr ""
1163
 
1164
- #: inc/admin/admin-metaboxes-form.php:150
1165
  msgid "Google Snippet Preview"
1166
  msgstr ""
1167
 
1168
- #: inc/admin/admin-metaboxes-form.php:151
 
 
 
 
 
 
 
 
 
 
 
 
 
1169
  msgid ""
1170
  "This is what your page will look like in Google search results. You have to "
1171
  "publish your post to get the Google Snippet Preview."
1172
  msgstr ""
1173
 
1174
- #: inc/admin/admin-metaboxes-form.php:178
 
 
 
 
1175
  msgid ""
1176
  "Do not display this page in search engine results / XML - HTML sitemaps "
1177
  "<strong>(noindex)</strong>"
1178
  msgstr ""
1179
 
1180
- #: inc/admin/admin-metaboxes-form.php:184
 
 
 
 
 
 
 
 
 
 
 
1181
  msgid "Do not follow links for this page <strong>(nofollow)</strong>"
1182
  msgstr ""
1183
 
1184
- #: inc/admin/admin-metaboxes-form.php:190
 
 
 
 
 
 
 
 
 
 
1185
  msgid ""
1186
  "Do not use Open Directory project metadata for titles or excerpts for this "
1187
  "page <strong>(noodp)</strong>"
1188
  msgstr ""
1189
 
1190
- #: inc/admin/admin-metaboxes-form.php:196
 
 
 
 
 
 
 
 
 
 
 
1191
  msgid "Do not index images for this page <strong>(noimageindex)</strong>"
1192
  msgstr ""
1193
 
1194
- #: inc/admin/admin-metaboxes-form.php:202
 
 
 
 
 
 
 
 
 
 
 
1195
  msgid ""
1196
  "Do not display a \"Cached\" link in the Google search results "
1197
  "<strong>(noarchive)</strong>"
1198
  msgstr ""
1199
 
1200
- #: inc/admin/admin-metaboxes-form.php:208
 
 
 
 
 
 
 
 
 
 
1201
  msgid ""
1202
  "Do not display a description in search results for this page "
1203
  "<strong>(nosnippet)</strong>"
1204
  msgstr ""
1205
 
1206
- #: inc/admin/admin-metaboxes-form.php:213
 
 
 
 
 
 
 
 
 
 
1207
  #, php-format
1208
  msgid ""
1209
  "You cannot uncheck a parameter? This is normal, and it's most likely defined "
1210
  "in the <a href=\"%s\">global settings of the extension</a>."
1211
  msgstr ""
1212
 
1213
- #: inc/admin/admin-metaboxes-form.php:216
1214
- #: inc/admin/admin-metaboxes-form.php:221 inc/admin/admin-wizard.php:263
1215
- #: inc/admin/admin-wizard.php:299 inc/admin/admin-wizard.php:318
1216
- #: inc/admin/admin.php:754 inc/admin/admin.php:794 inc/admin/admin.php:815
1217
- #: inc/admin/admin.php:836
 
1218
  msgid "Canonical URL"
1219
  msgstr ""
1220
 
1221
- #: inc/admin/admin-metaboxes-form.php:218
1222
  msgid ""
1223
  "A canonical URL is the URL of the page that Google thinks is most "
1224
- "representative from a set of duplicate pages on your site. For example, if "
1225
- "you have URLs for the same page (for example: example.com?dress=1234 and "
1226
- "example.com/dresses/1234), Google chooses one as canonical. Note that the "
1227
- "pages do not need to be absolutely identical; minor changes in sorting or "
1228
- "filtering of list pages do not make the page unique (for example, sorting by "
1229
- "price or filtering by item color).\n"
1230
- " The canonical can be in a different domain than a "
1231
- "duplicate."
1232
  msgstr ""
1233
 
1234
- #: inc/admin/admin-metaboxes-form.php:221
1235
  msgid "Default value: "
1236
  msgstr ""
1237
 
1238
- #: inc/admin/admin-metaboxes-form.php:228
1239
  msgid "Select a primary category"
1240
  msgstr ""
1241
 
1242
- #: inc/admin/admin-metaboxes-form.php:229
1243
  msgid ""
1244
  "Set the category that gets used in the %category% permalink if you have "
1245
  "multiple categories."
1246
  msgstr ""
1247
 
1248
- #: inc/admin/admin-metaboxes-form.php:239 inc/admin/admin-wizard.php:383
1249
- #: inc/admin/admin.php:3868
1250
  msgid "None (will disable this feature)"
1251
  msgstr ""
1252
 
1253
- #: inc/admin/admin-metaboxes-form.php:251
1254
- #: inc/admin/admin-metaboxes-form.php:255
1255
  msgid "Custom breadcrumbs"
1256
  msgstr ""
1257
 
1258
- #: inc/admin/admin-metaboxes-form.php:252
1259
  msgid "Enter a custom value, useful if your title is too long."
1260
  msgstr ""
1261
 
1262
- #: inc/admin/admin-metaboxes-form.php:255
1263
  #, php-format
1264
  msgid "Current breadcrumbs: %s"
1265
  msgstr ""
1266
 
1267
- #: inc/admin/admin-metaboxes-form.php:266
1268
  msgid "Ask Facebook to update his cache"
1269
  msgstr ""
1270
 
1271
- #: inc/admin/admin-metaboxes-form.php:267
1272
  msgid ""
1273
  "<span class=\"label\">Did you know?</span> LinkedIn, Instagram and Pinterest "
1274
  "use the same social metadata as Facebook. Twitter does the same if no "
1275
  "Twitter cards tag defined below."
1276
  msgstr ""
1277
 
1278
- #: inc/admin/admin-metaboxes-form.php:269
1279
- #: inc/admin/admin-metaboxes-form.php:270
1280
  msgid "Facebook Title"
1281
  msgstr ""
1282
 
1283
- #: inc/admin/admin-metaboxes-form.php:270
1284
  msgid "Enter your Facebook title"
1285
  msgstr ""
1286
 
1287
- #: inc/admin/admin-metaboxes-form.php:273
1288
- #: inc/admin/admin-metaboxes-form.php:274
1289
  msgid "Facebook description"
1290
  msgstr ""
1291
 
1292
- #: inc/admin/admin-metaboxes-form.php:274
1293
  msgid "Enter your Facebook description"
1294
  msgstr ""
1295
 
1296
- #: inc/admin/admin-metaboxes-form.php:277
1297
- #: inc/admin/admin-metaboxes-form.php:278
1298
  msgid "Facebook Thumbnail"
1299
  msgstr ""
1300
 
1301
- #: inc/admin/admin-metaboxes-form.php:278
1302
- #: inc/admin/admin-metaboxes-form.php:336 inc/admin/admin.php:4137
1303
- #: inc/admin/admin.php:4249
1304
  msgid "Select your default thumbnail"
1305
  msgstr ""
1306
 
1307
- #: inc/admin/admin-metaboxes-form.php:279 inc/admin/admin.php:4141
1308
  msgid ""
1309
  "Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or "
1310
  "3280x1712px for retina screens)"
1311
  msgstr ""
1312
 
1313
- #: inc/admin/admin-metaboxes-form.php:280
1314
- #: inc/admin/admin-metaboxes-form.php:338
1315
- #: inc/admin/admin-metaboxes-form.php:488 inc/admin/admin.php:3902
1316
- #: inc/admin/admin.php:4139 inc/admin/admin.php:4251
1317
  msgid "Upload an Image"
1318
  msgstr ""
1319
 
1320
- #: inc/admin/admin-metaboxes-form.php:285
1321
  msgid "Facebook Preview"
1322
  msgstr ""
1323
 
1324
- #: inc/admin/admin-metaboxes-form.php:287
1325
  msgid ""
1326
  "This is what your post will look like in Facebook. You have to publish your "
1327
  "post to get the Facebook Preview."
1328
  msgstr ""
1329
 
1330
- #: inc/admin/admin-metaboxes-form.php:289
1331
  msgid ""
1332
  "The Social Networks feature is disabled. Still seing informations from the "
1333
  "FB Preview? You probably have social tags added by your theme or a plugin."
1334
  msgstr ""
1335
 
1336
- #: inc/admin/admin-metaboxes-form.php:300
1337
  msgid "By "
1338
  msgstr ""
1339
 
1340
- #: inc/admin/admin-metaboxes-form.php:325
1341
  msgid "Preview your Twitter card using the official validator"
1342
  msgstr ""
1343
 
1344
- #: inc/admin/admin-metaboxes-form.php:328
1345
  msgid "Enter your Twitter title"
1346
  msgstr ""
1347
 
1348
- #: inc/admin/admin-metaboxes-form.php:331
1349
- #: inc/admin/admin-metaboxes-form.php:332
1350
  msgid "Twitter description"
1351
  msgstr ""
1352
 
1353
- #: inc/admin/admin-metaboxes-form.php:332
1354
  msgid "Enter your Twitter description"
1355
  msgstr ""
1356
 
1357
- #: inc/admin/admin-metaboxes-form.php:335
1358
- #: inc/admin/admin-metaboxes-form.php:338
1359
  msgid "Twitter Thumbnail"
1360
  msgstr ""
1361
 
1362
- #: inc/admin/admin-metaboxes-form.php:337 inc/admin/admin.php:4253
1363
  msgid ""
1364
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
1365
  "(2:1 with large card), 5Mb max."
1366
  msgstr ""
1367
 
1368
- #: inc/admin/admin-metaboxes-form.php:350
1369
  msgid "Enable redirection?"
1370
  msgstr ""
1371
 
1372
- #: inc/admin/admin-metaboxes-form.php:354
1373
- #: inc/admin/admin-metaboxes-form.php:362
1374
  msgid "URL redirection"
1375
  msgstr ""
1376
 
1377
- #: inc/admin/admin-metaboxes-form.php:356
1378
  msgid "301 Moved Permanently"
1379
  msgstr ""
1380
 
1381
- #: inc/admin/admin-metaboxes-form.php:357
1382
  msgid "302 Found / Moved Temporarily"
1383
  msgstr ""
1384
 
1385
- #: inc/admin/admin-metaboxes-form.php:358
1386
  msgid "307 Moved Temporarily"
1387
  msgstr ""
1388
 
1389
- #: inc/admin/admin-metaboxes-form.php:359
1390
  msgid "410 Gone"
1391
  msgstr ""
1392
 
1393
- #: inc/admin/admin-metaboxes-form.php:360
1394
  msgid "451 Unavailable For Legal Reasons"
1395
  msgstr ""
1396
 
1397
- #: inc/admin/admin-metaboxes-form.php:362
1398
  msgid "Enter your new URL in absolute (eg: https://www.example.com/)"
1399
  msgstr ""
1400
 
1401
- #: inc/admin/admin-metaboxes-form.php:367
1402
  msgid "Query parameters"
1403
  msgstr ""
1404
 
1405
- #: inc/admin/admin-metaboxes-form.php:369
1406
  msgid "Exactly match all parameters"
1407
  msgstr ""
1408
 
1409
- #: inc/admin/admin-metaboxes-form.php:370
1410
  msgid "Exclude all parameters"
1411
  msgstr ""
1412
 
1413
- #: inc/admin/admin-metaboxes-form.php:371
1414
  msgid "Exclude all parameters and pass them to the redirection"
1415
  msgstr ""
1416
 
1417
- #: inc/admin/admin-metaboxes-form.php:380
1418
- #: inc/admin/admin-metaboxes-form.php:382
1419
- #: inc/admin/admin-metaboxes-form.php:385
1420
- #: inc/admin/admin-metaboxes-form.php:387
1421
  msgid "Test your URL"
1422
  msgstr ""
1423
 
1424
- #: inc/admin/admin-metaboxes-form.php:401
1425
  msgid "Need help with your redirections? Read our guide."
1426
  msgstr ""
1427
 
1428
- #: inc/admin/admin-metaboxes-form.php:415
1429
  msgid "Exclude this post from Google News Sitemap?"
1430
  msgstr ""
1431
 
1432
- #: inc/admin/admin-metaboxes-form.php:441
1433
  msgid "Exclude this post from Video Sitemap?"
1434
  msgstr ""
1435
 
1436
- #: inc/admin/admin-metaboxes-form.php:443
1437
  msgid ""
1438
  "If your post is set to noindex, it will be automatically excluded from the "
1439
  "sitemap."
1440
  msgstr ""
1441
 
1442
- #: inc/admin/admin-metaboxes-form.php:462
1443
  msgid "Video "
1444
  msgstr ""
1445
 
1446
- #: inc/admin/admin-metaboxes-form.php:466
1447
  msgid "Video URL (required)"
1448
  msgstr ""
1449
 
1450
- #: inc/admin/admin-metaboxes-form.php:467
1451
  msgid "Enter your video URL"
1452
  msgstr ""
1453
 
1454
- #: inc/admin/admin-metaboxes-form.php:467
1455
  msgid "Video URL"
1456
  msgstr ""
1457
 
1458
- #: inc/admin/admin-metaboxes-form.php:472
1459
  msgid ""
1460
  "NOT an external video (eg: video hosting on YouTube, Vimeo, Wistia...)? "
1461
  "Check this if your video is hosting on this server."
1462
  msgstr ""
1463
 
1464
- #: inc/admin/admin-metaboxes-form.php:476
1465
  msgid "Video Title (required)"
1466
  msgstr ""
1467
 
1468
- #: inc/admin/admin-metaboxes-form.php:477
1469
  msgid "Enter your video title"
1470
  msgstr ""
1471
 
1472
- #: inc/admin/admin-metaboxes-form.php:477
1473
  msgid "Video title"
1474
  msgstr ""
1475
 
1476
- #: inc/admin/admin-metaboxes-form.php:478
1477
  msgid "Default: title tag, if not available, post title."
1478
  msgstr ""
1479
 
1480
- #: inc/admin/admin-metaboxes-form.php:481
1481
  msgid "Video Description (required)"
1482
  msgstr ""
1483
 
1484
- #: inc/admin/admin-metaboxes-form.php:482
1485
  msgid "Enter your video description"
1486
  msgstr ""
1487
 
1488
- #: inc/admin/admin-metaboxes-form.php:482
1489
  msgid "Video description"
1490
  msgstr ""
1491
 
1492
- #: inc/admin/admin-metaboxes-form.php:483
1493
  msgid ""
1494
  "2048 characters max.; default: meta description. If not available, use the "
1495
  "beginning of the post content."
1496
  msgstr ""
1497
 
1498
- #: inc/admin/admin-metaboxes-form.php:486
1499
  msgid "Video Thumbnail (required)"
1500
  msgstr ""
1501
 
1502
- #: inc/admin/admin-metaboxes-form.php:487
1503
  msgid "Select your video thumbnail"
1504
  msgstr ""
1505
 
1506
- #: inc/admin/admin-metaboxes-form.php:488
1507
  msgid "Video Thumbnail"
1508
  msgstr ""
1509
 
1510
- #: inc/admin/admin-metaboxes-form.php:489
1511
  msgid ""
1512
  "Minimum size: 160x90px (1920x1080 max), JPG, PNG or GIF formats. Default: "
1513
  "your post featured image."
1514
  msgstr ""
1515
 
1516
- #: inc/admin/admin-metaboxes-form.php:492
1517
  msgid "Video Duration (recommended)"
1518
  msgstr ""
1519
 
1520
- #: inc/admin/admin-metaboxes-form.php:493
1521
  msgid "Duration in seconds"
1522
  msgstr ""
1523
 
1524
- #: inc/admin/admin-metaboxes-form.php:493
1525
  msgid "Video duration"
1526
  msgstr ""
1527
 
1528
- #: inc/admin/admin-metaboxes-form.php:494
1529
  msgid ""
1530
  "The duration of the video in seconds. Value must be between 0 and 28800 (8 "
1531
  "hours)."
1532
  msgstr ""
1533
 
1534
- #: inc/admin/admin-metaboxes-form.php:497
1535
  msgid "Video Rating"
1536
  msgstr ""
1537
 
1538
- #: inc/admin/admin-metaboxes-form.php:498
1539
  msgid "Video rating"
1540
  msgstr ""
1541
 
1542
- #: inc/admin/admin-metaboxes-form.php:499
1543
  msgid "Allowed values are float numbers in the range 0.0 to 5.0."
1544
  msgstr ""
1545
 
1546
- #: inc/admin/admin-metaboxes-form.php:502
1547
- #: inc/admin/admin-metaboxes-form.php:503
1548
  msgid "View count"
1549
  msgstr ""
1550
 
1551
- #: inc/admin/admin-metaboxes-form.php:503
1552
  msgid "Number of views"
1553
  msgstr ""
1554
 
1555
- #: inc/admin/admin-metaboxes-form.php:506
1556
- #: inc/admin/admin-metaboxes-form.php:507
1557
  msgid "Video tags"
1558
  msgstr ""
1559
 
1560
- #: inc/admin/admin-metaboxes-form.php:507
1561
  msgid "Enter your video tags"
1562
  msgstr ""
1563
 
1564
- #: inc/admin/admin-metaboxes-form.php:508
1565
  msgid ""
1566
  "32 tags max., separate tags with commas. Default: target keywords + post "
1567
  "tags if available."
1568
  msgstr ""
1569
 
1570
- #: inc/admin/admin-metaboxes-form.php:511
1571
- #: inc/admin/admin-metaboxes-form.php:512
1572
  msgid "Video categories"
1573
  msgstr ""
1574
 
1575
- #: inc/admin/admin-metaboxes-form.php:512
1576
  msgid "Enter your video categories"
1577
  msgstr ""
1578
 
1579
- #: inc/admin/admin-metaboxes-form.php:513
1580
  msgid ""
1581
  "256 characters max., usually a video will belong to a single category, "
1582
  "separate categories with commas. Default: first post category if available."
1583
  msgstr ""
1584
 
1585
- #: inc/admin/admin-metaboxes-form.php:518
1586
  msgid "NOT family friendly?"
1587
  msgstr ""
1588
 
1589
- #: inc/admin/admin-metaboxes-form.php:520
1590
  msgid "The video will be available only to users with SafeSearch turned off."
1591
  msgstr ""
1592
 
1593
- #: inc/admin/admin-metaboxes-form.php:522
1594
  msgid "Remove video"
1595
  msgstr ""
1596
 
1597
- #: inc/admin/admin-metaboxes-form.php:529
1598
  msgid "Add video"
1599
  msgstr ""
1600
 
1601
- #: inc/admin/admin-metaboxes.php:201 inc/admin/admin-metaboxes.php:441
 
1602
  msgid "Analysis in progress..."
1603
  msgstr ""
1604
 
@@ -1606,140 +1671,127 @@ msgstr ""
1606
  msgid "Content analysis"
1607
  msgstr ""
1608
 
1609
- #: inc/admin/admin-notifications-center.php:44
1610
- #: inc/admin/admin-notifications-center.php:50
1611
  msgid "Notifications Center"
1612
  msgstr ""
1613
 
1614
- #: inc/admin/admin-notifications-center.php:45
1615
  msgid "SEO Tools"
1616
  msgstr ""
1617
 
1618
- #: inc/admin/admin-notifications-center.php:46
1619
  #: inc/admin/admin-notifications-center.php:51
 
1620
  msgid "Useful links"
1621
  msgstr ""
1622
 
1623
- #: inc/admin/admin-notifications-center.php:96
1624
  msgid "Configure SEOPress in a few minutes with our installation wizard"
1625
  msgstr ""
1626
 
1627
- #: inc/admin/admin-notifications-center.php:99
1628
  msgid "The best way to quickly setup SEOPress on your site."
1629
  msgstr ""
1630
 
1631
- #: inc/admin/admin-notifications-center.php:103
1632
- msgid "Start the wizard"
1633
  msgstr ""
1634
 
1635
- #: inc/admin/admin-notifications-center.php:127
1636
- msgid "Your theme doesn't use <strong>add_theme_support('title-tag');</strong>"
1637
  msgstr ""
1638
 
1639
- #: inc/admin/admin-notifications-center.php:128
1640
- #: inc/admin/admin-notifications-center.php:167
1641
- #: inc/admin/admin-notifications-center.php:186
1642
- #: inc/admin/admin-notifications-center.php:254
1643
- #: inc/admin/admin-notifications-center.php:291
1644
- #: inc/admin/admin-notifications-center.php:308
1645
- #: inc/admin/admin-notifications-center.php:325
1646
- msgid "High impact"
1647
  msgstr ""
1648
 
1649
- #: inc/admin/admin-notifications-center.php:131
1650
  msgid ""
1651
  "This error indicates that your theme uses a deprecated function to generate "
1652
  "the title tag of your pages. SEOPress will not be able to generate your "
1653
  "custom title tags if this error is not fixed."
1654
  msgstr ""
1655
 
1656
- #: inc/admin/admin-notifications-center.php:144
1657
- #: inc/admin/admin-notifications-center.php:237
1658
- #: inc/admin/admin-notifications-center.php:269 inc/admin/admin.php:4566
1659
- #: inc/admin/admin.php:4624 inc/admin/admin.php:4646 inc/admin/admin.php:4668
1660
- #: inc/admin/admin.php:4690
 
 
 
 
 
 
 
 
 
 
 
 
 
1661
  msgid "Learn more"
1662
  msgstr ""
1663
 
1664
- #: inc/admin/admin-notifications-center.php:166
1665
  #, php-format
1666
  msgid "We noticed that you use <strong>%s</strong> plugin."
1667
  msgstr ""
1668
 
1669
- #: inc/admin/admin-notifications-center.php:170
1670
  msgid ""
1671
  "Do you want to migrate all your metadata to SEOPress? Do not use multiple "
1672
  "SEO plugins at once to avoid conflicts!"
1673
  msgstr ""
1674
 
1675
- #: inc/admin/admin-notifications-center.php:174
1676
  msgid "Migrate!"
1677
  msgstr ""
1678
 
1679
- #: inc/admin/admin-notifications-center.php:185
1680
- msgid "We noticed that you use another SEO plugin."
1681
- msgstr ""
1682
-
1683
- #: inc/admin/admin-notifications-center.php:189
1684
- msgid "Do not use multiple SEO plugins at once to avoid conflicts!"
1685
- msgstr ""
1686
-
1687
- #: inc/admin/admin-notifications-center.php:193
1688
- #: inc/admin/admin-notifications-center.php:298
1689
- #: inc/admin/admin-notifications-center.php:315
1690
- #: inc/admin/admin-notifications-center.php:332
1691
- #: inc/admin/admin-notifications-center.php:363
1692
- #: inc/admin/admin-notifications-center.php:463
1693
- #: inc/admin/admin-notifications-center.php:483
1694
- #: inc/admin/admin-notifications-center.php:580
1695
- #: inc/admin/admin-notifications-center.php:601
1696
- msgid "Fix this!"
1697
- msgstr ""
1698
-
1699
- #: inc/admin/admin-notifications-center.php:204
1700
  msgid "You have enabled 404 cleaning BUT the scheduled task is not running."
1701
  msgstr ""
1702
 
1703
- #: inc/admin/admin-notifications-center.php:207
1704
  msgid ""
1705
  "To solve this, please disable and re-enable SEOPress PRO. No data will be "
1706
  "lost."
1707
  msgstr ""
1708
 
1709
- #: inc/admin/admin-notifications-center.php:232
1710
  msgid "Your site doesn't use an SSL certificate!"
1711
  msgstr ""
1712
 
1713
- #: inc/admin/admin-notifications-center.php:233
1714
- msgid "Low impact"
1715
- msgstr ""
1716
-
1717
- #: inc/admin/admin-notifications-center.php:236
1718
  msgid ""
1719
  "Https is considered by Google as a positive signal for the ranking of your "
1720
  "site. It also reassures your visitors for data security, and improves trust."
1721
  msgstr ""
1722
 
1723
- #: inc/admin/admin-notifications-center.php:241
 
 
 
 
1724
  msgid "Buy an SSL!"
1725
  msgstr ""
1726
 
1727
- #: inc/admin/admin-notifications-center.php:253
1728
  msgid "PHP module \"DOM\" is missing on your server."
1729
  msgstr ""
1730
 
1731
- #: inc/admin/admin-notifications-center.php:257
1732
  msgid ""
1733
  "This PHP module, installed by default with PHP, is required by many plugins "
1734
  "including SEOPress. Please contact your host as soon as possible to solve "
1735
  "this."
1736
  msgstr ""
1737
 
1738
- #: inc/admin/admin-notifications-center.php:290
1739
  msgid "Your site is not visible to Search Engines!"
1740
  msgstr ""
1741
 
1742
- #: inc/admin/admin-notifications-center.php:294
1743
  msgid ""
1744
  "You have activated the blocking of the indexing of your site. If your site "
1745
  "is under development, this is probably normal. Otherwise, check your "
@@ -1747,24 +1799,35 @@ msgid ""
1747
  "not concerned."
1748
  msgstr ""
1749
 
1750
- #: inc/admin/admin-notifications-center.php:307
 
 
 
 
 
 
 
 
 
 
 
1751
  msgid "Your site title is empty!"
1752
  msgstr ""
1753
 
1754
- #: inc/admin/admin-notifications-center.php:311
1755
  msgid ""
1756
  "Your Site Title is used by WordPress, your theme and your plugins including "
1757
  "SEOPress. It is an essential component in the generation of title tags, but "
1758
  "not only. Enter one!"
1759
  msgstr ""
1760
 
1761
- #: inc/admin/admin-notifications-center.php:324 inc/admin/admin.php:2518
1762
  msgid ""
1763
  "Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
1764
  msgstr ""
1765
 
1766
- #: inc/admin/admin-notifications-center.php:328
1767
- #: inc/admin/admin-notifications-center.php:359
1768
  msgid ""
1769
  "Why is this important? Showing only the summary of each article "
1770
  "significantly reduces the theft of your content by third party sites. Not to "
@@ -1772,43 +1835,40 @@ msgid ""
1772
  "conversions..."
1773
  msgstr ""
1774
 
1775
- #: inc/admin/admin-notifications-center.php:355
1776
  msgid "Your RSS feed shows full text!"
1777
  msgstr ""
1778
 
1779
- #: inc/admin/admin-notifications-center.php:356
1780
- #: inc/admin/admin-notifications-center.php:456
1781
- #: inc/admin/admin-notifications-center.php:476
1782
  msgid "Medium impact"
1783
  msgstr ""
1784
 
1785
- #: inc/admin/admin-notifications-center.php:388
1786
  msgid "You like SEOPress? Please help us by rating us 5 stars!"
1787
  msgstr ""
1788
 
1789
- #: inc/admin/admin-notifications-center.php:391
1790
  msgid ""
1791
  "Support the development and improvement of the plugin by taking 15 seconds "
1792
  "of your time to leave us a user review on the official WordPress plugins "
1793
  "repository. Thank you!"
1794
  msgstr ""
1795
 
1796
- #: inc/admin/admin-notifications-center.php:395
1797
- msgid "Rate us!"
1798
  msgstr ""
1799
 
1800
- #: inc/admin/admin-notifications-center.php:421
1801
- msgid "Break comments into pages is ON!"
1802
  msgstr ""
1803
 
1804
- #: inc/admin/admin-notifications-center.php:422
1805
- #: inc/admin/admin-notifications-center.php:507
1806
- #: inc/admin/admin-notifications-center.php:550
1807
- #: inc/admin/admin-notifications-center.php:573
1808
- msgid "Huge impact"
1809
  msgstr ""
1810
 
1811
- #: inc/admin/admin-notifications-center.php:425
1812
  msgid ""
1813
  "Enabling this option will create duplicate content for each article beyond x "
1814
  "comments. This can have a disastrous effect by creating a large number of "
@@ -1816,15 +1876,15 @@ msgid ""
1816
  "ranking in search results."
1817
  msgstr ""
1818
 
1819
- #: inc/admin/admin-notifications-center.php:429
1820
  msgid "Disable this!"
1821
  msgstr ""
1822
 
1823
- #: inc/admin/admin-notifications-center.php:455
1824
  msgid "Display more posts per page on homepage and archives"
1825
  msgstr ""
1826
 
1827
- #: inc/admin/admin-notifications-center.php:459
1828
  msgid ""
1829
  "To reduce the number pages search engines have to crawl to find all your "
1830
  "articles, it is recommended displaying more posts per page. This should not "
@@ -1833,73 +1893,73 @@ msgid ""
1833
  "scroll to your post listings."
1834
  msgstr ""
1835
 
1836
- #: inc/admin/admin-notifications-center.php:475
1837
  msgid "You don't have an XML Sitemap!"
1838
  msgstr ""
1839
 
1840
- #: inc/admin/admin-notifications-center.php:479
1841
  msgid ""
1842
  "XML Sitemaps are useful to facilitate the crawling of your content by search "
1843
  "engine robots. Indirectly, this can benefit your ranking by reducing the "
1844
  "crawl bugdet."
1845
  msgstr ""
1846
 
1847
- #: inc/admin/admin-notifications-center.php:506
1848
  msgid "Do you have a Google My Business page? It's free!"
1849
  msgstr ""
1850
 
1851
- #: inc/admin/admin-notifications-center.php:510
1852
  msgid ""
1853
  "Local Business websites should have a My Business page to improve visibility "
1854
  "in search results. Click on the cross on the right to delete this "
1855
  "notification if you are not concerned."
1856
  msgstr ""
1857
 
1858
- #: inc/admin/admin-notifications-center.php:514
1859
  msgid "Create your page now!"
1860
  msgstr ""
1861
 
1862
- #: inc/admin/admin-notifications-center.php:549
1863
  msgid "Add your site to Google. It's free!"
1864
  msgstr ""
1865
 
1866
- #: inc/admin/admin-notifications-center.php:553
1867
  msgid ""
1868
  "Is your brand new site online? So reference it as quickly as possible on "
1869
  "Google to get your first visitors via Google Search Console. Already the "
1870
  "case? Click on the cross on the right to remove this alert."
1871
  msgstr ""
1872
 
1873
- #: inc/admin/admin-notifications-center.php:557
1874
  msgid "Add your site to Search Console!"
1875
  msgstr ""
1876
 
1877
- #: inc/admin/admin-notifications-center.php:572
1878
  msgid "Structured data types is not correctly enabled"
1879
  msgstr ""
1880
 
1881
- #: inc/admin/admin-notifications-center.php:576
1882
  msgid ""
1883
  "Please enable <strong>Structured Data Types metabox for your posts, pages "
1884
  "and custom post types</strong> option in order to use automatic and manual "
1885
  "schemas. (SEO > PRO > Structured Data Types (schema.org)"
1886
  msgstr ""
1887
 
1888
- #: inc/admin/admin-notifications-center.php:593
1889
  msgid "You have to enter your licence key to get updates and support"
1890
  msgstr ""
1891
 
1892
- #: inc/admin/admin-notifications-center.php:597
1893
  msgid ""
1894
  "Please activate the SEOPress PRO license key to automatically receive "
1895
  "updates to guarantee you the best user experience possible."
1896
  msgstr ""
1897
 
1898
- #: inc/admin/admin-notifications-center.php:626
1899
  msgid "Take your SEO to the next level with SEOPress PRO!"
1900
  msgstr ""
1901
 
1902
- #: inc/admin/admin-notifications-center.php:630
1903
  msgid ""
1904
  "The PRO version of SEOPress allows you to easily manage your structured data "
1905
  "(schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO "
@@ -1907,1116 +1967,1208 @@ msgid ""
1907
  "of your metadata and so much more."
1908
  msgstr ""
1909
 
1910
- #: inc/admin/admin-notifications-center.php:634
1911
  msgid "Upgrade now!"
1912
  msgstr ""
1913
 
1914
- #: inc/admin/admin-notifications-center.php:650
1915
  msgid "Check websites setup on your server"
1916
  msgstr ""
1917
 
1918
- #: inc/admin/admin-notifications-center.php:659
1919
  msgid "Not found"
1920
  msgstr ""
1921
 
1922
- #: inc/admin/admin-notifications-center.php:664
1923
  msgid "No scrape."
1924
  msgstr ""
1925
 
1926
- #: inc/admin/admin-notifications-center.php:669
1927
  msgid "No domain found."
1928
  msgstr ""
1929
 
1930
- #: inc/admin/admin-notifications-center.php:679
1931
  msgid "Server IP Address: "
1932
  msgstr ""
1933
 
1934
- #: inc/admin/admin-notifications-center.php:682
1935
  msgid "Last scrape: "
1936
  msgstr ""
1937
 
1938
- #: inc/admin/admin-notifications-center.php:683
1939
  msgid "Number of websites on your server: "
1940
  msgstr ""
1941
 
1942
- #: inc/admin/admin-notifications-center.php:696
1943
  msgid "Get list"
1944
  msgstr ""
1945
 
1946
- #: inc/admin/admin-notifications-center.php:705
1947
  msgid "Our blog: SEO news, how-to, tips and tricks..."
1948
  msgstr ""
1949
 
1950
- #: inc/admin/admin-notifications-center.php:706
1951
  msgid "Upload a list of links to disavow to Google"
1952
  msgstr ""
1953
 
1954
- #: inc/admin/admin-notifications-center.php:707
1955
  msgid "Google Trends"
1956
  msgstr ""
1957
 
1958
- #: inc/admin/admin-notifications-center.php:709
1959
  msgid ""
1960
  "Image SEO plugin to optimize your image ALT texts and names for Search "
1961
  "Engines."
1962
  msgstr ""
1963
 
1964
- #: inc/admin/admin-notifications-center.php:711
1965
  msgid "Dareboost: Test, analyze and optimize your website"
1966
  msgstr ""
1967
 
1968
- #: inc/admin/admin-notifications-center.php:712
1969
  msgid "Google Campaign URL Builder tool"
1970
  msgstr ""
1971
 
1972
- #: inc/admin/admin-wizard.php:91
 
 
 
 
 
 
 
 
1973
  msgid "Import SEO settings"
1974
  msgstr ""
1975
 
1976
- #: inc/admin/admin-wizard.php:96 inc/admin/admin-wizard.php:368
1977
  msgid "Your site"
1978
  msgstr ""
1979
 
1980
- #: inc/admin/admin-wizard.php:101 inc/admin/admin-wizard.php:478
1981
  msgid "Indexing"
1982
  msgstr ""
1983
 
1984
- #: inc/admin/admin-wizard.php:106 inc/admin/admin-wizard.php:634
1985
  msgid "Advanced options"
1986
  msgstr ""
1987
 
1988
- #: inc/admin/admin-wizard.php:111
1989
  msgid "Ready!"
1990
  msgstr ""
1991
 
1992
- #: inc/admin/admin-wizard.php:170
1993
  msgid "SEOPress &rsaquo; Setup Wizard"
1994
  msgstr ""
1995
 
1996
- #: inc/admin/admin-wizard.php:187
1997
  msgid "Not right now"
1998
  msgstr ""
1999
 
2000
- #: inc/admin/admin-wizard.php:189
2001
  msgid "Skip this step"
2002
  msgstr ""
2003
 
2004
- #: inc/admin/admin-wizard.php:247
2005
  msgid "Welcome!"
2006
  msgstr ""
2007
 
2008
- #: inc/admin/admin-wizard.php:248
2009
  msgid ""
2010
  "The following wizard will help you configure SEOPress and get you started "
2011
  "quickly."
2012
  msgstr ""
2013
 
2014
- #: inc/admin/admin-wizard.php:249
2015
  msgid ""
2016
  "The first step is to import your previous settings from other plugins to "
2017
  "keep your SEO."
2018
  msgstr ""
2019
 
2020
- #: inc/admin/admin-wizard.php:250
2021
  msgid "Not data to migrate? Click \"Next step\" button!"
2022
  msgstr ""
2023
 
2024
- #: inc/admin/admin-wizard.php:255 inc/admin/admin.php:746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2025
  msgid "Import posts and terms metadata from Yoast"
2026
  msgstr ""
2027
 
2028
- #: inc/admin/admin-wizard.php:256 inc/admin/admin-wizard.php:275
2029
- #: inc/admin/admin-wizard.php:292 inc/admin/admin-wizard.php:311
2030
- #: inc/admin/admin.php:747 inc/admin/admin.php:768 inc/admin/admin.php:787
2031
- #: inc/admin/admin.php:808 inc/admin/admin.php:829
 
 
2032
  msgid "By clicking Migrate, we'll import:"
2033
  msgstr ""
2034
 
2035
- #: inc/admin/admin-wizard.php:258 inc/admin/admin-wizard.php:277
2036
- #: inc/admin/admin-wizard.php:294 inc/admin/admin-wizard.php:313
2037
- #: inc/admin/admin.php:749 inc/admin/admin.php:770 inc/admin/admin.php:789
2038
- #: inc/admin/admin.php:810 inc/admin/admin.php:831
 
 
2039
  msgid "Title tags"
2040
  msgstr ""
2041
 
2042
- #: inc/admin/admin-wizard.php:260 inc/admin/admin-wizard.php:279
2043
- #: inc/admin/admin-wizard.php:296 inc/admin/admin-wizard.php:315
2044
- #: inc/admin/admin.php:751 inc/admin/admin.php:772 inc/admin/admin.php:791
2045
- #: inc/admin/admin.php:812 inc/admin/admin.php:833
 
 
2046
  msgid "Facebook Open Graph tags (title, description and image thumbnail)"
2047
  msgstr ""
2048
 
2049
- #: inc/admin/admin-wizard.php:261 inc/admin/admin-wizard.php:297
2050
- #: inc/admin/admin-wizard.php:316 inc/admin/admin.php:752
2051
- #: inc/admin/admin.php:792 inc/admin/admin.php:813 inc/admin/admin.php:834
 
 
2052
  msgid "Twitter tags (title, description and image thumbnail)"
2053
  msgstr ""
2054
 
2055
- #: inc/admin/admin-wizard.php:262 inc/admin/admin.php:753
2056
  msgid "Meta Robots (noindex, nofollow...)"
2057
  msgstr ""
2058
 
2059
- #: inc/admin/admin-wizard.php:264 inc/admin/admin-wizard.php:319
2060
- #: inc/admin/admin.php:755 inc/admin/admin.php:816
2061
  msgid "Focus keywords"
2062
  msgstr ""
2063
 
2064
- #: inc/admin/admin-wizard.php:266 inc/admin/admin.php:757
2065
  msgid ""
2066
  "<strong>WARNING:</strong> Migration will delete / update all SEOPress posts "
2067
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2068
  "NOT delete any Yoast data."
2069
  msgstr ""
2070
 
2071
- #: inc/admin/admin-wizard.php:267 inc/admin/admin-wizard.php:284
2072
- #: inc/admin/admin-wizard.php:303 inc/admin/admin-wizard.php:322
2073
- #: inc/admin/admin.php:758 inc/admin/admin.php:777 inc/admin/admin.php:798
2074
- #: inc/admin/admin.php:819 inc/admin/admin.php:839
 
 
2075
  msgid "Migrate now"
2076
  msgstr ""
2077
 
2078
- #: inc/admin/admin-wizard.php:274 inc/admin/admin.php:767
2079
  msgid "Import posts and terms metadata from All In One SEO"
2080
  msgstr ""
2081
 
2082
- #: inc/admin/admin-wizard.php:280 inc/admin/admin.php:773
2083
  msgid "Twitter image thumbnail"
2084
  msgstr ""
2085
 
2086
- #: inc/admin/admin-wizard.php:281 inc/admin/admin.php:774
2087
  msgid "Meta Robots (noindex, nofollow)"
2088
  msgstr ""
2089
 
2090
- #: inc/admin/admin-wizard.php:283 inc/admin/admin.php:776
2091
  msgid ""
2092
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2093
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2094
  "NOT delete any AIO data."
2095
  msgstr ""
2096
 
2097
- #: inc/admin/admin-wizard.php:291 inc/admin/admin.php:786
2098
  msgid "Import posts and terms metadata from The SEO Framework"
2099
  msgstr ""
2100
 
2101
- #: inc/admin/admin-wizard.php:298 inc/admin/admin.php:793
2102
  msgid "Meta Robots (noindex, nofollow, noarchive)"
2103
  msgstr ""
2104
 
2105
- #: inc/admin/admin-wizard.php:300 inc/admin/admin.php:795
2106
  #: inc/functions/options-advanced-admin.php:312
2107
  msgid "Redirect URL"
2108
  msgstr ""
2109
 
2110
- #: inc/admin/admin-wizard.php:302 inc/admin/admin.php:797
2111
  msgid ""
2112
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2113
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2114
  "NOT delete any SEO Framework data."
2115
  msgstr ""
2116
 
2117
- #: inc/admin/admin-wizard.php:310 inc/admin/admin.php:807
2118
  msgid "Import posts and terms metadata from Rank Math"
2119
  msgstr ""
2120
 
2121
- #: inc/admin/admin-wizard.php:317 inc/admin/admin.php:814
2122
  msgid "Meta Robots (noindex, nofollow, noarchive, noimageindex)"
2123
  msgstr ""
2124
 
2125
- #: inc/admin/admin-wizard.php:321 inc/admin/admin.php:818
2126
  msgid ""
2127
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2128
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2129
  "NOT delete any Rank Math data."
2130
  msgstr ""
2131
 
2132
- #: inc/admin/admin-wizard.php:329 inc/admin/admin-wizard.php:758
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2133
  msgid "Next step"
2134
  msgstr ""
2135
 
2136
- #: inc/admin/admin-wizard.php:370
2137
  msgid ""
2138
  "To build title tags and knowledge graph for Google, you need to fill out the "
2139
  "fields below to configure the general settings. "
2140
  msgstr ""
2141
 
2142
- #: inc/admin/admin-wizard.php:373
2143
  msgid "eg: |"
2144
  msgstr ""
2145
 
2146
- #: inc/admin/admin-wizard.php:375 inc/admin/admin.php:1086
2147
- #: inc/admin/admin.php:2685
2148
  msgid "Site title"
2149
  msgstr ""
2150
 
2151
- #: inc/admin/admin-wizard.php:376
2152
  msgid "eg: My super website"
2153
  msgstr ""
2154
 
2155
- #: inc/admin/admin-wizard.php:378 inc/admin/admin.php:1483
2156
  msgid "Person or organization"
2157
  msgstr ""
2158
 
2159
- #: inc/admin/admin-wizard.php:380
2160
  msgid "Choose a knowledge type"
2161
  msgstr ""
2162
 
2163
- #: inc/admin/admin-wizard.php:386 inc/admin/admin.php:3871
2164
  msgid "Person"
2165
  msgstr ""
2166
 
2167
- #: inc/admin/admin-wizard.php:389 inc/admin/admin.php:3874
2168
  msgid "Organization"
2169
  msgstr ""
2170
 
2171
- #: inc/admin/admin-wizard.php:393 inc/admin/admin.php:1491
2172
- #: inc/admin/admin.php:3887
2173
  msgid "Your name/organization"
2174
  msgstr ""
2175
 
2176
- #: inc/admin/admin-wizard.php:394 inc/admin/admin.php:3887
2177
  msgid "eg: SEOPress"
2178
  msgstr ""
2179
 
2180
- #: inc/admin/admin-wizard.php:396 inc/admin/admin.php:1499
2181
- #: inc/admin/admin.php:3900
2182
  msgid "Your photo/organization logo"
2183
  msgstr ""
2184
 
2185
- #: inc/admin/admin-wizard.php:397
2186
  msgid "eg: https://www.example.com/logo.png"
2187
  msgstr ""
2188
 
2189
- #: inc/admin/admin-wizard.php:399
2190
  msgid "Facebook page URL"
2191
  msgstr ""
2192
 
2193
- #: inc/admin/admin-wizard.php:400 inc/admin/admin.php:4008
2194
  msgid "eg: https://facebook.com/seopresspro"
2195
  msgstr ""
2196
 
2197
- #: inc/admin/admin-wizard.php:402 inc/admin/admin.php:1548
2198
  msgid "Twitter Username"
2199
  msgstr ""
2200
 
2201
- #: inc/admin/admin-wizard.php:403 inc/admin/admin.php:4021
2202
  msgid "eg: @wp_seopress"
2203
  msgstr ""
2204
 
2205
- #: inc/admin/admin-wizard.php:405 inc/admin/admin.php:1556
2206
- #: inc/admin/admin.php:4033
2207
  msgid "Pinterest URL"
2208
  msgstr ""
2209
 
2210
- #: inc/admin/admin-wizard.php:406 inc/admin/admin.php:4033
2211
  msgid "eg: https://pinterest.com/wpbuy/"
2212
  msgstr ""
2213
 
2214
- #: inc/admin/admin-wizard.php:408 inc/admin/admin.php:1564
2215
- #: inc/admin/admin.php:4045
2216
  msgid "Instagram URL"
2217
  msgstr ""
2218
 
2219
- #: inc/admin/admin-wizard.php:409 inc/admin/admin.php:4045
2220
  msgid "eg: https://www.instagram.com/wp_seopress/"
2221
  msgstr ""
2222
 
2223
- #: inc/admin/admin-wizard.php:411 inc/admin/admin.php:1572
2224
- #: inc/admin/admin.php:4057
2225
  msgid "YouTube URL"
2226
  msgstr ""
2227
 
2228
- #: inc/admin/admin-wizard.php:412 inc/admin/admin.php:4057
2229
  msgid "eg: https://www.youtube.com/SEOPress"
2230
  msgstr ""
2231
 
2232
- #: inc/admin/admin-wizard.php:414 inc/admin/admin.php:1580
2233
- #: inc/admin/admin.php:4069
2234
  msgid "LinkedIn URL"
2235
  msgstr ""
2236
 
2237
- #: inc/admin/admin-wizard.php:415 inc/admin/admin.php:4069
2238
  msgid "eg: http://linkedin.com/company/seopress/"
2239
  msgstr ""
2240
 
2241
- #: inc/admin/admin-wizard.php:417 inc/admin/admin.php:1588
2242
- #: inc/admin/admin.php:4081
2243
  msgid "MySpace URL"
2244
  msgstr ""
2245
 
2246
- #: inc/admin/admin-wizard.php:418 inc/admin/admin.php:4081
2247
  msgid "eg: https://myspace.com/your-page"
2248
  msgstr ""
2249
 
2250
- #: inc/admin/admin-wizard.php:420 inc/admin/admin.php:1596
2251
- #: inc/admin/admin.php:4093
2252
  msgid "Soundcloud URL"
2253
  msgstr ""
2254
 
2255
- #: inc/admin/admin-wizard.php:421 inc/admin/admin.php:4093
2256
  msgid "eg: https://soundcloud.com/michaelmccannmusic"
2257
  msgstr ""
2258
 
2259
- #: inc/admin/admin-wizard.php:423 inc/admin/admin.php:1604
2260
- #: inc/admin/admin.php:4105
2261
  msgid "Tumblr URL"
2262
  msgstr ""
2263
 
2264
- #: inc/admin/admin-wizard.php:424 inc/admin/admin.php:4105
2265
  msgid "eg: https://your-site.tumblr.com"
2266
  msgstr ""
2267
 
2268
- #: inc/admin/admin-wizard.php:427 inc/admin/admin-wizard.php:570
2269
- #: inc/admin/admin-wizard.php:677
2270
  msgid "Continue"
2271
  msgstr ""
2272
 
2273
- #: inc/admin/admin-wizard.php:479
2274
  msgid "Specify to the search engines what you want to be indexed or not."
2275
  msgstr ""
2276
 
2277
- #: inc/admin/admin-wizard.php:480
2278
  msgid "Avoid indexing duplicate or poor quality content."
2279
  msgstr ""
2280
 
2281
- #: inc/admin/admin-wizard.php:481
2282
  msgid "Default: index"
2283
  msgstr ""
2284
 
2285
- #: inc/admin/admin-wizard.php:486
2286
  msgid "For which single post types, should indexing be disabled?"
2287
  msgstr ""
2288
 
2289
- #: inc/admin/admin-wizard.php:503
2290
  msgid ""
2291
  "Do not display this single post type in search engine "
2292
  "results <strong>(noindex)</strong>"
2293
  msgstr ""
2294
 
2295
- #: inc/admin/admin-wizard.php:514
2296
  msgid "For which post type archives, should indexing be disabled?"
2297
  msgstr ""
2298
 
2299
- #: inc/admin/admin-wizard.php:532
2300
  msgid ""
2301
  "Do not display this post type archive in search engine "
2302
  "results <strong>(noindex)</strong>"
2303
  msgstr ""
2304
 
2305
- #: inc/admin/admin-wizard.php:544
2306
  msgid "For which taxonomy archives, should indexing be disabled?"
2307
  msgstr ""
2308
 
2309
- #: inc/admin/admin-wizard.php:561
2310
  msgid ""
2311
  "Do not display this taxonomy archive in search engine "
2312
  "results <strong>(noindex)</strong>"
2313
  msgstr ""
2314
 
2315
- #: inc/admin/admin-wizard.php:644 inc/admin/admin.php:3216
2316
  msgid ""
2317
  "Do not display author archives in search engine results <strong>(noindex)</"
2318
  "strong>"
2319
  msgstr ""
2320
 
2321
- #: inc/admin/admin-wizard.php:647
2322
  msgid ""
2323
  "You only have one author on your site? Check this option to avoid duplicate "
2324
  "content."
2325
  msgstr ""
2326
 
2327
- #: inc/admin/admin-wizard.php:656 inc/admin/admin.php:5202
2328
  msgid ""
2329
  "Redirect attachment pages to their file URL (https://www.example.com/my-"
2330
  "image-file.jpg)"
2331
  msgstr ""
2332
 
2333
- #: inc/admin/admin-wizard.php:659
2334
  msgid ""
2335
  "By default, SEOPress redirects your Attachment pages to the parent post. "
2336
  "Optimize this by redirecting the user directly to the URL of the media file."
2337
  msgstr ""
2338
 
2339
- #: inc/admin/admin-wizard.php:668 inc/admin/admin.php:5327
2340
  msgid "Remove /category/ in your permalinks"
2341
  msgstr ""
2342
 
2343
- #: inc/admin/admin-wizard.php:671
2344
  msgid "Shorten your URLs by removing /category/ and improve your SEO."
2345
  msgstr ""
2346
 
2347
- #: inc/admin/admin-wizard.php:721
2348
  msgid "Your site is now ready for search engines!"
2349
  msgstr ""
2350
 
2351
- #: inc/admin/admin-wizard.php:726 inc/functions/options-advanced-admin.php:18
2352
  msgid "Welcome to SEOPress PRO!"
2353
  msgstr ""
2354
 
2355
- #: inc/admin/admin-wizard.php:729 inc/functions/options-advanced-admin.php:19
2356
  msgid ""
2357
  "Please activate your license to receive automatic updates and get premium "
2358
  "support."
2359
  msgstr ""
2360
 
2361
- #: inc/admin/admin-wizard.php:734 inc/functions/options-advanced-admin.php:20
2362
  msgid "Activate License"
2363
  msgstr ""
2364
 
2365
- #: inc/admin/admin-wizard.php:741
2366
  msgid "Go PRO with SEOPress PRO!"
2367
  msgstr ""
2368
 
2369
- #: inc/admin/admin-wizard.php:744
2370
  msgid ""
2371
  "When you upgrade to the PRO version, you get a lot of additional features, "
2372
  "like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, "
2373
  "Analytics statistics in your Dashboard, breadcrumbs, redirections, and more."
2374
  msgstr ""
2375
 
2376
- #: inc/admin/admin-wizard.php:749
2377
  msgid "Buy SEOPress PRO - $39 / unlimited sites"
2378
  msgstr ""
2379
 
2380
- #: inc/admin/admin-wizard.php:759
2381
  msgid "Create your XML sitemaps"
2382
  msgstr ""
2383
 
2384
- #: inc/admin/admin-wizard.php:760
2385
  msgid "Build custom XML sitemaps to improve Google's crawling of your site."
2386
  msgstr ""
2387
 
2388
- #: inc/admin/admin-wizard.php:765
2389
  msgid "Configure your XML sitemaps"
2390
  msgstr ""
2391
 
2392
- #: inc/admin/admin-wizard.php:772
2393
  msgid "Follow us:"
2394
  msgstr ""
2395
 
2396
- #: inc/admin/admin-wizard.php:779
2397
  msgid "Like our Facebook page"
2398
  msgstr ""
2399
 
2400
- #: inc/admin/admin-wizard.php:791
2401
  msgid "Watch our guided tour videos to learn more about SEOPress"
2402
  msgstr ""
2403
 
2404
- #: inc/admin/admin-wizard.php:797
2405
  msgid "The off side of SEOPress"
2406
  msgstr ""
2407
 
2408
- #: inc/admin/admin-wizard.php:805
2409
  msgid "You can also:"
2410
  msgstr ""
2411
 
2412
- #: inc/admin/admin-wizard.php:810
2413
  msgid "Visit Dashboard"
2414
  msgstr ""
2415
 
2416
- #: inc/admin/admin-wizard.php:813
2417
  msgid "Review Settings"
2418
  msgstr ""
2419
 
2420
- #: inc/admin/admin-wizard.php:816
2421
  msgid "Knowledge base"
2422
  msgstr ""
2423
 
2424
- #: inc/admin/admin.php:105
2425
  msgid "404 - Page not found"
2426
  msgstr ""
2427
 
2428
- #: inc/admin/admin.php:184
2429
  msgid "Dashboard"
2430
  msgstr ""
2431
 
2432
- #: inc/admin/admin.php:197
2433
  #, php-format
2434
  msgid "%%sep%%"
2435
  msgstr ""
2436
 
2437
- #: inc/admin/admin.php:197
2438
  msgid "Separator (eg: - )"
2439
  msgstr ""
2440
 
2441
- #: inc/admin/admin.php:198
2442
  #, php-format
2443
  msgid "%%sitetitle%% (alias: %%sitename%%)"
2444
  msgstr ""
2445
 
2446
- #: inc/admin/admin.php:199
2447
  #, php-format
2448
  msgid "%%tagline%% (alias %%sitedesc%%)"
2449
  msgstr ""
2450
 
2451
- #: inc/admin/admin.php:199 inc/admin/admin.php:2690 inc/admin/admin.php:2701
2452
  msgid "Tagline"
2453
  msgstr ""
2454
 
2455
- #: inc/admin/admin.php:200
2456
  #, php-format
2457
  msgid "%%post_title%% (alias %%title%%)"
2458
  msgstr ""
2459
 
2460
- #: inc/admin/admin.php:200
2461
  msgid "Post Title (post, page, custom post type)"
2462
  msgstr ""
2463
 
2464
- #: inc/admin/admin.php:201
2465
  #, php-format
2466
  msgid "%%post_excerpt%% (alias %%excerpt%%)"
2467
  msgstr ""
2468
 
2469
- #: inc/admin/admin.php:201
2470
  msgid "Post excerpt"
2471
  msgstr ""
2472
 
2473
- #: inc/admin/admin.php:202
2474
  #, php-format
2475
  msgid "%%post_content%%"
2476
  msgstr ""
2477
 
2478
- #: inc/admin/admin.php:202
2479
  msgid "Post content / product long description"
2480
  msgstr ""
2481
 
2482
- #: inc/admin/admin.php:203
2483
  #, php-format
2484
  msgid "%%post_thumbnail_url%%"
2485
  msgstr ""
2486
 
2487
- #: inc/admin/admin.php:203
2488
  msgid "Post thumbnail URL"
2489
  msgstr ""
2490
 
2491
- #: inc/admin/admin.php:204
2492
  #, php-format
2493
  msgid "%%post_date%% (alias %%date%%)"
2494
  msgstr ""
2495
 
2496
- #: inc/admin/admin.php:204
2497
  msgid "Post date"
2498
  msgstr ""
2499
 
2500
- #: inc/admin/admin.php:205
2501
  #, php-format
2502
  msgid "%%post_modified_date%%"
2503
  msgstr ""
2504
 
2505
- #: inc/admin/admin.php:205
2506
  msgid "Last modified post date"
2507
  msgstr ""
2508
 
2509
- #: inc/admin/admin.php:206
2510
  #, php-format
2511
  msgid "%%post_author%%"
2512
  msgstr ""
2513
 
2514
- #: inc/admin/admin.php:206 inc/admin/admin.php:3183
2515
  msgid "Post author"
2516
  msgstr ""
2517
 
2518
- #: inc/admin/admin.php:207
2519
  #, php-format
2520
  msgid "%%post_category%%"
2521
  msgstr ""
2522
 
2523
- #: inc/admin/admin.php:207
2524
  msgid "Post category"
2525
  msgstr ""
2526
 
2527
- #: inc/admin/admin.php:208
2528
  #, php-format
2529
  msgid "%%post_tag%%"
2530
  msgstr ""
2531
 
2532
- #: inc/admin/admin.php:208
2533
  msgid "Post tag"
2534
  msgstr ""
2535
 
2536
- #: inc/admin/admin.php:209
2537
  #, php-format
2538
  msgid "%%_category_title%%"
2539
  msgstr ""
2540
 
2541
- #: inc/admin/admin.php:209
2542
  msgid "Category title"
2543
  msgstr ""
2544
 
2545
- #: inc/admin/admin.php:210
2546
  #, php-format
2547
  msgid "%%_category_description%%"
2548
  msgstr ""
2549
 
2550
- #: inc/admin/admin.php:210
2551
  msgid "Category description"
2552
  msgstr ""
2553
 
2554
- #: inc/admin/admin.php:211
2555
  #, php-format
2556
  msgid "%%tag_title%%"
2557
  msgstr ""
2558
 
2559
- #: inc/admin/admin.php:211
2560
  msgid "Tag title"
2561
  msgstr ""
2562
 
2563
- #: inc/admin/admin.php:212
2564
  #, php-format
2565
  msgid "%%tag_description%%"
2566
  msgstr ""
2567
 
2568
- #: inc/admin/admin.php:212
2569
  msgid "Tag description"
2570
  msgstr ""
2571
 
2572
- #: inc/admin/admin.php:213
2573
  #, php-format
2574
  msgid "%%term_title%%"
2575
  msgstr ""
2576
 
2577
- #: inc/admin/admin.php:213
2578
  msgid "Term title"
2579
  msgstr ""
2580
 
2581
- #: inc/admin/admin.php:214
2582
  #, php-format
2583
  msgid "%%term_description%%"
2584
  msgstr ""
2585
 
2586
- #: inc/admin/admin.php:214
2587
  msgid "Term description"
2588
  msgstr ""
2589
 
2590
- #: inc/admin/admin.php:215
2591
  #, php-format
2592
  msgid "%%search_keywords%%"
2593
  msgstr ""
2594
 
2595
- #: inc/admin/admin.php:215
2596
  msgid "Search keywords"
2597
  msgstr ""
2598
 
2599
- #: inc/admin/admin.php:216
2600
  #, php-format
2601
  msgid "%%current_pagination%%"
2602
  msgstr ""
2603
 
2604
- #: inc/admin/admin.php:216
2605
  msgid "Current number page"
2606
  msgstr ""
2607
 
2608
- #: inc/admin/admin.php:217
2609
  #, php-format
2610
  msgid "%%page%%"
2611
  msgstr ""
2612
 
2613
- #: inc/admin/admin.php:217
2614
  msgid "Current page number with context (i.e. page 1 of 3)"
2615
  msgstr ""
2616
 
2617
- #: inc/admin/admin.php:218
2618
  #, php-format
2619
  msgid "%%cpt_plural%%"
2620
  msgstr ""
2621
 
2622
- #: inc/admin/admin.php:218
2623
  msgid "Plural Post Type Archive name"
2624
  msgstr ""
2625
 
2626
- #: inc/admin/admin.php:219
2627
  #, php-format
2628
  msgid "%%archive_title%%"
2629
  msgstr ""
2630
 
2631
- #: inc/admin/admin.php:219
2632
  msgid "Archive title"
2633
  msgstr ""
2634
 
2635
- #: inc/admin/admin.php:220
2636
  #, php-format
2637
  msgid "%%archive_date%%"
2638
  msgstr ""
2639
 
2640
- #: inc/admin/admin.php:220
2641
  msgid "Date Archive"
2642
  msgstr ""
2643
 
2644
- #: inc/admin/admin.php:221
2645
  #, php-format
2646
  msgid "%%archive_date_day%%"
2647
  msgstr ""
2648
 
2649
- #: inc/admin/admin.php:221
2650
  msgid "Day Archive date"
2651
  msgstr ""
2652
 
2653
- #: inc/admin/admin.php:222
2654
  #, php-format
2655
  msgid "%%archive_date_month%%"
2656
  msgstr ""
2657
 
2658
- #: inc/admin/admin.php:222
2659
  msgid "Month Archive title"
2660
  msgstr ""
2661
 
2662
- #: inc/admin/admin.php:223
2663
  #, php-format
2664
  msgid "%%archive_date_year%%"
2665
  msgstr ""
2666
 
2667
- #: inc/admin/admin.php:223
2668
  msgid "Year Archive title"
2669
  msgstr ""
2670
 
2671
- #: inc/admin/admin.php:224
2672
  #, php-format
2673
  msgid "%%_cf_your_custom_field_name%%"
2674
  msgstr ""
2675
 
2676
- #: inc/admin/admin.php:224
2677
  msgid ""
2678
  "Custom fields from post, page or post type (replace <span style=\"color:red;"
2679
  "margin:0\">your_custom_field_name</span> with your custom field name)"
2680
  msgstr ""
2681
 
2682
- #: inc/admin/admin.php:225
2683
  #, php-format
2684
  msgid "%%_ct_your_custom_taxonomy_slug%%"
2685
  msgstr ""
2686
 
2687
- #: inc/admin/admin.php:225
2688
  msgid ""
2689
  "Custom term taxonomy from post, page or post type (replace <span style="
2690
  "\"color:red;margin:0\">your_custom_taxonomy_slug</span> with your custom "
2691
  "taxonomy slug)"
2692
  msgstr ""
2693
 
2694
- #: inc/admin/admin.php:226
2695
  #, php-format
2696
  msgid "%%wc_single_cat%%"
2697
  msgstr ""
2698
 
2699
- #: inc/admin/admin.php:226
2700
  msgid "Single product category"
2701
  msgstr ""
2702
 
2703
- #: inc/admin/admin.php:227
2704
  #, php-format
2705
  msgid "%%wc_single_tag%%"
2706
  msgstr ""
2707
 
2708
- #: inc/admin/admin.php:227
2709
  msgid "Single product tag"
2710
  msgstr ""
2711
 
2712
- #: inc/admin/admin.php:228
2713
  #, php-format
2714
  msgid "%%wc_single_short_desc%%"
2715
  msgstr ""
2716
 
2717
- #: inc/admin/admin.php:228
2718
  msgid "Single product short description"
2719
  msgstr ""
2720
 
2721
- #: inc/admin/admin.php:229
2722
  #, php-format
2723
  msgid "%%wc_single_price%%"
2724
  msgstr ""
2725
 
2726
- #: inc/admin/admin.php:229
2727
  msgid "Single product price"
2728
  msgstr ""
2729
 
2730
- #: inc/admin/admin.php:230
2731
  #, php-format
2732
  msgid "%%wc_single_price_exc_tax%%"
2733
  msgstr ""
2734
 
2735
- #: inc/admin/admin.php:230
2736
  msgid "Single product price taxes excluded"
2737
  msgstr ""
2738
 
2739
- #: inc/admin/admin.php:231
2740
  #, php-format
2741
  msgid "%%wc_sku%%"
2742
  msgstr ""
2743
 
2744
- #: inc/admin/admin.php:231
2745
  msgid "Single SKU product"
2746
  msgstr ""
2747
 
2748
- #: inc/admin/admin.php:232
2749
  #, php-format
2750
  msgid "%%currentday%%"
2751
  msgstr ""
2752
 
2753
- #: inc/admin/admin.php:232
2754
  msgid "Current day"
2755
  msgstr ""
2756
 
2757
- #: inc/admin/admin.php:233
2758
  #, php-format
2759
  msgid "%%currentmonth%%"
2760
  msgstr ""
2761
 
2762
- #: inc/admin/admin.php:233
2763
  msgid "Current month"
2764
  msgstr ""
2765
 
2766
- #: inc/admin/admin.php:234
2767
  #, php-format
2768
  msgid "%%currentmonth_short%%"
2769
  msgstr ""
2770
 
2771
- #: inc/admin/admin.php:234
2772
  msgid "Current month in 3 letters, eg: \"Jan\" for \"January\""
2773
  msgstr ""
2774
 
2775
- #: inc/admin/admin.php:235
2776
  #, php-format
2777
  msgid "%%currentyear%%"
2778
  msgstr ""
2779
 
2780
- #: inc/admin/admin.php:235
2781
  msgid "Current year"
2782
  msgstr ""
2783
 
2784
- #: inc/admin/admin.php:236
2785
  #, php-format
2786
  msgid "%%currentdate%%"
2787
  msgstr ""
2788
 
2789
- #: inc/admin/admin.php:236
2790
  msgid "Current date"
2791
  msgstr ""
2792
 
2793
- #: inc/admin/admin.php:237
2794
  #, php-format
2795
  msgid "%%currenttime%%"
2796
  msgstr ""
2797
 
2798
- #: inc/admin/admin.php:237
2799
  msgid "Current time"
2800
  msgstr ""
2801
 
2802
- #: inc/admin/admin.php:238
2803
  #, php-format
2804
  msgid "%%author_bio%%"
2805
  msgstr ""
2806
 
2807
- #: inc/admin/admin.php:238
2808
  msgid "Author bio, meta desc only"
2809
  msgstr ""
2810
 
2811
- #: inc/admin/admin.php:244
2812
  msgid "Templates variables"
2813
  msgstr ""
2814
 
2815
- #: inc/admin/admin.php:252 inc/admin/admin.php:260
2816
  msgid "Browse our guides"
2817
  msgstr ""
2818
 
2819
- #: inc/admin/admin.php:253 inc/admin/admin.php:261
2820
  msgid "Read our FAQ"
2821
  msgstr ""
2822
 
2823
- #: inc/admin/admin.php:254 inc/admin/admin.php:262
2824
  msgid "Check our website"
2825
  msgstr ""
2826
 
2827
- #: inc/admin/admin.php:274
2828
  msgid ""
2829
  "Watch our video to learn how to connect your WordPress site with Google "
2830
  "Analytics and get statistics right in your dashboard (PRO only)."
2831
  msgstr ""
2832
 
2833
- #: inc/admin/admin.php:279
2834
  msgid "How-to"
2835
  msgstr ""
2836
 
2837
- #: inc/admin/admin.php:346
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2838
  msgid "Home"
2839
  msgstr ""
2840
 
2841
- #: inc/admin/admin.php:347
2842
  msgid "Single Post Types"
2843
  msgstr ""
2844
 
2845
- #: inc/admin/admin.php:348
2846
  msgid "Archives"
2847
  msgstr ""
2848
 
2849
- #: inc/admin/admin.php:349 inc/admin/admin.php:415
2850
  msgid "Taxonomies"
2851
  msgstr ""
2852
 
2853
- #: inc/admin/admin.php:413 inc/admin/admin.php:546 inc/admin/admin.php:555
2854
  msgid "General"
2855
  msgstr ""
2856
 
2857
- #: inc/admin/admin.php:414
2858
  msgid "Post Types"
2859
  msgstr ""
2860
 
2861
- #: inc/admin/admin.php:416
2862
  msgid "HTML Sitemap"
2863
  msgstr ""
2864
 
2865
- #: inc/admin/admin.php:478
2866
  msgid "Knowledge Graph"
2867
  msgstr ""
2868
 
2869
- #: inc/admin/admin.php:479
2870
  msgid "Your social accounts"
2871
  msgstr ""
2872
 
2873
- #: inc/admin/admin.php:480
2874
  msgid "Facebook (Open Graph)"
2875
  msgstr ""
2876
 
2877
- #: inc/admin/admin.php:481
2878
  msgid "Twitter (Twitter card)"
2879
  msgstr ""
2880
 
2881
- #: inc/admin/admin.php:547 inc/admin/admin.php:556
2882
  msgid "Tracking"
2883
  msgstr ""
2884
 
2885
- #: inc/admin/admin.php:548 inc/admin/admin.php:557
2886
  msgid "Events"
2887
  msgstr ""
2888
 
2889
- #: inc/admin/admin.php:549 inc/admin/admin.php:558
2890
  msgid "Custom Dimensions"
2891
  msgstr ""
2892
 
2893
- #: inc/admin/admin.php:550
2894
  msgid "Stats in Dashboard"
2895
  msgstr ""
2896
 
2897
- #: inc/admin/admin.php:551 inc/admin/admin.php:559
2898
  msgid "Cookie bar / GDPR"
2899
  msgstr ""
2900
 
2901
- #: inc/admin/admin.php:628
2902
  msgid "Appearance"
2903
  msgstr ""
2904
 
2905
- #: inc/admin/admin.php:629
2906
  msgid "Security"
2907
  msgstr ""
2908
 
2909
- #: inc/admin/admin.php:663
2910
  msgid "Data"
2911
  msgstr ""
2912
 
2913
- #: inc/admin/admin.php:664 seopress.php:369
2914
  msgid "Settings"
2915
  msgstr ""
2916
 
2917
- #: inc/admin/admin.php:665
2918
  msgid "Plugins"
2919
  msgstr ""
2920
 
2921
- #: inc/admin/admin.php:667
2922
  msgid "Reset"
2923
  msgstr ""
2924
 
2925
- #: inc/admin/admin.php:685
2926
  msgid "Import data from a CSV"
2927
  msgstr ""
2928
 
2929
- #: inc/admin/admin.php:686
2930
  msgid ""
2931
  "Import your title, meta description, meta robots, social metas from a CSV "
2932
  "file with our import tool."
2933
  msgstr ""
2934
 
2935
- #: inc/admin/admin.php:687
2936
  msgid "Run the importer"
2937
  msgstr ""
2938
 
2939
- #: inc/admin/admin.php:692
2940
  msgid "Export metadata to a CSV"
2941
  msgstr ""
2942
 
2943
- #: inc/admin/admin.php:693
2944
  msgid "Export your SEOPress metadata for this site as a .csv file."
2945
  msgstr ""
2946
 
2947
- #: inc/admin/admin.php:698 inc/admin/admin.php:716 inc/admin/admin.php:919
2948
  msgid "Export"
2949
  msgstr ""
2950
 
2951
- #: inc/admin/admin.php:710
2952
  msgid "Export plugin settings"
2953
  msgstr ""
2954
 
2955
- #: inc/admin/admin.php:711
2956
  msgid ""
2957
  "Export the plugin settings for this site as a .json file. This allows you to "
2958
  "easily import the configuration into another site."
2959
  msgstr ""
2960
 
2961
- #: inc/admin/admin.php:724
2962
  msgid "Import plugin settings"
2963
  msgstr ""
2964
 
2965
- #: inc/admin/admin.php:725
2966
  msgid ""
2967
  "Import the plugin settings from a .json file. This file can be obtained by "
2968
  "exporting the settings on another site using the form above."
2969
  msgstr ""
2970
 
2971
- #: inc/admin/admin.php:733 inc/admin/admin.php:874 inc/admin/admin.php:890
2972
- #: inc/admin/admin.php:906
2973
  msgid "Import"
2974
  msgstr ""
2975
 
2976
- #: inc/admin/admin.php:735
2977
  msgid "Import completed!"
2978
  msgstr ""
2979
 
2980
- #: inc/admin/admin.php:828
2981
- msgid "Import posts metadata from Squirrly SEO"
2982
- msgstr ""
2983
-
2984
- #: inc/admin/admin.php:835
2985
- msgid "Meta Robots (noindex or nofollow)"
2986
- msgstr ""
2987
-
2988
- #: inc/admin/admin.php:838
2989
- msgid ""
2990
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2991
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2992
- "any Squirrly SEO data."
2993
- msgstr ""
2994
-
2995
- #: inc/admin/admin.php:849
2996
  msgid "Import your redirections"
2997
  msgstr ""
2998
 
2999
- #: inc/admin/admin.php:851
3000
- msgid "Select an option"
3001
- msgstr ""
3002
-
3003
- #: inc/admin/admin.php:852
3004
  msgid "CSV file (must match the template)"
3005
  msgstr ""
3006
 
3007
- #: inc/admin/admin.php:853
3008
  msgid "Redirections plugin (JSON - WordPress Redirects)"
3009
  msgstr ""
3010
 
3011
- #: inc/admin/admin.php:854
3012
  msgid "Yoast Premium plugin (CSV)"
3013
  msgstr ""
3014
 
3015
- #: inc/admin/admin.php:860
 
 
 
 
3016
  msgid "Import Redirections"
3017
  msgstr ""
3018
 
3019
- #: inc/admin/admin.php:861
3020
  msgid ""
3021
  "Import your own redirections from a .csv file (separator \";\"). You must "
3022
  "have 5 columns in this order: <ul><li>URL to match (without your domain "
@@ -3028,15 +3180,15 @@ msgid ""
3028
  "to the redirection).</li></ul>"
3029
  msgstr ""
3030
 
3031
- #: inc/admin/admin.php:864
3032
  msgid "Download a CSV example"
3033
  msgstr ""
3034
 
3035
- #: inc/admin/admin.php:881
3036
  msgid "Import Redirections from the Redirections plugin"
3037
  msgstr ""
3038
 
3039
- #: inc/admin/admin.php:882
3040
  msgid ""
3041
  "Import your own redirections from a .json file generated by the Redirections "
3042
  "plugin (make sure to select <strong>\"WordPress redirects\"</strong> when "
@@ -3045,626 +3197,644 @@ msgid ""
3045
  "file and existing redirects."
3046
  msgstr ""
3047
 
3048
- #: inc/admin/admin.php:897
3049
  msgid "Import Redirections from Yoast Premium"
3050
  msgstr ""
3051
 
3052
- #: inc/admin/admin.php:898
3053
  msgid ""
3054
  "Import your own redirections from a .csv file generated by Yoast Premium. "
3055
  "Note that we don't support certain options, like regex. To avoid conflicts, "
3056
  "make sure there are no duplicates between your file and existing redirects."
3057
  msgstr ""
3058
 
3059
- #: inc/admin/admin.php:913
 
 
 
 
 
 
 
 
 
 
 
3060
  msgid "Export Redirections"
3061
  msgstr ""
3062
 
3063
- #: inc/admin/admin.php:914
3064
  msgid ""
3065
  "Export all redirections for this site as a .csv file. This allows you to "
3066
  "easily import the redirections into another site, to Excel / Google Sheets..."
3067
  msgstr ""
3068
 
3069
- #: inc/admin/admin.php:926
3070
  msgid "Clean your 404"
3071
  msgstr ""
3072
 
3073
- #: inc/admin/admin.php:927
3074
  msgid "Delete all your 404 errors. We don‘t delete any redirects."
3075
  msgstr ""
3076
 
3077
- #: inc/admin/admin.php:932
 
 
 
 
 
 
 
3078
  msgid "Delete all 404"
3079
  msgstr ""
3080
 
3081
- #: inc/admin/admin.php:938
3082
  msgid "Redirections feature is disabled. Please activate it from the PRO page."
3083
  msgstr ""
3084
 
3085
- #: inc/admin/admin.php:939
3086
  msgid "Activate Redirections"
3087
  msgstr ""
3088
 
3089
- #: inc/admin/admin.php:946
3090
  msgid "Reset All Notices From Notifications Center"
3091
  msgstr ""
3092
 
3093
- #: inc/admin/admin.php:947
3094
  msgid ""
3095
  "By clicking Reset Notices, all notices in the notifications center will be "
3096
  "set to their initial status."
3097
  msgstr ""
3098
 
3099
- #: inc/admin/admin.php:952
3100
  msgid "Reset notices"
3101
  msgstr ""
3102
 
3103
- #: inc/admin/admin.php:960
3104
  msgid "Reset All Settings"
3105
  msgstr ""
3106
 
3107
- #: inc/admin/admin.php:961
3108
  msgid ""
3109
  "<strong>WARNING:</strong> Delete all options related to SEOPress in your "
3110
  "database AND set settings to their default values."
3111
  msgstr ""
3112
 
3113
- #: inc/admin/admin.php:966
3114
  msgid "Reset settings"
3115
  msgstr ""
3116
 
3117
- #: inc/admin/admin.php:1279 inc/admin/admin.php:3407
3118
  msgid "noindex"
3119
  msgstr ""
3120
 
3121
- #: inc/admin/admin.php:1287 inc/admin/admin.php:3426
3122
  msgid "nofollow"
3123
  msgstr ""
3124
 
3125
- #: inc/admin/admin.php:1295 inc/admin/admin.php:3445
3126
  msgid "noodp"
3127
  msgstr ""
3128
 
3129
- #: inc/admin/admin.php:1303 inc/admin/admin.php:3464
3130
  msgid "noimageindex"
3131
  msgstr ""
3132
 
3133
- #: inc/admin/admin.php:1311 inc/admin/admin.php:3483
3134
  msgid "noarchive"
3135
  msgstr ""
3136
 
3137
- #: inc/admin/admin.php:1319 inc/admin/admin.php:3502
3138
  msgid "nosnippet"
3139
  msgstr ""
3140
 
3141
- #: inc/admin/admin.php:1327 inc/admin/admin.php:3521
3142
  msgid "nositelinkssearchbox"
3143
  msgstr ""
3144
 
3145
- #: inc/admin/admin.php:1335
3146
  msgid "Indicate paginated content to Google"
3147
  msgstr ""
3148
 
3149
- #: inc/admin/admin.php:1352 inc/admin/admin.php:3559
3150
  msgid "Enable XML Sitemap"
3151
  msgstr ""
3152
 
3153
- #: inc/admin/admin.php:1360
3154
  msgid "Enable XML Image Sitemaps"
3155
  msgstr ""
3156
 
3157
- #: inc/admin/admin.php:1369
3158
  msgid "Enable XML Video Sitemaps"
3159
  msgstr ""
3160
 
3161
- #: inc/admin/admin.php:1378 inc/admin/admin.php:3646
3162
  msgid "Enable Author Sitemap"
3163
  msgstr ""
3164
 
3165
- #: inc/admin/admin.php:1386 inc/admin/admin.php:3665
3166
  msgid "Enable HTML Sitemap"
3167
  msgstr ""
3168
 
3169
- #: inc/admin/admin.php:1402
3170
  msgid "Check to INCLUDE Post Types"
3171
  msgstr ""
3172
 
3173
- #: inc/admin/admin.php:1418
3174
  msgid "Check to INCLUDE Taxonomies"
3175
  msgstr ""
3176
 
3177
- #: inc/admin/admin.php:1434 inc/admin/admin.php:3774
3178
  msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
3179
  msgstr ""
3180
 
3181
- #: inc/admin/admin.php:1442 inc/admin/admin.php:3788
3182
  msgid "Exclude some Posts, Pages, Custom Post Types or Terms IDs"
3183
  msgstr ""
3184
 
3185
- #: inc/admin/admin.php:1450
3186
  msgid "Sort order"
3187
  msgstr ""
3188
 
3189
- #: inc/admin/admin.php:1458
3190
  msgid "Order posts by"
3191
  msgstr ""
3192
 
3193
- #: inc/admin/admin.php:1466
3194
  msgid "Disable the display of the publication date"
3195
  msgstr ""
3196
 
3197
- #: inc/admin/admin.php:1507 inc/admin/admin.php:3930
3198
  msgid "Organization's phone number (only for Organizations)"
3199
  msgstr ""
3200
 
3201
- #: inc/admin/admin.php:1515
3202
  msgid "Contact type (only for Organizations)"
3203
  msgstr ""
3204
 
3205
- #: inc/admin/admin.php:1523
3206
  msgid "Contact option (only for Organizations)"
3207
  msgstr ""
3208
 
3209
- #: inc/admin/admin.php:1540 inc/admin/admin.php:4008
3210
  msgid "Facebook Page URL"
3211
  msgstr ""
3212
 
3213
- #: inc/admin/admin.php:1621
3214
  msgid "Enable Open Graph Data"
3215
  msgstr ""
3216
 
3217
- #: inc/admin/admin.php:1629 inc/admin/admin.php:4137
3218
  msgid "Select a default image"
3219
  msgstr ""
3220
 
3221
- #: inc/admin/admin.php:1637
3222
  msgid "Apply this image to all your og:image tag"
3223
  msgstr ""
3224
 
3225
- #: inc/admin/admin.php:1645
3226
  msgid "Facebook Link Ownership ID"
3227
  msgstr ""
3228
 
3229
- #: inc/admin/admin.php:1653
3230
  msgid "Facebook Admin ID"
3231
  msgstr ""
3232
 
3233
- #: inc/admin/admin.php:1661
3234
  msgid "Facebook App ID"
3235
  msgstr ""
3236
 
3237
- #: inc/admin/admin.php:1678
3238
  msgid "Enable Twitter Card"
3239
  msgstr ""
3240
 
3241
- #: inc/admin/admin.php:1686
3242
  msgid "Use Open Graph if no Twitter Card is filled"
3243
  msgstr ""
3244
 
3245
- #: inc/admin/admin.php:1694 inc/admin/admin.php:4249
3246
  msgid "Default Twitter Image"
3247
  msgstr ""
3248
 
3249
- #: inc/admin/admin.php:1702
3250
  msgid "Image size for Twitter Summary card"
3251
  msgstr ""
3252
 
3253
- #: inc/admin/admin.php:1719
3254
  msgid "Enable Google Analytics tracking"
3255
  msgstr ""
3256
 
3257
- #: inc/admin/admin.php:1727 inc/admin/admin.php:4302
3258
  msgid "Enter your tracking ID"
3259
  msgstr ""
3260
 
3261
- #: inc/admin/admin.php:1735
3262
  msgid "Exclude user roles from tracking"
3263
  msgstr ""
3264
 
3265
- #: inc/admin/admin.php:1752
3266
  msgid "Google Analytics tracking opt-in"
3267
  msgstr ""
3268
 
3269
- #: inc/admin/admin.php:1768
3270
  msgid "Consent message for user tracking"
3271
  msgstr ""
3272
 
3273
- #: inc/admin/admin.php:1776
3274
  msgid "Accept button for user tracking"
3275
  msgstr ""
3276
 
3277
- #: inc/admin/admin.php:1784
3278
  msgid "Close button"
3279
  msgstr ""
3280
 
3281
- #: inc/admin/admin.php:1792
3282
  msgid "Cookie bar position"
3283
  msgstr ""
3284
 
3285
- #: inc/admin/admin.php:1800
3286
  msgid "Cookie bar background color"
3287
  msgstr ""
3288
 
3289
- #: inc/admin/admin.php:1808
3290
  msgid "Cookie bar text color"
3291
  msgstr ""
3292
 
3293
- #: inc/admin/admin.php:1816
3294
  msgid "Cookie bar link color"
3295
  msgstr ""
3296
 
3297
- #: inc/admin/admin.php:1824
3298
  msgid "Cookie bar button background color"
3299
  msgstr ""
3300
 
3301
- #: inc/admin/admin.php:1832
3302
  msgid "Cookie bar button color"
3303
  msgstr ""
3304
 
3305
- #: inc/admin/admin.php:1840
3306
  msgid "Cookie bar button hover background color"
3307
  msgstr ""
3308
 
3309
- #: inc/admin/admin.php:1848
3310
  msgid "Cookie bar button hover color"
3311
  msgstr ""
3312
 
3313
- #: inc/admin/admin.php:1856
3314
  msgid "Cookie bar secondary button background color"
3315
  msgstr ""
3316
 
3317
- #: inc/admin/admin.php:1864
3318
  msgid "Cookie bar secondary button color"
3319
  msgstr ""
3320
 
3321
- #: inc/admin/admin.php:1872
3322
  msgid "Cookie bar secondary button hover background color"
3323
  msgstr ""
3324
 
3325
- #: inc/admin/admin.php:1880
3326
  msgid "Cookie bar secondary button hover color"
3327
  msgstr ""
3328
 
3329
- #: inc/admin/admin.php:1898
3330
  msgid "Enable Google Optimize"
3331
  msgstr ""
3332
 
3333
- #: inc/admin/admin.php:1906
3334
  msgid "Enable Google Ads"
3335
  msgstr ""
3336
 
3337
- #: inc/admin/admin.php:1914
3338
  msgid ""
3339
  "[HEAD] Add an additional tracking code (like GTM, Facebook Pixel, Hotjar...)"
3340
  msgstr ""
3341
 
3342
- #: inc/admin/admin.php:1922
3343
  msgid "[BODY] Add an additional tracking code (like Google Tag Manager...)"
3344
  msgstr ""
3345
 
3346
- #: inc/admin/admin.php:1930
3347
  msgid ""
3348
  "[BODY (FOOTER)] Add an additional tracking code (like Google Tag Manager...)"
3349
  msgstr ""
3350
 
3351
- #: inc/admin/admin.php:1938 inc/admin/admin.php:4621
3352
  msgid "Enable remarketing, demographics, and interests reporting"
3353
  msgstr ""
3354
 
3355
- #: inc/admin/admin.php:1946 inc/admin/admin.php:4643
3356
  msgid "Enable IP Anonymization"
3357
  msgstr ""
3358
 
3359
- #: inc/admin/admin.php:1954 inc/admin/admin.php:4665
3360
  msgid "Enhanced Link Attribution"
3361
  msgstr ""
3362
 
3363
- #: inc/admin/admin.php:1962 inc/admin/admin.php:4687
3364
  msgid "Enable cross-domain tracking"
3365
  msgstr ""
3366
 
3367
- #: inc/admin/admin.php:1970 inc/admin/admin.php:4704
3368
  msgid "Cross domains"
3369
  msgstr ""
3370
 
3371
- #: inc/admin/admin.php:1988 inc/admin/admin.php:4721
3372
  msgid "Enable external links tracking"
3373
  msgstr ""
3374
 
3375
- #: inc/admin/admin.php:1996
3376
  msgid "Enable downloads tracking (eg: PDF, XLSX, DOCX...)"
3377
  msgstr ""
3378
 
3379
- #: inc/admin/admin.php:2004 inc/admin/admin.php:4750
3380
  msgid "Track downloads' clicks"
3381
  msgstr ""
3382
 
3383
- #: inc/admin/admin.php:2012
3384
  msgid "Enable affiliate/outbound links tracking (eg: aff, go, out, recommends)"
3385
  msgstr ""
3386
 
3387
- #: inc/admin/admin.php:2020 inc/admin/admin.php:4781
3388
  msgid "Track affiliate/outbound links"
3389
  msgstr ""
3390
 
3391
- #: inc/admin/admin.php:2038
3392
  msgid "Track Authors"
3393
  msgstr ""
3394
 
3395
- #: inc/admin/admin.php:2046
3396
  msgid "Track Categories"
3397
  msgstr ""
3398
 
3399
- #: inc/admin/admin.php:2054
3400
  msgid "Track Tags"
3401
  msgstr ""
3402
 
3403
- #: inc/admin/admin.php:2062
3404
  msgid "Track Post Types"
3405
  msgstr ""
3406
 
3407
- #: inc/admin/admin.php:2070
3408
  msgid "Track Logged In Users"
3409
  msgstr ""
3410
 
3411
- #: inc/admin/admin.php:2087
3412
  msgid "Redirect attachment pages to post parent"
3413
  msgstr ""
3414
 
3415
- #: inc/admin/admin.php:2095
3416
  msgid "Redirect attachment pages to their file URL"
3417
  msgstr ""
3418
 
3419
- #: inc/admin/admin.php:2103
3420
  msgid "Remove ?replytocom link to avoid duplicate content"
3421
  msgstr ""
3422
 
3423
- #: inc/admin/admin.php:2111
3424
  msgid "Automatically set the image Title"
3425
  msgstr ""
3426
 
3427
- #: inc/admin/admin.php:2119
3428
  msgid "Automatically set the image Alt text"
3429
  msgstr ""
3430
 
3431
- #: inc/admin/admin.php:2127
3432
  msgid "Automatically set the image Caption"
3433
  msgstr ""
3434
 
3435
- #: inc/admin/admin.php:2135
3436
  msgid "Automatically set the image Description"
3437
  msgstr ""
3438
 
3439
- #: inc/admin/admin.php:2143
3440
  msgid "Add WP Editor to taxonomy description textarea"
3441
  msgstr ""
3442
 
3443
- #: inc/admin/admin.php:2151
3444
  msgid "Remove /category/ in URL"
3445
  msgstr ""
3446
 
3447
- #: inc/admin/admin.php:2159 inc/admin/admin.php:5344
3448
  msgid "Disable trailing slash for metas"
3449
  msgstr ""
3450
 
3451
- #: inc/admin/admin.php:2167
3452
  msgid "Remove WordPress generator meta tag"
3453
  msgstr ""
3454
 
3455
- #: inc/admin/admin.php:2175
3456
  msgid "Remove hentry post class"
3457
  msgstr ""
3458
 
3459
- #: inc/admin/admin.php:2183
3460
  msgid "Remove author URL"
3461
  msgstr ""
3462
 
3463
- #: inc/admin/admin.php:2191
3464
  msgid "Remove website field in comment form"
3465
  msgstr ""
3466
 
3467
- #: inc/admin/admin.php:2199
3468
  msgid "Remove WordPress shortlink meta tag"
3469
  msgstr ""
3470
 
3471
- #: inc/admin/admin.php:2207
3472
  msgid "Remove Windows Live Writer meta tag"
3473
  msgstr ""
3474
 
3475
- #: inc/admin/admin.php:2215
3476
  msgid "Remove RSD meta tag"
3477
  msgstr ""
3478
 
3479
- #: inc/admin/admin.php:2223 inc/admin/admin.php:5475
3480
  msgid "Google site verification"
3481
  msgstr ""
3482
 
3483
- #: inc/admin/admin.php:2231 inc/admin/admin.php:5489
3484
  msgid "Bing site verification"
3485
  msgstr ""
3486
 
3487
- #: inc/admin/admin.php:2239 inc/admin/admin.php:5502
3488
  msgid "Pinterest site verification"
3489
  msgstr ""
3490
 
3491
- #: inc/admin/admin.php:2247 inc/admin/admin.php:5514
3492
  msgid "Yandex site verification"
3493
  msgstr ""
3494
 
3495
- #: inc/admin/admin.php:2264
3496
  msgid "SEOPress in admin bar"
3497
  msgstr ""
3498
 
3499
- #: inc/admin/admin.php:2272
3500
  msgid "Move SEOPress metabox's position"
3501
  msgstr ""
3502
 
3503
- #: inc/admin/admin.php:2280
3504
  msgid "Hide Notifications Center"
3505
  msgstr ""
3506
 
3507
- #: inc/admin/admin.php:2288
3508
  msgid "Hide SEO tools"
3509
  msgstr ""
3510
 
3511
- #: inc/admin/admin.php:2296
3512
  msgid "Hide Useful Links"
3513
  msgstr ""
3514
 
3515
- #: inc/admin/admin.php:2304
3516
  msgid "Show Title tag column in post types"
3517
  msgstr ""
3518
 
3519
- #: inc/admin/admin.php:2312
3520
  msgid "Show Meta description column in post types"
3521
  msgstr ""
3522
 
3523
- #: inc/admin/admin.php:2320
3524
  msgid "Show Redirection Enable column in post types"
3525
  msgstr ""
3526
 
3527
- #: inc/admin/admin.php:2328
3528
  msgid "Show Redirect URL column in post types"
3529
  msgstr ""
3530
 
3531
- #: inc/admin/admin.php:2336
3532
  msgid "Show canonical URL column in post types"
3533
  msgstr ""
3534
 
3535
- #: inc/admin/admin.php:2344
3536
  msgid "Show Target Keyword column in post types"
3537
  msgstr ""
3538
 
3539
- #: inc/admin/admin.php:2352
3540
  msgid "Show noindex column in post types"
3541
  msgstr ""
3542
 
3543
- #: inc/admin/admin.php:2360
3544
  msgid "Show nofollow column in post types"
3545
  msgstr ""
3546
 
3547
- #: inc/admin/admin.php:2368
3548
  msgid "Show total number of words column in post types"
3549
  msgstr ""
3550
 
3551
- #: inc/admin/admin.php:2376
3552
  msgid "Show W3C validator column in post types"
3553
  msgstr ""
3554
 
3555
- #: inc/admin/admin.php:2384
3556
  msgid "Show Google Page Speed column in post types"
3557
  msgstr ""
3558
 
3559
- #: inc/admin/admin.php:2393
3560
  msgid "Show content analysis score column in post types"
3561
  msgstr ""
3562
 
3563
- #: inc/admin/admin.php:2401
3564
  msgid "Hide Genesis SEO Metabox"
3565
  msgstr ""
3566
 
3567
- #: inc/admin/admin.php:2409
3568
  msgid "Hide Genesis SEO Settings link"
3569
  msgstr ""
3570
 
3571
- #: inc/admin/admin.php:2417
3572
  msgid "Hide advice in Structured Data Types metabox"
3573
  msgstr ""
3574
 
3575
- #: inc/admin/admin.php:2434
3576
  msgid "Block SEO metabox to user roles"
3577
  msgstr ""
3578
 
3579
- #: inc/admin/admin.php:2442
3580
  msgid "Block Content analysis metabox to user roles"
3581
  msgstr ""
3582
 
3583
- #: inc/admin/admin.php:2496
3584
  msgid "<p>Customize your title & meta description for homepage</p>"
3585
  msgstr ""
3586
 
3587
- #: inc/admin/admin.php:2500
3588
  msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
3589
  msgstr ""
3590
 
3591
- #: inc/admin/admin.php:2504
3592
  msgid "<p>Customize your metas for all pages</p>"
3593
  msgstr ""
3594
 
3595
- #: inc/admin/admin.php:2508
3596
  msgid "<p>Customize your metas for all taxonomies archives</p>"
3597
  msgstr ""
3598
 
3599
- #: inc/admin/admin.php:2512
3600
  msgid "<p>Customize your metas for all archives</p>"
3601
  msgstr ""
3602
 
3603
- #: inc/admin/admin.php:2519
3604
  msgid "Change this settings"
3605
  msgstr ""
3606
 
3607
- #: inc/admin/admin.php:2522
3608
  msgid ""
3609
  "To view your sitemap, enable permalinks (not default one), and save settings "
3610
  "to flush them."
3611
  msgstr ""
3612
 
3613
- #: inc/admin/admin.php:2528
3614
  msgid ""
3615
  "Your server uses NGINX. If XML Sitemaps doesn't work properly, you need to "
3616
  "add this rule to your configuration:"
3617
  msgstr ""
3618
 
3619
- #: inc/admin/admin.php:2541
3620
  msgid "Noindex content will not be displayed in Sitemaps."
3621
  msgstr ""
3622
 
3623
- #: inc/admin/admin.php:2553
3624
  msgid "Blank sitemap?"
3625
  msgstr ""
3626
 
3627
- #: inc/admin/admin.php:2554
3628
  msgid "404 error?"
3629
  msgstr ""
3630
 
3631
- #: inc/admin/admin.php:2556
3632
  msgid "View your sitemap"
3633
  msgstr ""
3634
 
3635
- #: inc/admin/admin.php:2558
3636
  msgid "Ping Google manually"
3637
  msgstr ""
3638
 
3639
- #: inc/admin/admin.php:2560
3640
  msgid "Flush permalinks"
3641
  msgstr ""
3642
 
3643
- #: inc/admin/admin.php:2565
3644
  msgid "<p>Create an HTML Sitemap for your visitors and boost your SEO.</p>"
3645
  msgstr ""
3646
 
3647
- #: inc/admin/admin.php:2575 inc/admin/admin.php:3675
3648
  msgid "Guide to enable a HTML Sitemap - new window"
3649
  msgstr ""
3650
 
3651
- #: inc/admin/admin.php:2579
3652
  msgid "<p>Include/Exclude Post Types.</p>"
3653
  msgstr ""
3654
 
3655
- #: inc/admin/admin.php:2583
3656
  msgid "<p>Include/Exclude Taxonomies.</p>"
3657
  msgstr ""
3658
 
3659
- #: inc/admin/admin.php:2587
3660
  msgid "<p>Configure Google Knowledge Graph.</p>"
3661
  msgstr ""
3662
 
3663
- #: inc/admin/admin.php:2588
3664
  msgid "Learn more on Google official website."
3665
  msgstr ""
3666
 
3667
- #: inc/admin/admin.php:2592
3668
  msgid ""
3669
  "<p>Link your site with your social accounts. Use markup on your website to "
3670
  "add your social profile information to a Google Knowledge panel. Knowledge "
@@ -3674,67 +3844,67 @@ msgid ""
3674
  "network links.</p>"
3675
  msgstr ""
3676
 
3677
- #: inc/admin/admin.php:2596
3678
  msgid "<p>Manage Open Graph data.</p>"
3679
  msgstr ""
3680
 
3681
- #: inc/admin/admin.php:2598
3682
  msgid "<p>We generate the <strong>og:image</strong> meta in this order:</p>"
3683
  msgstr ""
3684
 
3685
- #: inc/admin/admin.php:2602
3686
  msgid "Custom OG Image from SEO metabox"
3687
  msgstr ""
3688
 
3689
- #: inc/admin/admin.php:2603 inc/admin/admin.php:2617
3690
  msgid "Post thumbnail"
3691
  msgstr ""
3692
 
3693
- #: inc/admin/admin.php:2604 inc/admin/admin.php:2618
3694
  msgid "First image of your post content"
3695
  msgstr ""
3696
 
3697
- #: inc/admin/admin.php:2605
3698
  msgid "Global OG Image set in SEO > Social > Open Graph"
3699
  msgstr ""
3700
 
3701
- #: inc/admin/admin.php:2610
3702
  msgid "<p>Manage your Twitter card.</p>"
3703
  msgstr ""
3704
 
3705
- #: inc/admin/admin.php:2612
3706
  msgid ""
3707
  "<p>We generate the <strong>twitter:image</strong> meta in this order:</p>"
3708
  msgstr ""
3709
 
3710
- #: inc/admin/admin.php:2616
3711
  msgid "Custom Twitter image from SEO metabox"
3712
  msgstr ""
3713
 
3714
- #: inc/admin/admin.php:2619
3715
  msgid "Global Twitter:image set in SEO > Social > Twitter Card"
3716
  msgstr ""
3717
 
3718
- #: inc/admin/admin.php:2624
3719
  msgid ""
3720
  "<p>Link your Google Analytics to your website. The tracking code will be "
3721
  "automatically added to your site.</p>"
3722
  msgstr ""
3723
 
3724
- #: inc/admin/admin.php:2628
3725
  msgid ""
3726
  "<p>Manage user consent for GDPR and customize your cookie bar easily.</p>"
3727
  msgstr ""
3728
 
3729
- #: inc/admin/admin.php:2632
3730
  msgid "<p>Configure your Google Analytics tracking code.</p>"
3731
  msgstr ""
3732
 
3733
- #: inc/admin/admin.php:2636
3734
  msgid "<p>Track events in Google Analytics.</p>"
3735
  msgstr ""
3736
 
3737
- #: inc/admin/admin.php:2640
3738
  msgid ""
3739
  "<p>Configure your Google Analytics custom dimensions. <br>Custom dimensions "
3740
  "and custom metrics in SEOPress are like the default dimensions and metrics "
@@ -3744,426 +3914,426 @@ msgid ""
3744
  "Google Analytics account. More info by clicking on the help icon."
3745
  msgstr ""
3746
 
3747
- #: inc/admin/admin.php:2650
3748
  msgid "Guide to create custom dimensions in Google Analytics - new window"
3749
  msgstr ""
3750
 
3751
- #: inc/admin/admin.php:2654
3752
  msgid "<p>Advanced SEO options.</p>"
3753
  msgstr ""
3754
 
3755
- #: inc/admin/admin.php:2658
3756
  msgid "<p>Customize SEOPress to fit your needs.</p>"
3757
  msgstr ""
3758
 
3759
- #: inc/admin/admin.php:2662
3760
  msgid "<p>Manage security.</p>"
3761
  msgstr ""
3762
 
3763
- #: inc/admin/admin.php:2675
3764
  msgid "Enter your separator, eg: \"-\""
3765
  msgstr ""
3766
 
3767
- #: inc/admin/admin.php:2679
3768
  #, php-format
3769
  msgid "Use this separator with %%sep%% in your title and meta description."
3770
  msgstr ""
3771
 
3772
- #: inc/admin/admin.php:2685
3773
  msgid "My awesome website"
3774
  msgstr ""
3775
 
3776
- #: inc/admin/admin.php:2691 inc/admin/admin.php:2702 inc/admin/admin.php:2796
3777
- #: inc/admin/admin.php:2986 inc/admin/admin.php:3019 inc/admin/admin.php:3109
3778
- #: inc/admin/admin.php:3186 inc/admin/admin.php:3257 inc/admin/admin.php:3327
3779
- #: inc/admin/admin.php:3378
3780
  msgid "More tags"
3781
  msgstr ""
3782
 
3783
- #: inc/admin/admin.php:2697
3784
  msgid "This is a cool website about Wookiees"
3785
  msgstr ""
3786
 
3787
- #: inc/admin/admin.php:2705
3788
  msgid "Looking to edit your blog page?"
3789
  msgstr ""
3790
 
3791
- #: inc/admin/admin.php:2730 inc/admin/admin.php:2734 inc/admin/admin.php:2736
3792
- #: inc/admin/admin.php:2741
3793
  msgid "Click to hide any SEO metaboxes for this post type"
3794
  msgstr ""
3795
 
3796
- #: inc/admin/admin.php:2733 inc/admin/admin.php:2737 inc/admin/admin.php:2740
3797
  msgid "Click to display any SEO metaboxes for this post type"
3798
  msgstr ""
3799
 
3800
- #: inc/admin/admin.php:2765 inc/admin/admin.php:2952 inc/admin/admin.php:3081
3801
- #: inc/admin/admin.php:3174 inc/admin/admin.php:3245 inc/admin/admin.php:3315
3802
- #: inc/admin/admin.php:3368
3803
  msgid "Title template"
3804
  msgstr ""
3805
 
3806
- #: inc/admin/admin.php:2803 inc/admin/admin.php:2995 inc/admin/admin.php:3116
3807
- #: inc/admin/admin.php:3192 inc/admin/admin.php:3263 inc/admin/admin.php:3333
3808
- #: inc/admin/admin.php:3383
3809
  msgid "Meta description template"
3810
  msgstr ""
3811
 
3812
- #: inc/admin/admin.php:2826
3813
  msgid ""
3814
  "Do not display this single post type in search engine results "
3815
  "<strong>(noindex)</strong>"
3816
  msgstr ""
3817
 
3818
- #: inc/admin/admin.php:2845
3819
  msgid ""
3820
  "Do not follow links for this single post type <strong>(nofollow)</strong>"
3821
  msgstr ""
3822
 
3823
- #: inc/admin/admin.php:2864
3824
  msgid "Display date in Google search results?"
3825
  msgstr ""
3826
 
3827
- #: inc/admin/admin.php:2883
3828
  msgid "Display post thumbnail in Google Custom Search results?"
3829
  msgstr ""
3830
 
3831
- #: inc/admin/admin.php:2915 inc/admin/admin.php:2919 inc/admin/admin.php:2921
3832
- #: inc/admin/admin.php:2926
3833
  msgid "Click to hide any SEO metaboxes for this taxonomy"
3834
  msgstr ""
3835
 
3836
- #: inc/admin/admin.php:2918 inc/admin/admin.php:2922 inc/admin/admin.php:2925
3837
  msgid "Click to display any SEO metaboxes for this taxonomy"
3838
  msgstr ""
3839
 
3840
- #: inc/admin/admin.php:2975
3841
  msgid "Category Title"
3842
  msgstr ""
3843
 
3844
- #: inc/admin/admin.php:2977
3845
  msgid "Tag Title"
3846
  msgstr ""
3847
 
3848
- #: inc/admin/admin.php:2979
3849
  msgid "Term Title"
3850
  msgstr ""
3851
 
3852
- #: inc/admin/admin.php:3012
3853
  msgid "Category Description"
3854
  msgstr ""
3855
 
3856
- #: inc/admin/admin.php:3014
3857
  msgid "Tag Description"
3858
  msgstr ""
3859
 
3860
- #: inc/admin/admin.php:3016
3861
  msgid "Term Description"
3862
  msgstr ""
3863
 
3864
- #: inc/admin/admin.php:3034
3865
  msgid ""
3866
  "Do not display this taxonomy archive in search engine results "
3867
  "<strong>(noindex)</strong>"
3868
  msgstr ""
3869
 
3870
- #: inc/admin/admin.php:3053
3871
  msgid ""
3872
  "Do not follow links for this taxonomy archive <strong>(nofollow)</strong>"
3873
  msgstr ""
3874
 
3875
- #: inc/admin/admin.php:3073
3876
  msgid "See archive"
3877
  msgstr ""
3878
 
3879
- #: inc/admin/admin.php:3103
3880
  msgid "Post Type Archive Name"
3881
  msgstr ""
3882
 
3883
- #: inc/admin/admin.php:3139
3884
  msgid ""
3885
  "Do not display this post type archive in search engine results "
3886
  "<strong>(noindex)</strong>"
3887
  msgstr ""
3888
 
3889
- #: inc/admin/admin.php:3158
3890
  msgid ""
3891
  "Do not follow links for this post type archive <strong>(nofollow)</strong>"
3892
  msgstr ""
3893
 
3894
- #: inc/admin/admin.php:3172
3895
  msgid "Author archives"
3896
  msgstr ""
3897
 
3898
- #: inc/admin/admin.php:3234
3899
  msgid "Disable author archives"
3900
  msgstr ""
3901
 
3902
- #: inc/admin/admin.php:3243 inc/admin/admin.php:3254
3903
  msgid "Date archives"
3904
  msgstr ""
3905
 
3906
- #: inc/admin/admin.php:3286
3907
  msgid ""
3908
  "Do not display date archives in search engine results <strong>(noindex)</"
3909
  "strong>"
3910
  msgstr ""
3911
 
3912
- #: inc/admin/admin.php:3304
3913
  msgid "Disable date archives"
3914
  msgstr ""
3915
 
3916
- #: inc/admin/admin.php:3313
3917
  msgid "Search archives"
3918
  msgstr ""
3919
 
3920
- #: inc/admin/admin.php:3324
3921
  msgid "Search Keywords"
3922
  msgstr ""
3923
 
3924
- #: inc/admin/admin.php:3357
3925
  msgid ""
3926
  "Do not display search archives in search engine results <strong>(noindex)</"
3927
  "strong>"
3928
  msgstr ""
3929
 
3930
- #: inc/admin/admin.php:3366
3931
  msgid "404 archives"
3932
  msgstr ""
3933
 
3934
- #: inc/admin/admin.php:3409
3935
  msgid ""
3936
  "Do not display all pages of the site in Google search results and do not "
3937
  "display \"Cached\" links in search results."
3938
  msgstr ""
3939
 
3940
- #: inc/admin/admin.php:3428
3941
  msgid "Do not follow links for all pages."
3942
  msgstr ""
3943
 
3944
- #: inc/admin/admin.php:3447
3945
  msgid ""
3946
  "Do not use Open Directory project metadata for titles or excerpts for all "
3947
  "pages."
3948
  msgstr ""
3949
 
3950
- #: inc/admin/admin.php:3466
3951
  msgid "Do not index images from the entire site."
3952
  msgstr ""
3953
 
3954
- #: inc/admin/admin.php:3485
3955
  msgid "Do not display a \"Cached\" link in the Google search results."
3956
  msgstr ""
3957
 
3958
- #: inc/admin/admin.php:3504
3959
  msgid ""
3960
  "Do not display a description in the Google search results for all pages."
3961
  msgstr ""
3962
 
3963
- #: inc/admin/admin.php:3523
3964
  msgid ""
3965
  "Prevent Google to display a sitelinks searchbox in search results. Enable "
3966
  "this option will remove the \"Website\" schema from your source code."
3967
  msgstr ""
3968
 
3969
- #: inc/admin/admin.php:3540
3970
  msgid "Add rel next/prev link in head of paginated archive pages"
3971
  msgstr ""
3972
 
3973
- #: inc/admin/admin.php:3542
3974
  msgid "Learn more on Google website"
3975
  msgstr ""
3976
 
3977
- #: inc/admin/admin.php:3569
3978
  msgid "Guide to enable XML Sitemaps - new window"
3979
  msgstr ""
3980
 
3981
- #: inc/admin/admin.php:3586
3982
  msgid ""
3983
  "Enable Image Sitemaps (standard images, image galleries, featured image, "
3984
  "WooCommerce product images)"
3985
  msgstr ""
3986
 
3987
- #: inc/admin/admin.php:3588
3988
  msgid "Images in XML sitemaps are visible only from the source code."
3989
  msgstr ""
3990
 
3991
- #: inc/admin/admin.php:3598
3992
  msgid "Guide to enable XML image sitemaps - new window"
3993
  msgstr ""
3994
 
3995
- #: inc/admin/admin.php:3616
3996
  msgid "Enable Video Sitemaps"
3997
  msgstr ""
3998
 
3999
- #: inc/admin/admin.php:3626
4000
  #, php-format
4001
  msgid ""
4002
  "Your video sitemap is empty? Read our guide to learn more about <a href=\"%s"
4003
  "\" target=\"_blank\">adding videos to your sitemap.</a>"
4004
  msgstr ""
4005
 
4006
- #: inc/admin/admin.php:3628
4007
  msgid "Guide to enable XML video sitemaps - new window"
4008
  msgstr ""
4009
 
4010
- #: inc/admin/admin.php:3648
4011
  msgid ""
4012
  "Make sure to enable Author archive from SEO, Titles and metas, Archives tab."
4013
  "</a>"
4014
  msgstr ""
4015
 
4016
- #: inc/admin/admin.php:3715 inc/admin/admin.php:3759
4017
  msgid "Include"
4018
  msgstr ""
4019
 
4020
- #: inc/admin/admin.php:3718
4021
  msgid ""
4022
  "You should never include attachment post type in your sitemap. Be careful if "
4023
  "you checked this."
4024
  msgstr ""
4025
 
4026
- #: inc/admin/admin.php:3774
4027
  msgid "eg: 2, 28, 68"
4028
  msgstr ""
4029
 
4030
- #: inc/admin/admin.php:3778
4031
  msgid "You can also use this shortcode:"
4032
  msgstr ""
4033
 
4034
- #: inc/admin/admin.php:3788
4035
  msgid "eg: 13, 8, 38"
4036
  msgstr ""
4037
 
4038
- #: inc/admin/admin.php:3802
4039
  msgid ""
4040
  "DESC (descending order from highest to lowest values (3, 2, 1; c, b, a))"
4041
  msgstr ""
4042
 
4043
- #: inc/admin/admin.php:3805
4044
  msgid "ASC (ascending order from lowest to highest values (1, 2, 3; a, b, c))"
4045
  msgstr ""
4046
 
4047
- #: inc/admin/admin.php:3822
4048
  msgid "Default (date)"
4049
  msgstr ""
4050
 
4051
- #: inc/admin/admin.php:3828
4052
  msgid "Modified date"
4053
  msgstr ""
4054
 
4055
- #: inc/admin/admin.php:3831
4056
  msgid "Post ID"
4057
  msgstr ""
4058
 
4059
- #: inc/admin/admin.php:3834
4060
  msgid "Menu order"
4061
  msgstr ""
4062
 
4063
- #: inc/admin/admin.php:3852
4064
  msgid "Disable date after each post, page, post type?"
4065
  msgstr ""
4066
 
4067
- #: inc/admin/admin.php:3900
4068
  msgid "Select your logo"
4069
  msgstr ""
4070
 
4071
- #: inc/admin/admin.php:3904
4072
  msgid "JPG, PNG, and GIF allowed."
4073
  msgstr ""
4074
 
4075
- #: inc/admin/admin.php:3930
4076
  msgid "eg: +33123456789 (internationalized version required)"
4077
  msgstr ""
4078
 
4079
- #: inc/admin/admin.php:3945
4080
  msgid "Customer support"
4081
  msgstr ""
4082
 
4083
- #: inc/admin/admin.php:3948
4084
  msgid "Technical support"
4085
  msgstr ""
4086
 
4087
- #: inc/admin/admin.php:3951
4088
  msgid "Billing support"
4089
  msgstr ""
4090
 
4091
- #: inc/admin/admin.php:3954
4092
  msgid "Bill payment"
4093
  msgstr ""
4094
 
4095
- #: inc/admin/admin.php:3957
4096
  msgid "Sales"
4097
  msgstr ""
4098
 
4099
- #: inc/admin/admin.php:3960
4100
  msgid "Credit card support"
4101
  msgstr ""
4102
 
4103
- #: inc/admin/admin.php:3963
4104
  msgid "Emergency"
4105
  msgstr ""
4106
 
4107
- #: inc/admin/admin.php:3966
4108
  msgid "Baggage tracking"
4109
  msgstr ""
4110
 
4111
- #: inc/admin/admin.php:3969
4112
  msgid "Roadside assistance"
4113
  msgstr ""
4114
 
4115
- #: inc/admin/admin.php:3972
4116
  msgid "Package tracking"
4117
  msgstr ""
4118
 
4119
- #: inc/admin/admin.php:3989 inc/admin/admin.php:4799 inc/admin/admin.php:4876
4120
- #: inc/admin/admin.php:4953 inc/admin/admin.php:5030 inc/admin/admin.php:5107
4121
  msgid "None"
4122
  msgstr ""
4123
 
4124
- #: inc/admin/admin.php:3992
4125
  msgid "Toll Free"
4126
  msgstr ""
4127
 
4128
- #: inc/admin/admin.php:3995
4129
  msgid "Hearing impaired supported"
4130
  msgstr ""
4131
 
4132
- #: inc/admin/admin.php:4021
4133
  msgid "Twitter Page URL"
4134
  msgstr ""
4135
 
4136
- #: inc/admin/admin.php:4122
4137
  msgid "Enable OG data"
4138
  msgstr ""
4139
 
4140
- #: inc/admin/admin.php:4158
4141
  msgid ""
4142
  "Override every <strong>og:image</strong> tag with this default image (except "
4143
  "if a custom og:image has already been set from the SEO metabox)."
4144
  msgstr ""
4145
 
4146
- #: inc/admin/admin.php:4160
4147
  msgid "This setting doesn‘t apply for homepage."
4148
  msgstr ""
4149
 
4150
- #: inc/admin/admin.php:4174
4151
  msgid ""
4152
  "One or more Facebook Page IDs that are associated with a URL in order to "
4153
  "enable link editing and instant article publishing."
4154
  msgstr ""
4155
 
4156
- #: inc/admin/admin.php:4178
4157
  msgid "How to find my Facebook Page ID?"
4158
  msgstr ""
4159
 
4160
- #: inc/admin/admin.php:4188
4161
  msgid ""
4162
  "The ID (or comma-separated list for properties that can accept multiple IDs) "
4163
  "of an app, person using the app, or Page Graph API object."
4164
  msgstr ""
4165
 
4166
- #: inc/admin/admin.php:4200
4167
  msgid ""
4168
  "The Facebook app ID of the site's app. In order to use Facebook Insights you "
4169
  "must add the app ID to your page. Insights lets you view analytics for "
@@ -4173,48 +4343,48 @@ msgid ""
4173
  "span>"
4174
  msgstr ""
4175
 
4176
- #: inc/admin/admin.php:4204
4177
  msgid "How to create a Facebook App ID"
4178
  msgstr ""
4179
 
4180
- #: inc/admin/admin.php:4217
4181
  msgid "Enable Twitter card"
4182
  msgstr ""
4183
 
4184
- #: inc/admin/admin.php:4234
4185
  msgid "Use OG if no Twitter Cards"
4186
  msgstr ""
4187
 
4188
- #: inc/admin/admin.php:4269
4189
  msgid "Default"
4190
  msgstr ""
4191
 
4192
- #: inc/admin/admin.php:4272
4193
  msgid "Large"
4194
  msgstr ""
4195
 
4196
- #: inc/admin/admin.php:4290
4197
  msgid "Enable Google Analytics tracking (Global Site Tag: gtag.js)"
4198
  msgstr ""
4199
 
4200
- #: inc/admin/admin.php:4302
4201
  msgid "Enter your Tracking ID (UA-XXXX-XX)"
4202
  msgstr ""
4203
 
4204
- #: inc/admin/admin.php:4306
4205
  msgid "Find your tracking ID"
4206
  msgstr ""
4207
 
4208
- #: inc/admin/admin.php:4320
4209
  msgid "Request user's consent for analytics tracking (required by GDPR)"
4210
  msgstr ""
4211
 
4212
- #: inc/admin/admin.php:4322
4213
  msgid ""
4214
  "<strong>The user must click the Accept button to allow tracking.</strong>"
4215
  msgstr ""
4216
 
4217
- #: inc/admin/admin.php:4324
4218
  msgid ""
4219
  "User roles excluded from tracking will not see the consent message.<br> If "
4220
  "you use a caching plugin, you have to exclude this JS file in your settings: "
@@ -4222,547 +4392,559 @@ msgid ""
4222
  "js</strong> <br>and this cookie <strong>seopress-user-consent-accept</strong>"
4223
  msgstr ""
4224
 
4225
- #: inc/admin/admin.php:4334
4226
  msgid "Hook to add custom tracking code with user consent - new window"
4227
  msgstr ""
4228
 
4229
- #: inc/admin/admin.php:4351
4230
  msgid ""
4231
  "Display and automatically accept the user‘s consent on page load (not fully "
4232
  "GDPR)"
4233
  msgstr ""
4234
 
4235
- #: inc/admin/admin.php:4353
4236
  msgid "The previous option must be checked to use this."
4237
  msgstr ""
4238
 
4239
- #: inc/admin/admin.php:4366
4240
  msgid "Enter your message (HTML allowed)"
4241
  msgstr ""
4242
 
4243
- #: inc/admin/admin.php:4366
4244
  msgid "This message will only appear if request user's consent is enabled."
4245
  msgstr ""
4246
 
4247
- #: inc/admin/admin.php:4377
4248
  msgid "Hook to filter user consent message - new window"
4249
  msgstr ""
4250
 
4251
- #: inc/admin/admin.php:4379
4252
  msgid "HTML tags allowed: strong, em, br, a href / target"
4253
  msgstr ""
4254
 
4255
- #: inc/admin/admin.php:4380
4256
  msgid ""
4257
  "Shortcode allowed to get the privacy page set in WordPress settings: "
4258
  "[seopress_privacy_page]"
4259
  msgstr ""
4260
 
4261
- #: inc/admin/admin.php:4388 inc/functions/options-google-analytics.php:182
4262
  msgid "Accept"
4263
  msgstr ""
4264
 
4265
- #: inc/admin/admin.php:4388
4266
  msgid "Change the button value"
4267
  msgstr ""
4268
 
4269
- #: inc/admin/admin.php:4398
4270
  msgid "default: X"
4271
  msgstr ""
4272
 
4273
- #: inc/admin/admin.php:4398
4274
  msgid "Change the close button value"
4275
  msgstr ""
4276
 
4277
- #: inc/admin/admin.php:4412
4278
  msgid "Bottom (default)"
4279
  msgstr ""
4280
 
4281
- #: inc/admin/admin.php:4415
4282
  msgid "Top"
4283
  msgstr ""
4284
 
4285
- #: inc/admin/admin.php:4428
4286
  msgid "Change the cookie bar background color"
4287
  msgstr ""
4288
 
4289
- #: inc/admin/admin.php:4438
4290
  msgid "Change the cookie bar text color"
4291
  msgstr ""
4292
 
4293
- #: inc/admin/admin.php:4448
4294
  msgid "Change the cookie bar link color"
4295
  msgstr ""
4296
 
4297
- #: inc/admin/admin.php:4458
4298
  msgid "Change the cookie bar button background color"
4299
  msgstr ""
4300
 
4301
- #: inc/admin/admin.php:4468
4302
  msgid "Change the cookie bar button hover background color"
4303
  msgstr ""
4304
 
4305
- #: inc/admin/admin.php:4478
4306
  msgid "Change the cookie bar button color"
4307
  msgstr ""
4308
 
4309
- #: inc/admin/admin.php:4488
4310
  msgid "Change the cookie bar button hover color"
4311
  msgstr ""
4312
 
4313
- #: inc/admin/admin.php:4498
4314
  msgid "Change the cookie bar secondary button background color"
4315
  msgstr ""
4316
 
4317
- #: inc/admin/admin.php:4508
4318
  msgid "Change the cookie bar secondary button hover background color"
4319
  msgstr ""
4320
 
4321
- #: inc/admin/admin.php:4518
4322
  msgid "Change the cookie bar secondary button color"
4323
  msgstr ""
4324
 
4325
- #: inc/admin/admin.php:4528
4326
  msgid "Change the cookie bar secondary button hover color"
4327
  msgstr ""
4328
 
4329
- #: inc/admin/admin.php:4563
4330
  msgid "Enter your Google Optimize container ID"
4331
  msgstr ""
4332
 
4333
- #: inc/admin/admin.php:4563
4334
  msgid "GTM-XXXXXXX"
4335
  msgstr ""
4336
 
4337
- #: inc/admin/admin.php:4566
4338
  msgid ""
4339
  "Google Optimize offers A/B testing, website testing & personalization tools."
4340
  msgstr ""
4341
 
4342
- #: inc/admin/admin.php:4574
4343
  msgid "Enter your Google Ads conversion ID (eg: AW-123456789)"
4344
  msgstr ""
4345
 
4346
- #: inc/admin/admin.php:4574
4347
  msgid "AW-XXXXXXXXX"
4348
  msgstr ""
4349
 
4350
- #: inc/admin/admin.php:4583
4351
  msgid "Paste your tracking code here like Google Tag Manager (head)"
4352
  msgstr ""
4353
 
4354
- #: inc/admin/admin.php:4583
4355
  msgid "Additional tracking code field"
4356
  msgstr ""
4357
 
4358
- #: inc/admin/admin.php:4586
4359
  msgid "This code will be added in the head section of your page."
4360
  msgstr ""
4361
 
4362
- #: inc/admin/admin.php:4594
4363
  msgid "Paste your tracking code here like Google Tag Manager (body)"
4364
  msgstr ""
4365
 
4366
- #: inc/admin/admin.php:4594
4367
  msgid "Additional tracking code field added to body"
4368
  msgstr ""
4369
 
4370
- #: inc/admin/admin.php:4597
4371
  msgid "This code will be added just after the opening body tag of your page."
4372
  msgstr ""
4373
 
4374
- #: inc/admin/admin.php:4605
 
 
 
 
 
 
4375
  msgid "Paste your tracking code here (body footer)"
4376
  msgstr ""
4377
 
4378
- #: inc/admin/admin.php:4605
4379
  msgid "Additional tracking code field added to body footer"
4380
  msgstr ""
4381
 
4382
- #: inc/admin/admin.php:4608
4383
  msgid "This code will be added just after the closing body tag of your page."
4384
  msgstr ""
4385
 
4386
- #: inc/admin/admin.php:4623
4387
  msgid ""
4388
  "A remarketing audience is a list of cookies or mobile-advertising IDs that "
4389
  "represents a group of users you want to re-engage because of their "
4390
  "likelihood to convert."
4391
  msgstr ""
4392
 
4393
- #: inc/admin/admin.php:4645
4394
  msgid ""
4395
  "When a customer of Analytics requests IP address anonymization, Analytics "
4396
  "anonymizes the address as soon as technically feasible at the earliest "
4397
  "possible stage of the collection network."
4398
  msgstr ""
4399
 
4400
- #: inc/admin/admin.php:4667
4401
  msgid ""
4402
  "Enhanced Link Attribution improves the accuracy of your In-Page Analytics "
4403
  "report by automatically differentiating between multiple links to the same "
4404
  "URL on a single page by using link element IDs."
4405
  msgstr ""
4406
 
4407
- #: inc/admin/admin.php:4689
4408
  msgid ""
4409
  "Cross domain tracking makes it possible for Analytics to see sessions on two "
4410
  "related sites (such as an ecommerce site and a separate shopping cart site) "
4411
  "as a single session. This is sometimes called site linking."
4412
  msgstr ""
4413
 
4414
- #: inc/admin/admin.php:4704
4415
  msgid "Enter your domains: seopress.org,sub.seopress.org,sub2.seopress.org"
4416
  msgstr ""
4417
 
4418
- #: inc/admin/admin.php:4738
4419
  msgid "Enable download tracking"
4420
  msgstr ""
4421
 
4422
- #: inc/admin/admin.php:4750
4423
  msgid "pdf|docx|pptx|zip"
4424
  msgstr ""
4425
 
4426
- #: inc/admin/admin.php:4754
4427
  msgid "Separate each file type extensions with a pipe \"|\""
4428
  msgstr ""
4429
 
4430
- #: inc/admin/admin.php:4769
4431
  msgid "Enable affiliate/outbound tracking"
4432
  msgstr ""
4433
 
4434
- #: inc/admin/admin.php:4781
4435
  msgid "aff|go|out"
4436
  msgstr ""
4437
 
4438
- #: inc/admin/admin.php:4785
4439
  msgid "Separate each keyword with a pipe \"|\""
4440
  msgstr ""
4441
 
4442
- #: inc/admin/admin.php:4802 inc/admin/admin.php:4879 inc/admin/admin.php:4956
4443
- #: inc/admin/admin.php:5033 inc/admin/admin.php:5110
4444
  msgid "Custom Dimension #1"
4445
  msgstr ""
4446
 
4447
- #: inc/admin/admin.php:4805 inc/admin/admin.php:4882 inc/admin/admin.php:4959
4448
- #: inc/admin/admin.php:5036 inc/admin/admin.php:5113
4449
  msgid "Custom Dimension #2"
4450
  msgstr ""
4451
 
4452
- #: inc/admin/admin.php:4808 inc/admin/admin.php:4885 inc/admin/admin.php:4962
4453
- #: inc/admin/admin.php:5039 inc/admin/admin.php:5116
4454
  msgid "Custom Dimension #3"
4455
  msgstr ""
4456
 
4457
- #: inc/admin/admin.php:4811 inc/admin/admin.php:4888 inc/admin/admin.php:4965
4458
- #: inc/admin/admin.php:5042 inc/admin/admin.php:5119
4459
  msgid "Custom Dimension #4"
4460
  msgstr ""
4461
 
4462
- #: inc/admin/admin.php:4814 inc/admin/admin.php:4891 inc/admin/admin.php:4968
4463
- #: inc/admin/admin.php:5045 inc/admin/admin.php:5122
4464
  msgid "Custom Dimension #5"
4465
  msgstr ""
4466
 
4467
- #: inc/admin/admin.php:4817 inc/admin/admin.php:4894 inc/admin/admin.php:4971
4468
- #: inc/admin/admin.php:5048 inc/admin/admin.php:5125
4469
  msgid "Custom Dimension #6"
4470
  msgstr ""
4471
 
4472
- #: inc/admin/admin.php:4820 inc/admin/admin.php:4897 inc/admin/admin.php:4974
4473
- #: inc/admin/admin.php:5051 inc/admin/admin.php:5128
4474
  msgid "Custom Dimension #7"
4475
  msgstr ""
4476
 
4477
- #: inc/admin/admin.php:4823 inc/admin/admin.php:4900 inc/admin/admin.php:4977
4478
- #: inc/admin/admin.php:5054 inc/admin/admin.php:5131
4479
  msgid "Custom Dimension #8"
4480
  msgstr ""
4481
 
4482
- #: inc/admin/admin.php:4826 inc/admin/admin.php:4903 inc/admin/admin.php:4980
4483
- #: inc/admin/admin.php:5057 inc/admin/admin.php:5134
4484
  msgid "Custom Dimension #9"
4485
  msgstr ""
4486
 
4487
- #: inc/admin/admin.php:4829 inc/admin/admin.php:4906 inc/admin/admin.php:4983
4488
- #: inc/admin/admin.php:5060 inc/admin/admin.php:5137
4489
  msgid "Custom Dimension #10"
4490
  msgstr ""
4491
 
4492
- #: inc/admin/admin.php:4832 inc/admin/admin.php:4909 inc/admin/admin.php:4986
4493
- #: inc/admin/admin.php:5063 inc/admin/admin.php:5140
4494
  msgid "Custom Dimension #11"
4495
  msgstr ""
4496
 
4497
- #: inc/admin/admin.php:4835 inc/admin/admin.php:4912 inc/admin/admin.php:4989
4498
- #: inc/admin/admin.php:5066 inc/admin/admin.php:5143
4499
  msgid "Custom Dimension #12"
4500
  msgstr ""
4501
 
4502
- #: inc/admin/admin.php:4838 inc/admin/admin.php:4915 inc/admin/admin.php:4992
4503
- #: inc/admin/admin.php:5069 inc/admin/admin.php:5146
4504
  msgid "Custom Dimension #13"
4505
  msgstr ""
4506
 
4507
- #: inc/admin/admin.php:4841 inc/admin/admin.php:4918 inc/admin/admin.php:4995
4508
- #: inc/admin/admin.php:5072 inc/admin/admin.php:5149
4509
  msgid "Custom Dimension #14"
4510
  msgstr ""
4511
 
4512
- #: inc/admin/admin.php:4844 inc/admin/admin.php:4921 inc/admin/admin.php:4998
4513
- #: inc/admin/admin.php:5075 inc/admin/admin.php:5152
4514
  msgid "Custom Dimension #15"
4515
  msgstr ""
4516
 
4517
- #: inc/admin/admin.php:4847 inc/admin/admin.php:4924 inc/admin/admin.php:5001
4518
- #: inc/admin/admin.php:5078 inc/admin/admin.php:5155
4519
  msgid "Custom Dimension #16"
4520
  msgstr ""
4521
 
4522
- #: inc/admin/admin.php:4850 inc/admin/admin.php:4927 inc/admin/admin.php:5004
4523
- #: inc/admin/admin.php:5081 inc/admin/admin.php:5158
4524
  msgid "Custom Dimension #17"
4525
  msgstr ""
4526
 
4527
- #: inc/admin/admin.php:4853 inc/admin/admin.php:4930 inc/admin/admin.php:5007
4528
- #: inc/admin/admin.php:5084 inc/admin/admin.php:5161
4529
  msgid "Custom Dimension #18"
4530
  msgstr ""
4531
 
4532
- #: inc/admin/admin.php:4856 inc/admin/admin.php:4933 inc/admin/admin.php:5010
4533
- #: inc/admin/admin.php:5087 inc/admin/admin.php:5164
4534
  msgid "Custom Dimension #19"
4535
  msgstr ""
4536
 
4537
- #: inc/admin/admin.php:4859 inc/admin/admin.php:4936 inc/admin/admin.php:5013
4538
- #: inc/admin/admin.php:5090 inc/admin/admin.php:5167
4539
  msgid "Custom Dimension #20"
4540
  msgstr ""
4541
 
4542
- #: inc/admin/admin.php:5185
4543
  msgid "Redirect attachment pages to post parent (or homepage if none)"
4544
  msgstr ""
4545
 
4546
- #: inc/admin/admin.php:5204
4547
  msgid ""
4548
  "If this option is checked, it will take precedence over the redirection of "
4549
  "attachments to the post's parent."
4550
  msgstr ""
4551
 
4552
- #: inc/admin/admin.php:5221
4553
  msgid "Remove ?replytocom link in source code"
4554
  msgstr ""
4555
 
4556
- #: inc/admin/admin.php:5238
4557
  msgid ""
4558
  "When sending an image file, automatically set the title based on the filename"
4559
  msgstr ""
4560
 
4561
- #: inc/admin/admin.php:5255
4562
  msgid ""
4563
  "When sending an image file, automatically set the alternative text based on "
4564
  "the filename"
4565
  msgstr ""
4566
 
4567
- #: inc/admin/admin.php:5258
4568
  msgid ""
4569
  "We recommend Image SEO plugin to optimize your image ALT texts and names for "
4570
  "Search Engines using AI and Machine Learning. Starting from just €4.99."
4571
  msgstr ""
4572
 
4573
- #: inc/admin/admin.php:5276
4574
  msgid ""
4575
  "When sending an image file, automatically set the caption based on the "
4576
  "filename"
4577
  msgstr ""
4578
 
4579
- #: inc/admin/admin.php:5293
4580
  msgid ""
4581
  "When sending an image file, automatically set the description based on the "
4582
  "filename"
4583
  msgstr ""
4584
 
4585
- #: inc/admin/admin.php:5310
4586
  msgid "Add TINYMCE editor to term description"
4587
  msgstr ""
4588
 
4589
- #: inc/admin/admin.php:5327
4590
  msgid "You have to flush your permalinks each time you change this settings"
4591
  msgstr ""
4592
 
4593
- #: inc/admin/admin.php:5344
4594
  msgid ""
4595
  "You must check this box if the structure of your permalinks DOES NOT contain "
4596
  "a slash at the end (eg: /%postname%)"
4597
  msgstr ""
4598
 
4599
- #: inc/admin/admin.php:5361
4600
  msgid "Remove WordPress meta generator in source code"
4601
  msgstr ""
4602
 
4603
- #: inc/admin/admin.php:5378
4604
  msgid ""
4605
  "Remove hentry post class to prevent Google from seeing this as structured "
4606
  "data (schema)"
4607
  msgstr ""
4608
 
4609
- #: inc/admin/admin.php:5395
4610
  msgid ""
4611
  "Remove comment author URL in comments if the website is filled from profile "
4612
  "page"
4613
  msgstr ""
4614
 
4615
- #: inc/admin/admin.php:5412
4616
  msgid "Remove website field from comment form to reduce spam"
4617
  msgstr ""
4618
 
4619
- #: inc/admin/admin.php:5429
4620
  msgid "Remove WordPress shortlink meta tag in source code (eg:"
4621
  msgstr ""
4622
 
4623
- #: inc/admin/admin.php:5446
4624
  msgid "Remove Windows Live Writer meta tag in source code (eg:"
4625
  msgstr ""
4626
 
4627
- #: inc/admin/admin.php:5463
4628
  msgid "Remove Really Simple Discovery meta tag in source code (eg:"
4629
  msgstr ""
4630
 
4631
- #: inc/admin/admin.php:5475
4632
  msgid "Enter Google meta value site verification"
4633
  msgstr ""
4634
 
4635
- #: inc/admin/admin.php:5480
4636
  msgid ""
4637
  "If your site is already verified in <strong>Google Search Console</strong>, "
4638
  "you can leave this field empty."
4639
  msgstr ""
4640
 
4641
- #: inc/admin/admin.php:5489
4642
  msgid "Enter Bing meta value site verification"
4643
  msgstr ""
4644
 
4645
- #: inc/admin/admin.php:5493
4646
  msgid ""
4647
  "If your site is already verified in <strong>Bing Webmaster tools</strong>, "
4648
  "you can leave this field empty."
4649
  msgstr ""
4650
 
4651
- #: inc/admin/admin.php:5502
4652
  msgid "Enter Pinterest meta value site verification"
4653
  msgstr ""
4654
 
4655
- #: inc/admin/admin.php:5514
4656
  msgid "Enter Yandex meta value site verification"
4657
  msgstr ""
4658
 
4659
- #: inc/admin/admin.php:5531
4660
  msgid "Remove SEOPress from Admin Bar in backend and frontend"
4661
  msgstr ""
4662
 
4663
- #: inc/admin/admin.php:5547
4664
  msgid "High priority (top)"
4665
  msgstr ""
4666
 
4667
- #: inc/admin/admin.php:5550
4668
  msgid "Normal priority (default)"
4669
  msgstr ""
4670
 
4671
- #: inc/admin/admin.php:5553
4672
  msgid "Low priority"
4673
  msgstr ""
4674
 
4675
- #: inc/admin/admin.php:5571
4676
  msgid "Hide Notifications Center in SEOPress Dashboard page"
4677
  msgstr ""
4678
 
4679
- #: inc/admin/admin.php:5588
4680
  msgid "Hide SEO tools in SEOPress Dashboard page"
4681
  msgstr ""
4682
 
4683
- #: inc/admin/admin.php:5605
4684
  msgid "Hide Useful Links in SEOPress dashboard page"
4685
  msgstr ""
4686
 
4687
- #: inc/admin/admin.php:5622
4688
  msgid "Add title column"
4689
  msgstr ""
4690
 
4691
- #: inc/admin/admin.php:5639
4692
  msgid "Add meta description column"
4693
  msgstr ""
4694
 
4695
- #: inc/admin/admin.php:5656
4696
  msgid "Add redirection enable column"
4697
  msgstr ""
4698
 
4699
- #: inc/admin/admin.php:5673
4700
  msgid "Add redirection URL column"
4701
  msgstr ""
4702
 
4703
- #: inc/admin/admin.php:5690
4704
  msgid "Add canonical URL column"
4705
  msgstr ""
4706
 
4707
- #: inc/admin/admin.php:5707
4708
  msgid "Add target keyword column"
4709
  msgstr ""
4710
 
4711
- #: inc/admin/admin.php:5724
4712
  msgid "Display noindex status"
4713
  msgstr ""
4714
 
4715
- #: inc/admin/admin.php:5741
4716
  msgid "Display nofollow status"
4717
  msgstr ""
4718
 
4719
- #: inc/admin/admin.php:5758
4720
  msgid "Display total number of words in content"
4721
  msgstr ""
4722
 
4723
- #: inc/admin/admin.php:5775
4724
  msgid "Display W3C column to check code quality"
4725
  msgstr ""
4726
 
4727
- #: inc/admin/admin.php:5793
4728
  msgid "Display Page Speed column to check performances"
4729
  msgstr ""
4730
 
4731
- #: inc/admin/admin.php:5812
4732
  msgid ""
4733
  "Display Content Analysis results column (\"Good\" or \"Should be improved\")"
4734
  msgstr ""
4735
 
4736
- #: inc/admin/admin.php:5830
4737
  msgid "Remove Genesis SEO Metabox"
4738
  msgstr ""
4739
 
4740
- #: inc/admin/admin.php:5847
4741
  msgid "Remove Genesis SEO link in WP Admin Menu"
4742
  msgstr ""
4743
 
4744
- #: inc/admin/admin.php:5864
4745
  msgid "Remove the advice if None schema selected"
4746
  msgstr ""
4747
 
4748
- #: inc/admin/admin.php:5902 inc/admin/admin.php:5937
4749
  msgid ""
4750
  "Hook to filter structured data types metabox call by post type - new window"
4751
  msgstr ""
4752
 
4753
- #: inc/admin/adminbar.php:64
4754
  msgid "BOT"
4755
  msgstr ""
4756
 
4757
- #: inc/admin/adminbar.php:100
4758
  msgid "Broken Links"
4759
  msgstr ""
4760
 
4761
- #: inc/admin/adminbar.php:114
4762
  msgid "Configuration wizard"
4763
  msgstr ""
4764
 
4765
- #: inc/admin/ajax.php:91
 
 
 
 
 
 
4766
  msgid "To get your Google snippet preview, publish your post!"
4767
  msgstr ""
4768
 
@@ -4892,43 +5074,51 @@ msgstr ""
4892
  msgid "X"
4893
  msgstr ""
4894
 
4895
- #: inc/functions/options-google-analytics.php:637
4896
  msgid "Authors"
4897
  msgstr ""
4898
 
4899
- #: inc/functions/options-google-analytics.php:656
4900
  msgid "Categories"
4901
  msgstr ""
4902
 
4903
- #: inc/functions/options-google-analytics.php:682
4904
  msgid "Tags"
4905
  msgstr ""
4906
 
4907
- #: inc/functions/options-google-analytics.php:696
4908
  msgid "Post types"
4909
  msgstr ""
4910
 
4911
- #: inc/functions/options-google-analytics.php:710
4912
  msgid "Connected users"
4913
  msgstr ""
4914
 
4915
- #: inc/functions/options-import-export.php:51
4916
- #: inc/functions/options-import-export.php:246
 
4917
  msgid "Please upload a valid .json file"
4918
  msgstr ""
4919
 
4920
- #: inc/functions/options-import-export.php:55
4921
- #: inc/functions/options-import-export.php:93
4922
- #: inc/functions/options-import-export.php:146
4923
- #: inc/functions/options-import-export.php:250
 
4924
  msgid "Please upload a file to import"
4925
  msgstr ""
4926
 
4927
- #: inc/functions/options-import-export.php:89
4928
- #: inc/functions/options-import-export.php:142
 
 
4929
  msgid "Please upload a valid .csv file"
4930
  msgstr ""
4931
 
 
 
 
 
4932
  #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:126
4933
  msgid "XML Sitemaps"
4934
  msgstr ""
@@ -4938,30 +5128,22 @@ msgstr ""
4938
  msgid "Page %d of %2$d"
4939
  msgstr ""
4940
 
4941
- #: seopress.php:137
4942
  msgid "has been successfully updated!"
4943
  msgstr ""
4944
 
4945
- #: seopress.php:197
4946
- msgid "Migration completed!"
4947
- msgstr ""
4948
-
4949
- #: seopress.php:198
4950
- msgid "Export completed!"
4951
- msgstr ""
4952
-
4953
- #: seopress.php:323
4954
  msgid "You like SEOPress? Don't forget to rate it 5 stars!"
4955
  msgstr ""
4956
 
4957
- #: seopress.php:370
4958
  msgid "Docs"
4959
  msgstr ""
4960
 
4961
- #: seopress.php:371
4962
  msgid "Configuration Wizard"
4963
  msgstr ""
4964
 
4965
- #: seopress.php:373
4966
  msgid "GO PRO!"
4967
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: SEOPress\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
6
+ "POT-Creation-Date: 2020-03-09 11:44+0100\n"
7
  "PO-Revision-Date: 2019-08-22 12:52+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
11
  "MIME-Version: 1.0\n"
12
  "Content-Type: text/plain; charset=UTF-8\n"
13
  "Content-Transfer-Encoding: 8bit\n"
14
+ "X-Generator: Poedit 2.3\n"
15
  "X-Poedit-KeywordsList: __;_e;_x;esc_attr_e;esc_attr__;esc_html__;esc_html_e\n"
16
  "X-Poedit-Basepath: ..\n"
17
  "X-Poedit-SourceCharset: UTF-8\n"
18
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
+ #: inc/admin/admin-features-list.php:15
22
  msgid "Titles & metas"
23
  msgstr ""
24
 
25
+ #: inc/admin/admin-features-list.php:16
26
  msgid "Manage all your titles & metas for post types, taxonomies, archives..."
27
  msgstr ""
28
 
29
+ #: inc/admin/admin-features-list.php:18 inc/admin/admin-features-list.php:34
30
+ #: inc/admin/admin-features-list.php:50 inc/admin/admin-features-list.php:66
31
+ #: inc/admin/admin-features-list.php:82 inc/admin/admin-features-list.php:93
32
+ #: inc/admin/admin-features-list.php:109 inc/admin/admin-features-list.php:118
33
+ #: inc/admin/admin-features-list.php:127 inc/admin/admin-features-list.php:136
34
+ #: inc/admin/admin-features-list.php:155 inc/admin/admin-features-list.php:171
35
+ #: inc/admin/admin-features-list.php:192 inc/admin/admin-features-list.php:209
36
+ #: inc/admin/admin-features-list.php:228 inc/admin/admin-features-list.php:247
37
+ #: inc/admin/admin-features-list.php:285 inc/admin/admin-features-list.php:295
38
+ #: inc/admin/admin-features-list.php:305 inc/admin/admin-features-list.php:316
39
+ #: inc/admin/admin-features-list.php:327 inc/admin/admin-features-list.php:345
40
  msgid "Manage"
41
  msgstr ""
42
 
43
+ #: inc/admin/admin-features-list.php:23 inc/admin/admin-features-list.php:39
44
+ #: inc/admin/admin-features-list.php:55 inc/admin/admin-features-list.php:71
45
+ #: inc/admin/admin-features-list.php:98 inc/admin/admin-features-list.php:144
46
+ #: inc/admin/admin-features-list.php:160 inc/admin/admin-features-list.php:176
47
+ #: inc/admin/admin-features-list.php:197 inc/admin/admin-features-list.php:214
48
+ #: inc/admin/admin-features-list.php:233 inc/admin/admin-features-list.php:252
49
+ #: inc/admin/admin-features-list.php:271 inc/admin/admin-features-list.php:332
50
+ #: inc/admin/admin-features-list.php:350 inc/admin/admin.php:293
51
+ #: inc/admin/admin.php:299
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  msgid "Read our guide"
53
  msgstr ""
54
 
55
+ #: inc/admin/admin-features-list.php:24
56
  msgid "Guide to manage your titles and meta descriptions - new window"
57
  msgstr ""
58
 
59
+ #: inc/admin/admin-features-list.php:31 inc/admin/admin.php:192
60
  msgid "XML / Image / Video / HTML Sitemap"
61
  msgstr ""
62
 
63
+ #: inc/admin/admin-features-list.php:32
64
  msgid "Manage your XML / Image / Video / HTML Sitemap"
65
  msgstr ""
66
 
67
+ #: inc/admin/admin-features-list.php:40
68
  msgid "Guide to enable your XML Sitemaps - new window"
69
  msgstr ""
70
 
71
+ #: inc/admin/admin-features-list.php:47 inc/admin/admin-header.php:48
72
+ #: inc/admin/admin.php:193 inc/admin/adminbar.php:38
73
  msgid "Social Networks"
74
  msgstr ""
75
 
76
+ #: inc/admin/admin-features-list.php:48
77
  msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
78
  msgstr ""
79
 
80
+ #: inc/admin/admin-features-list.php:56
81
  msgid "Guide to enable Google Knowledge Graph - new window"
82
  msgstr ""
83
 
84
+ #: inc/admin/admin-features-list.php:63 inc/admin/admin-header.php:54
85
+ #: inc/admin/admin.php:194 inc/admin/adminbar.php:44
86
  msgid "Google Analytics"
87
  msgstr ""
88
 
89
+ #: inc/admin/admin-features-list.php:64
90
  msgid "Track everything about your visitors with Google Analytics"
91
  msgstr ""
92
 
93
+ #: inc/admin/admin-features-list.php:72
94
  msgid "Guide to getting started with Google Analytics - new window"
95
  msgstr ""
96
 
97
+ #: inc/admin/admin-features-list.php:79 inc/admin/admin-header.php:60
98
+ #: inc/admin/admin-metaboxes-form.php:58 inc/admin/admin.php:195
99
+ #: inc/admin/admin.php:356 inc/admin/admin.php:633 inc/admin/adminbar.php:50
100
  msgid "Advanced"
101
  msgstr ""
102
 
103
+ #: inc/admin/admin-features-list.php:80
104
  msgid "Advanced SEO options for advanced users!"
105
  msgstr ""
106
 
107
+ #: inc/admin/admin-features-list.php:90 inc/admin/admin-header.php:68
108
  msgid "WooCommerce"
109
  msgstr ""
110
 
111
+ #: inc/admin/admin-features-list.php:91
112
  msgid "Improve WooCommerce SEO"
113
  msgstr ""
114
 
115
+ #: inc/admin/admin-features-list.php:99
116
  msgid "Guide to optimize your WooCommerce SEO - new window"
117
  msgstr ""
118
 
119
+ #: inc/admin/admin-features-list.php:106 inc/admin/admin-header.php:74
120
  msgid "Easy Digital Downloads"
121
  msgstr ""
122
 
123
+ #: inc/admin/admin-features-list.php:107
124
  msgid "Improve Easy Digital Downloads SEO"
125
  msgstr ""
126
 
127
+ #: inc/admin/admin-features-list.php:115 inc/admin/admin-header.php:80
128
  msgid "Local Business"
129
  msgstr ""
130
 
131
+ #: inc/admin/admin-features-list.php:116
132
  msgid "Add Google Local Business data type"
133
  msgstr ""
134
 
135
+ #: inc/admin/admin-features-list.php:124 inc/admin/admin-header.php:86
136
  msgid "Dublin Core"
137
  msgstr ""
138
 
139
+ #: inc/admin/admin-features-list.php:125
140
  msgid "Add Dublin Core meta tags"
141
  msgstr ""
142
 
143
+ #: inc/admin/admin-features-list.php:133
144
  msgid "Structured Data Types"
145
  msgstr ""
146
 
147
+ #: inc/admin/admin-features-list.php:134
148
  msgid ""
149
  "Add data types to your content: articles, courses, recipes, videos, events, "
150
  "products and more."
151
  msgstr ""
152
 
153
+ #: inc/admin/admin-features-list.php:139 inc/admin/admin-features-list.php:225
154
  msgid "See schemas"
155
  msgstr ""
156
 
157
+ #: inc/admin/admin-features-list.php:145 inc/admin/admin-features-list.php:234
158
  msgid "Guide to add schemas with SEOPress PRO - new window"
159
  msgstr ""
160
 
161
+ #: inc/admin/admin-features-list.php:152 inc/admin/admin-header.php:98
162
  msgid "Breadcrumbs"
163
  msgstr ""
164
 
165
+ #: inc/admin/admin-features-list.php:153
166
  msgid "Enable Breadcrumbs for your theme and improve your SEO in SERPs"
167
  msgstr ""
168
 
169
+ #: inc/admin/admin-features-list.php:161
170
  msgid "Guide to enable Breadcrumbs - new window"
171
  msgstr ""
172
 
173
+ #: inc/admin/admin-features-list.php:168 inc/admin/admin-header.php:104
174
  msgid "Google Page Speed"
175
  msgstr ""
176
 
177
+ #: inc/admin/admin-features-list.php:169
178
  msgid "Track your website performance to improve SEO with Google Page Speed"
179
  msgstr ""
180
 
181
+ #: inc/admin/admin-features-list.php:177
182
  msgid "Guide to analyze your site with Google Page Speed - new window"
183
  msgstr ""
184
 
185
+ #: inc/admin/admin-features-list.php:186 inc/admin/admin-header.php:111
186
  msgid "robots.txt"
187
  msgstr ""
188
 
189
+ #: inc/admin/admin-features-list.php:187
190
  msgid "Edit your robots.txt file"
191
  msgstr ""
192
 
193
+ #: inc/admin/admin-features-list.php:189
194
  msgid "View your robots.txt"
195
  msgstr ""
196
 
197
+ #: inc/admin/admin-features-list.php:198 inc/admin/admin-features-list.php:215
198
  msgid "Guide to edit your robots.txt file - new window"
199
  msgstr ""
200
 
201
+ #: inc/admin/admin-features-list.php:206 inc/admin/admin-header.php:118
202
  msgid "Google News Sitemap"
203
  msgstr ""
204
 
205
+ #: inc/admin/admin-features-list.php:207
206
  msgid "Optimize your site for Google News"
207
  msgstr ""
208
 
209
+ #: inc/admin/admin-features-list.php:222 inc/admin/adminbar.php:85
 
 
 
 
 
210
  msgid "Schemas"
211
  msgstr ""
212
 
213
+ #: inc/admin/admin-features-list.php:223
214
  msgid "Create / manage your schemas"
215
  msgstr ""
216
 
217
+ #: inc/admin/admin-features-list.php:241 inc/admin/admin-header.php:124
218
+ #: inc/admin/admin.php:672 inc/admin/adminbar.php:93
219
  msgid "Redirections"
220
  msgstr ""
221
 
222
+ #: inc/admin/admin-features-list.php:242
223
  msgid "Monitor 404, create 301, 302 and 307 redirections"
224
  msgstr ""
225
 
226
+ #: inc/admin/admin-features-list.php:244
227
  msgid "See redirects"
228
  msgstr ""
229
 
230
+ #: inc/admin/admin-features-list.php:253
231
  msgid "Guide to enable 301 redirections and 404 monitoring - new window"
232
  msgstr ""
233
 
234
+ #: inc/admin/admin-features-list.php:260 inc/admin/admin-header.php:130
235
  msgid "Broken links"
236
  msgstr ""
237
 
238
+ #: inc/admin/admin-features-list.php:261
239
  msgid "Scan your site to find SEO problems."
240
  msgstr ""
241
 
242
+ #: inc/admin/admin-features-list.php:263
243
  msgid "See broken links"
244
  msgstr ""
245
 
246
+ #: inc/admin/admin-features-list.php:266
247
  msgid "Scan"
248
  msgstr ""
249
 
250
+ #: inc/admin/admin-features-list.php:272
251
  msgid "Guide to find broken links with SEOPress PRO - new window"
252
  msgstr ""
253
 
254
+ #: inc/admin/admin-features-list.php:279 inc/admin/admin-header.php:136
255
+ #: inc/admin/adminbar.php:108
256
  msgid "Backlinks"
257
  msgstr ""
258
 
259
+ #: inc/admin/admin-features-list.php:280
260
  msgid "Check your backlinks with Majestic API."
261
  msgstr ""
262
 
263
+ #: inc/admin/admin-features-list.php:282
264
  msgid "See backlinks"
265
  msgstr ""
266
 
267
+ #: inc/admin/admin-features-list.php:292 inc/admin/admin-header.php:142
268
  msgid "URL Rewriting"
269
  msgstr ""
270
 
271
+ #: inc/admin/admin-features-list.php:293
272
  msgid "Customize your permalinks."
273
  msgstr ""
274
 
275
+ #: inc/admin/admin-features-list.php:302 inc/admin/admin-header.php:155
276
  msgid ".htaccess"
277
  msgstr ""
278
 
279
+ #: inc/admin/admin-features-list.php:303
280
  msgid "Edit your htaccess file."
281
  msgstr ""
282
 
283
+ #: inc/admin/admin-features-list.php:313 inc/admin/admin-header.php:162
284
  msgid "RSS"
285
  msgstr ""
286
 
287
+ #: inc/admin/admin-features-list.php:314
288
  msgid "Configure default WordPress RSS."
289
  msgstr ""
290
 
291
+ #: inc/admin/admin-features-list.php:324 inc/admin/admin-header.php:175
292
+ #: inc/admin/admin.php:196 inc/admin/adminbar.php:56
293
  msgid "Tools"
294
  msgstr ""
295
 
296
+ #: inc/admin/admin-features-list.php:325
297
  msgid "Import/Export plugin settings from site to site."
298
  msgstr ""
299
 
300
+ #: inc/admin/admin-features-list.php:333
301
  msgid "Guide to Export/Import/Reset settings - new window"
302
  msgstr ""
303
 
304
+ #: inc/admin/admin-features-list.php:342 inc/admin/admin-header.php:168
305
+ #: inc/admin/admin-notifications-center.php:525 inc/admin/adminbar.php:72
306
  msgid "License"
307
  msgstr ""
308
 
309
+ #: inc/admin/admin-features-list.php:343
310
  msgid "Edit your license key."
311
  msgstr ""
312
 
313
+ #: inc/admin/admin-features-list.php:351
314
  msgid "Guide to activate SEOPress PRO - new window"
315
  msgstr ""
316
 
317
+ #: inc/admin/admin-features-list.php:406 inc/admin/admin-features-list.php:410
318
+ msgid "Click to disable"
319
+ msgstr ""
320
+
321
+ #: inc/admin/admin-features-list.php:407 inc/admin/admin-features-list.php:409
322
+ msgid "Click to enable"
323
+ msgstr ""
324
+
325
+ #: inc/admin/admin-get-started.php:9
326
  msgid "How-to get started"
327
  msgstr ""
328
 
329
+ #: inc/admin/admin-get-started.php:10
330
  msgid "Welcome to SEOPress!"
331
  msgstr ""
332
 
333
+ #: inc/admin/admin-get-started.php:11
334
  msgid ""
335
  "Launch our installation wizard to quickly and easily configure the basic SEO "
336
  "settings for your site. Browse our video guides to go further. Can't find "
338
  "happiness engineer will be happy to help you."
339
  msgstr ""
340
 
341
+ #: inc/admin/admin-get-started.php:12
342
  msgid "Get started"
343
  msgstr ""
344
 
345
+ #: inc/admin/admin-get-started.php:13
346
  msgid "Watch our video guides"
347
  msgstr ""
348
 
349
+ #: inc/admin/admin-get-started.php:25
350
  msgid "Our support center"
351
  msgstr ""
352
 
353
+ #: inc/admin/admin-header.php:17
354
  msgid "SEOPress"
355
  msgstr ""
356
 
357
+ #: inc/admin/admin-header.php:24 inc/admin/admin-notifications-center.php:554
358
+ #: inc/admin/adminbar.php:78
359
  msgid "PRO"
360
  msgstr ""
361
 
362
+ #: inc/admin/admin-header.php:29
363
  msgid "FREE"
364
  msgstr ""
365
 
366
+ #: inc/admin/admin-header.php:36 inc/admin/admin.php:191
367
+ #: inc/admin/adminbar.php:26
368
  msgid "Titles & Metas"
369
  msgstr ""
370
 
371
+ #: inc/admin/admin-header.php:42 inc/admin/admin.php:192
372
+ #: inc/admin/adminbar.php:32
373
  msgid "XML / HTML Sitemap"
374
  msgstr ""
375
 
376
+ #: inc/admin/admin-header.php:92
377
  msgid "Structured Data Types (schema.org)"
378
  msgstr ""
379
 
380
+ #: inc/admin/admin-header.php:149
381
  msgid "White Label"
382
  msgstr ""
383
 
384
+ #: inc/admin/admin-header.php:200
385
  msgid "See the changelog (new window)"
386
  msgstr ""
387
 
388
+ #: inc/admin/admin-header.php:202
389
  msgid "See the changelog"
390
  msgstr ""
391
 
392
+ #: inc/admin/admin-header.php:204 inc/admin/admin-header.php:206
393
  msgid "Send feedback"
394
  msgstr ""
395
 
396
+ #: inc/admin/admin-header.php:208
397
  msgid "Follow us on Twitter (new window)"
398
  msgstr ""
399
 
400
+ #: inc/admin/admin-header.php:210 inc/admin/admin-wizard.php:871
401
  msgid "Follow us on Twitter"
402
  msgstr ""
403
 
404
+ #: inc/admin/admin-header.php:212
405
  msgid "Follow us on YouTube (new window)"
406
  msgstr ""
407
 
408
+ #: inc/admin/admin-header.php:214
409
  msgid "Follow us on YouTube"
410
  msgstr ""
411
 
412
+ #: inc/admin/admin-header.php:216
413
  msgid "Official website (new window)"
414
  msgstr ""
415
 
416
+ #: inc/admin/admin-header.php:218
417
  msgid "Official website"
418
  msgstr ""
419
 
420
+ #: inc/admin/admin-header.php:220
421
  msgid "Support (new window)"
422
  msgstr ""
423
 
424
+ #: inc/admin/admin-header.php:222
425
  msgid "Support"
426
  msgstr ""
427
 
504
  msgstr ""
505
 
506
  #: inc/admin/admin-metaboxes-content-analysis-form.php:124
507
+ #: inc/admin/admin-metaboxes-form.php:106
508
  msgid "Meta title"
509
  msgstr ""
510
 
511
  #: inc/admin/admin-metaboxes-content-analysis-form.php:129
512
+ #: inc/admin/admin-metaboxes-form.php:130
513
+ #: inc/admin/admin-metaboxes-form.php:131
514
+ #: inc/admin/admin-metaboxes-form.php:133 inc/admin/admin-wizard.php:294
515
+ #: inc/admin/admin-wizard.php:313 inc/admin/admin-wizard.php:330
516
+ #: inc/admin/admin-wizard.php:349 inc/admin/admin-wizard.php:368
517
+ #: inc/admin/admin-wizard.php:386 inc/admin/admin-wizard.php:403
518
+ #: inc/admin/admin.php:770 inc/admin/admin.php:791 inc/admin/admin.php:810
519
+ #: inc/admin/admin.php:831 inc/admin/admin.php:852 inc/admin/admin.php:872
520
+ #: inc/admin/admin.php:891 inc/admin/admin.php:1169 inc/admin/admin.php:2772
521
  #: inc/functions/options-advanced-admin.php:802
522
  msgid "Meta description"
523
  msgstr ""
694
  msgstr ""
695
 
696
  #: inc/admin/admin-metaboxes-content-analysis-form.php:368
697
+ msgid ""
698
+ "No custom title is set for this post. If the global meta title suits you, "
699
+ "you can ignore this recommendation."
700
  msgstr ""
701
 
702
  #: inc/admin/admin-metaboxes-content-analysis-form.php:375
716
  msgstr ""
717
 
718
  #: inc/admin/admin-metaboxes-content-analysis-form.php:402
719
+ msgid ""
720
+ "No custom meta description is set for this post. If the global meta "
721
+ "description suits you, you can ignore this recommendation."
722
  msgstr ""
723
 
724
  #: inc/admin/admin-metaboxes-content-analysis-form.php:409
831
  msgstr ""
832
 
833
  #: inc/admin/admin-metaboxes-content-analysis-form.php:549
834
+ #: inc/admin/admin-metaboxes-form.php:370
835
+ #: inc/admin/admin-metaboxes-form.php:371
836
  msgid "Twitter Title"
837
  msgstr ""
838
 
967
  "searchbox in search results."
968
  msgstr ""
969
 
970
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:716
971
  msgid ""
972
  "No alternative text found for these images. Alt tags are important for both "
973
  "SEO and accessibility. Edit your images using the media library or your "
974
  "favorite page builder and fill in alternative text fields."
975
  msgstr ""
976
 
977
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:727
978
  msgid "All alternative tags are filled in. Good work!"
979
  msgstr ""
980
 
981
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:734
982
  msgid ""
983
  "We could not find any image in your content. Content with media is a plus "
984
  "for your SEO."
985
  msgstr ""
986
 
987
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:741
988
  #, php-format
989
  msgid ""
990
  "We found %d links with nofollow attribute in your page. Do not overuse "
991
  "nofollow attribute in links. Below, the list:"
992
  msgstr ""
993
 
994
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:752
995
  msgid "This page doesn't have any nofollow links."
996
  msgstr ""
997
 
998
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:756
999
  msgid ""
1000
  "Internet is built on the principle of hyperlink. It is therefore perfectly "
1001
  "normal to make links between different websites. However, avoid making links "
1003
  "site, add the attribute \"nofollow\" to your link."
1004
  msgstr ""
1005
 
1006
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:760
1007
  #, php-format
1008
  msgid "We found %s outbound links in your page. Below, the list:"
1009
  msgstr ""
1010
 
1011
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:770
1012
  msgid "This page doesn't have any outbound links."
1013
  msgstr ""
1014
 
1015
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:784
1016
  msgid ""
1017
  "<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</"
1018
  "strong> yellow or green dots"
1019
  msgstr ""
1020
 
1021
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:787
1022
  #: inc/functions/options-advanced-admin.php:409
1023
  msgid "Should be improved"
1024
  msgstr ""
1025
 
1026
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:790
1027
  #: inc/functions/options-advanced-admin.php:404
1028
  msgid "Good"
1029
  msgstr ""
1030
 
1031
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:796
1032
  msgid "Expand"
1033
  msgstr ""
1034
 
1035
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:796
1036
  msgid "Close"
1037
  msgstr ""
1038
 
1039
  #: inc/admin/admin-metaboxes-form.php:48 inc/admin/admin-metaboxes.php:163
1040
+ #: inc/admin/admin-metaboxes.php:166 inc/admin/admin.php:189
1041
+ #: inc/admin/adminbar.php:13 inc/functions/options-advanced-admin.php:792
1042
  msgid "SEO"
1043
  msgstr ""
1044
 
1072
  msgid "to edit your title and meta description"
1073
  msgstr ""
1074
 
 
1075
  #: inc/admin/admin-metaboxes-form.php:105
1076
+ #: inc/admin/admin-metaboxes-form.php:108
1077
  msgid "Title"
1078
  msgstr ""
1079
 
1080
+ #: inc/admin/admin-metaboxes-form.php:106
1081
+ msgid ""
1082
+ "Titles are critical to giving users a quick insight into the content of a "
1083
+ "result and why it’s relevant to their query. It's often the primary piece of "
1084
+ "information used to decide which result to click on, so it's important to "
1085
+ "use high-quality titles on your web pages."
1086
+ msgstr ""
1087
+
1088
+ #: inc/admin/admin-metaboxes-form.php:108
1089
  msgid "Enter your title"
1090
  msgstr ""
1091
 
1092
+ #: inc/admin/admin-metaboxes-form.php:115
1093
  msgid " / 568 pixels - "
1094
  msgstr ""
1095
 
1096
+ #: inc/admin/admin-metaboxes-form.php:117
1097
+ #: inc/admin/admin-metaboxes-form.php:142
1098
  msgid " (maximum recommended limit)"
1099
  msgstr ""
1100
 
1101
+ #: inc/admin/admin-metaboxes-form.php:121 inc/admin/admin.php:2865
1102
+ #: inc/admin/admin.php:3900
1103
  msgid "Post Title"
1104
  msgstr ""
1105
 
1106
+ #: inc/admin/admin-metaboxes-form.php:123 inc/admin/admin.php:204
1107
+ #: inc/admin/admin.php:2763 inc/admin/admin.php:2869 inc/admin/admin.php:3059
1108
+ #: inc/admin/admin.php:3182 inc/admin/admin.php:3260 inc/admin/admin.php:3331
1109
+ #: inc/admin/admin.php:3401 inc/admin/admin.php:3451
1110
  msgid "Site Title"
1111
  msgstr ""
1112
 
1113
+ #: inc/admin/admin-metaboxes-form.php:125 inc/admin/admin-wizard.php:458
1114
+ #: inc/admin/admin.php:1153 inc/admin/admin.php:2750 inc/admin/admin.php:2764
1115
+ #: inc/admin/admin.php:2867 inc/admin/admin.php:3057 inc/admin/admin.php:3180
1116
+ #: inc/admin/admin.php:3259 inc/admin/admin.php:3330 inc/admin/admin.php:3400
1117
+ #: inc/admin/admin.php:3452
1118
  msgid "Separator"
1119
  msgstr ""
1120
 
1121
+ #: inc/admin/admin-metaboxes-form.php:131
1122
+ msgid ""
1123
+ "A meta description tag should generally inform and interest users with a "
1124
+ "short, relevant summary of what a particular page is about. <br>They are "
1125
+ "like a pitch that convince the user that the page is exactly what they're "
1126
+ "looking for. <br>There's no limit on how long a meta description can be, but "
1127
+ "the search result snippets are truncated as needed, typically to fit the "
1128
+ "device width."
1129
+ msgstr ""
1130
+
1131
+ #: inc/admin/admin-metaboxes-form.php:133
1132
  msgid "Enter your meta description"
1133
  msgstr ""
1134
 
1135
+ #: inc/admin/admin-metaboxes-form.php:140
1136
  msgid " / 940 pixels - "
1137
  msgstr ""
1138
 
1139
+ #: inc/admin/admin-metaboxes-form.php:146
1140
  msgid "Category / term description"
1141
  msgstr ""
1142
 
1143
+ #: inc/admin/admin-metaboxes-form.php:150
1144
  msgid "Post Excerpt"
1145
  msgstr ""
1146
 
1147
+ #: inc/admin/admin-metaboxes-form.php:161
1148
  msgid "Google Snippet Preview"
1149
  msgstr ""
1150
 
1151
+ #: inc/admin/admin-metaboxes-form.php:162
1152
+ msgid "Snippet Preview"
1153
+ msgstr ""
1154
+
1155
+ #: inc/admin/admin-metaboxes-form.php:162
1156
+ msgid ""
1157
+ "The Google preview is a simulation. <br>There is no reliable preview because "
1158
+ "it depends on the screen resolution, the device used, the expression sought, "
1159
+ "and Google. <br>There is not one snippet for one URL but several. <br>All "
1160
+ "the data in this overview comes directly from your source code. <br>This is "
1161
+ "what the crawlers will see."
1162
+ msgstr ""
1163
+
1164
+ #: inc/admin/admin-metaboxes-form.php:164
1165
  msgid ""
1166
  "This is what your page will look like in Google search results. You have to "
1167
  "publish your post to get the Google Snippet Preview."
1168
  msgstr ""
1169
 
1170
+ #: inc/admin/admin-metaboxes-form.php:169
1171
+ msgid "Mobile Preview"
1172
+ msgstr ""
1173
+
1174
+ #: inc/admin/admin-metaboxes-form.php:216
1175
  msgid ""
1176
  "Do not display this page in search engine results / XML - HTML sitemaps "
1177
  "<strong>(noindex)</strong>"
1178
  msgstr ""
1179
 
1180
+ #: inc/admin/admin-metaboxes-form.php:217
1181
+ msgid "\"noindex\" robots meta tag"
1182
+ msgstr ""
1183
+
1184
+ #: inc/admin/admin-metaboxes-form.php:217
1185
+ msgid ""
1186
+ "By checking this option, this will add a meta robots tag with the value "
1187
+ "\"noindex\". <br>Search engines will not index this URL in the search "
1188
+ "results."
1189
+ msgstr ""
1190
+
1191
+ #: inc/admin/admin-metaboxes-form.php:223
1192
  msgid "Do not follow links for this page <strong>(nofollow)</strong>"
1193
  msgstr ""
1194
 
1195
+ #: inc/admin/admin-metaboxes-form.php:224
1196
+ msgid "\"nofollow\" robots meta tag"
1197
+ msgstr ""
1198
+
1199
+ #: inc/admin/admin-metaboxes-form.php:224
1200
+ msgid ""
1201
+ "By checking this option, this will add a meta robots tag with the value "
1202
+ "\"nofollow\". <br>Search engines will not follow links from this URL."
1203
+ msgstr ""
1204
+
1205
+ #: inc/admin/admin-metaboxes-form.php:230
1206
  msgid ""
1207
  "Do not use Open Directory project metadata for titles or excerpts for this "
1208
  "page <strong>(noodp)</strong>"
1209
  msgstr ""
1210
 
1211
+ #: inc/admin/admin-metaboxes-form.php:231
1212
+ msgid "\"noodp\" robots meta tag"
1213
+ msgstr ""
1214
+
1215
+ #: inc/admin/admin-metaboxes-form.php:231
1216
+ msgid ""
1217
+ "By checking this option, this will add a meta robots tag with the value "
1218
+ "\"noodp\". <br>Note that Google and Yahoo have stopped considering this tag "
1219
+ "since the closing of DMOZ directory."
1220
+ msgstr ""
1221
+
1222
+ #: inc/admin/admin-metaboxes-form.php:237
1223
  msgid "Do not index images for this page <strong>(noimageindex)</strong>"
1224
  msgstr ""
1225
 
1226
+ #: inc/admin/admin-metaboxes-form.php:238
1227
+ msgid "\"noimageindex\" robots meta tag"
1228
+ msgstr ""
1229
+
1230
+ #: inc/admin/admin-metaboxes-form.php:238
1231
+ msgid ""
1232
+ "By checking this option, this will add a meta robots tag with the value "
1233
+ "\"noimageindex\". <br> Note that your images can always be indexed if they "
1234
+ "are linked from other pages."
1235
+ msgstr ""
1236
+
1237
+ #: inc/admin/admin-metaboxes-form.php:244
1238
  msgid ""
1239
  "Do not display a \"Cached\" link in the Google search results "
1240
  "<strong>(noarchive)</strong>"
1241
  msgstr ""
1242
 
1243
+ #: inc/admin/admin-metaboxes-form.php:245
1244
+ msgid "\"noarchive\" robots meta tag"
1245
+ msgstr ""
1246
+
1247
+ #: inc/admin/admin-metaboxes-form.php:245
1248
+ msgid ""
1249
+ "By checking this option, this will add a meta robots tag with the value "
1250
+ "\"noarchive\"."
1251
+ msgstr ""
1252
+
1253
+ #: inc/admin/admin-metaboxes-form.php:251
1254
  msgid ""
1255
  "Do not display a description in search results for this page "
1256
  "<strong>(nosnippet)</strong>"
1257
  msgstr ""
1258
 
1259
+ #: inc/admin/admin-metaboxes-form.php:252
1260
+ msgid "\"nosnippet\" robots meta tag"
1261
+ msgstr ""
1262
+
1263
+ #: inc/admin/admin-metaboxes-form.php:252
1264
+ msgid ""
1265
+ "By checking this option, this will add a meta robots tag with the value "
1266
+ "\"nosnippet\"."
1267
+ msgstr ""
1268
+
1269
+ #: inc/admin/admin-metaboxes-form.php:257
1270
  #, php-format
1271
  msgid ""
1272
  "You cannot uncheck a parameter? This is normal, and it's most likely defined "
1273
  "in the <a href=\"%s\">global settings of the extension</a>."
1274
  msgstr ""
1275
 
1276
+ #: inc/admin/admin-metaboxes-form.php:260
1277
+ #: inc/admin/admin-metaboxes-form.php:261
1278
+ #: inc/admin/admin-metaboxes-form.php:264 inc/admin/admin-wizard.php:298
1279
+ #: inc/admin/admin-wizard.php:334 inc/admin/admin-wizard.php:353
1280
+ #: inc/admin/admin-wizard.php:372 inc/admin/admin.php:774
1281
+ #: inc/admin/admin.php:814 inc/admin/admin.php:835 inc/admin/admin.php:856
1282
  msgid "Canonical URL"
1283
  msgstr ""
1284
 
1285
+ #: inc/admin/admin-metaboxes-form.php:261
1286
  msgid ""
1287
  "A canonical URL is the URL of the page that Google thinks is most "
1288
+ "representative from a set of duplicate pages on your site. <br>For example, "
1289
+ "if you have URLs for the same page (for example: example.com?dress=1234 and "
1290
+ "example.com/dresses/1234), Google chooses one as canonical. <br>Note that "
1291
+ "the pages do not need to be absolutely identical; minor changes in sorting "
1292
+ "or filtering of list pages do not make the page unique (for example, sorting "
1293
+ "by price or filtering by item color).\n"
1294
+ " The canonical can be in a different domain than "
1295
+ "a duplicate."
1296
  msgstr ""
1297
 
1298
+ #: inc/admin/admin-metaboxes-form.php:264
1299
  msgid "Default value: "
1300
  msgstr ""
1301
 
1302
+ #: inc/admin/admin-metaboxes-form.php:271
1303
  msgid "Select a primary category"
1304
  msgstr ""
1305
 
1306
+ #: inc/admin/admin-metaboxes-form.php:272
1307
  msgid ""
1308
  "Set the category that gets used in the %category% permalink if you have "
1309
  "multiple categories."
1310
  msgstr ""
1311
 
1312
+ #: inc/admin/admin-metaboxes-form.php:282 inc/admin/admin-wizard.php:469
1313
+ #: inc/admin/admin.php:3943
1314
  msgid "None (will disable this feature)"
1315
  msgstr ""
1316
 
1317
+ #: inc/admin/admin-metaboxes-form.php:294
1318
+ #: inc/admin/admin-metaboxes-form.php:298
1319
  msgid "Custom breadcrumbs"
1320
  msgstr ""
1321
 
1322
+ #: inc/admin/admin-metaboxes-form.php:295
1323
  msgid "Enter a custom value, useful if your title is too long."
1324
  msgstr ""
1325
 
1326
+ #: inc/admin/admin-metaboxes-form.php:298
1327
  #, php-format
1328
  msgid "Current breadcrumbs: %s"
1329
  msgstr ""
1330
 
1331
+ #: inc/admin/admin-metaboxes-form.php:309
1332
  msgid "Ask Facebook to update his cache"
1333
  msgstr ""
1334
 
1335
+ #: inc/admin/admin-metaboxes-form.php:310
1336
  msgid ""
1337
  "<span class=\"label\">Did you know?</span> LinkedIn, Instagram and Pinterest "
1338
  "use the same social metadata as Facebook. Twitter does the same if no "
1339
  "Twitter cards tag defined below."
1340
  msgstr ""
1341
 
1342
+ #: inc/admin/admin-metaboxes-form.php:312
1343
+ #: inc/admin/admin-metaboxes-form.php:313
1344
  msgid "Facebook Title"
1345
  msgstr ""
1346
 
1347
+ #: inc/admin/admin-metaboxes-form.php:313
1348
  msgid "Enter your Facebook title"
1349
  msgstr ""
1350
 
1351
+ #: inc/admin/admin-metaboxes-form.php:316
1352
+ #: inc/admin/admin-metaboxes-form.php:317
1353
  msgid "Facebook description"
1354
  msgstr ""
1355
 
1356
+ #: inc/admin/admin-metaboxes-form.php:317
1357
  msgid "Enter your Facebook description"
1358
  msgstr ""
1359
 
1360
+ #: inc/admin/admin-metaboxes-form.php:320
1361
+ #: inc/admin/admin-metaboxes-form.php:321
1362
  msgid "Facebook Thumbnail"
1363
  msgstr ""
1364
 
1365
+ #: inc/admin/admin-metaboxes-form.php:321
1366
+ #: inc/admin/admin-metaboxes-form.php:379 inc/admin/admin.php:4212
1367
+ #: inc/admin/admin.php:4324
1368
  msgid "Select your default thumbnail"
1369
  msgstr ""
1370
 
1371
+ #: inc/admin/admin-metaboxes-form.php:322 inc/admin/admin.php:4216
1372
  msgid ""
1373
  "Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or "
1374
  "3280x1712px for retina screens)"
1375
  msgstr ""
1376
 
1377
+ #: inc/admin/admin-metaboxes-form.php:323
1378
+ #: inc/admin/admin-metaboxes-form.php:381
1379
+ #: inc/admin/admin-metaboxes-form.php:531 inc/admin/admin.php:3977
1380
+ #: inc/admin/admin.php:4214 inc/admin/admin.php:4326
1381
  msgid "Upload an Image"
1382
  msgstr ""
1383
 
1384
+ #: inc/admin/admin-metaboxes-form.php:328
1385
  msgid "Facebook Preview"
1386
  msgstr ""
1387
 
1388
+ #: inc/admin/admin-metaboxes-form.php:330
1389
  msgid ""
1390
  "This is what your post will look like in Facebook. You have to publish your "
1391
  "post to get the Facebook Preview."
1392
  msgstr ""
1393
 
1394
+ #: inc/admin/admin-metaboxes-form.php:332
1395
  msgid ""
1396
  "The Social Networks feature is disabled. Still seing informations from the "
1397
  "FB Preview? You probably have social tags added by your theme or a plugin."
1398
  msgstr ""
1399
 
1400
+ #: inc/admin/admin-metaboxes-form.php:343
1401
  msgid "By "
1402
  msgstr ""
1403
 
1404
+ #: inc/admin/admin-metaboxes-form.php:368
1405
  msgid "Preview your Twitter card using the official validator"
1406
  msgstr ""
1407
 
1408
+ #: inc/admin/admin-metaboxes-form.php:371
1409
  msgid "Enter your Twitter title"
1410
  msgstr ""
1411
 
1412
+ #: inc/admin/admin-metaboxes-form.php:374
1413
+ #: inc/admin/admin-metaboxes-form.php:375
1414
  msgid "Twitter description"
1415
  msgstr ""
1416
 
1417
+ #: inc/admin/admin-metaboxes-form.php:375
1418
  msgid "Enter your Twitter description"
1419
  msgstr ""
1420
 
1421
+ #: inc/admin/admin-metaboxes-form.php:378
1422
+ #: inc/admin/admin-metaboxes-form.php:381
1423
  msgid "Twitter Thumbnail"
1424
  msgstr ""
1425
 
1426
+ #: inc/admin/admin-metaboxes-form.php:380 inc/admin/admin.php:4328
1427
  msgid ""
1428
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
1429
  "(2:1 with large card), 5Mb max."
1430
  msgstr ""
1431
 
1432
+ #: inc/admin/admin-metaboxes-form.php:393
1433
  msgid "Enable redirection?"
1434
  msgstr ""
1435
 
1436
+ #: inc/admin/admin-metaboxes-form.php:397
1437
+ #: inc/admin/admin-metaboxes-form.php:405
1438
  msgid "URL redirection"
1439
  msgstr ""
1440
 
1441
+ #: inc/admin/admin-metaboxes-form.php:399
1442
  msgid "301 Moved Permanently"
1443
  msgstr ""
1444
 
1445
+ #: inc/admin/admin-metaboxes-form.php:400
1446
  msgid "302 Found / Moved Temporarily"
1447
  msgstr ""
1448
 
1449
+ #: inc/admin/admin-metaboxes-form.php:401
1450
  msgid "307 Moved Temporarily"
1451
  msgstr ""
1452
 
1453
+ #: inc/admin/admin-metaboxes-form.php:402
1454
  msgid "410 Gone"
1455
  msgstr ""
1456
 
1457
+ #: inc/admin/admin-metaboxes-form.php:403
1458
  msgid "451 Unavailable For Legal Reasons"
1459
  msgstr ""
1460
 
1461
+ #: inc/admin/admin-metaboxes-form.php:405
1462
  msgid "Enter your new URL in absolute (eg: https://www.example.com/)"
1463
  msgstr ""
1464
 
1465
+ #: inc/admin/admin-metaboxes-form.php:410
1466
  msgid "Query parameters"
1467
  msgstr ""
1468
 
1469
+ #: inc/admin/admin-metaboxes-form.php:412
1470
  msgid "Exactly match all parameters"
1471
  msgstr ""
1472
 
1473
+ #: inc/admin/admin-metaboxes-form.php:413
1474
  msgid "Exclude all parameters"
1475
  msgstr ""
1476
 
1477
+ #: inc/admin/admin-metaboxes-form.php:414
1478
  msgid "Exclude all parameters and pass them to the redirection"
1479
  msgstr ""
1480
 
1481
+ #: inc/admin/admin-metaboxes-form.php:423
1482
+ #: inc/admin/admin-metaboxes-form.php:425
1483
+ #: inc/admin/admin-metaboxes-form.php:428
1484
+ #: inc/admin/admin-metaboxes-form.php:430
1485
  msgid "Test your URL"
1486
  msgstr ""
1487
 
1488
+ #: inc/admin/admin-metaboxes-form.php:444
1489
  msgid "Need help with your redirections? Read our guide."
1490
  msgstr ""
1491
 
1492
+ #: inc/admin/admin-metaboxes-form.php:458
1493
  msgid "Exclude this post from Google News Sitemap?"
1494
  msgstr ""
1495
 
1496
+ #: inc/admin/admin-metaboxes-form.php:484
1497
  msgid "Exclude this post from Video Sitemap?"
1498
  msgstr ""
1499
 
1500
+ #: inc/admin/admin-metaboxes-form.php:486
1501
  msgid ""
1502
  "If your post is set to noindex, it will be automatically excluded from the "
1503
  "sitemap."
1504
  msgstr ""
1505
 
1506
+ #: inc/admin/admin-metaboxes-form.php:505
1507
  msgid "Video "
1508
  msgstr ""
1509
 
1510
+ #: inc/admin/admin-metaboxes-form.php:509
1511
  msgid "Video URL (required)"
1512
  msgstr ""
1513
 
1514
+ #: inc/admin/admin-metaboxes-form.php:510
1515
  msgid "Enter your video URL"
1516
  msgstr ""
1517
 
1518
+ #: inc/admin/admin-metaboxes-form.php:510
1519
  msgid "Video URL"
1520
  msgstr ""
1521
 
1522
+ #: inc/admin/admin-metaboxes-form.php:515
1523
  msgid ""
1524
  "NOT an external video (eg: video hosting on YouTube, Vimeo, Wistia...)? "
1525
  "Check this if your video is hosting on this server."
1526
  msgstr ""
1527
 
1528
+ #: inc/admin/admin-metaboxes-form.php:519
1529
  msgid "Video Title (required)"
1530
  msgstr ""
1531
 
1532
+ #: inc/admin/admin-metaboxes-form.php:520
1533
  msgid "Enter your video title"
1534
  msgstr ""
1535
 
1536
+ #: inc/admin/admin-metaboxes-form.php:520
1537
  msgid "Video title"
1538
  msgstr ""
1539
 
1540
+ #: inc/admin/admin-metaboxes-form.php:521
1541
  msgid "Default: title tag, if not available, post title."
1542
  msgstr ""
1543
 
1544
+ #: inc/admin/admin-metaboxes-form.php:524
1545
  msgid "Video Description (required)"
1546
  msgstr ""
1547
 
1548
+ #: inc/admin/admin-metaboxes-form.php:525
1549
  msgid "Enter your video description"
1550
  msgstr ""
1551
 
1552
+ #: inc/admin/admin-metaboxes-form.php:525
1553
  msgid "Video description"
1554
  msgstr ""
1555
 
1556
+ #: inc/admin/admin-metaboxes-form.php:526
1557
  msgid ""
1558
  "2048 characters max.; default: meta description. If not available, use the "
1559
  "beginning of the post content."
1560
  msgstr ""
1561
 
1562
+ #: inc/admin/admin-metaboxes-form.php:529
1563
  msgid "Video Thumbnail (required)"
1564
  msgstr ""
1565
 
1566
+ #: inc/admin/admin-metaboxes-form.php:530
1567
  msgid "Select your video thumbnail"
1568
  msgstr ""
1569
 
1570
+ #: inc/admin/admin-metaboxes-form.php:531
1571
  msgid "Video Thumbnail"
1572
  msgstr ""
1573
 
1574
+ #: inc/admin/admin-metaboxes-form.php:532
1575
  msgid ""
1576
  "Minimum size: 160x90px (1920x1080 max), JPG, PNG or GIF formats. Default: "
1577
  "your post featured image."
1578
  msgstr ""
1579
 
1580
+ #: inc/admin/admin-metaboxes-form.php:535
1581
  msgid "Video Duration (recommended)"
1582
  msgstr ""
1583
 
1584
+ #: inc/admin/admin-metaboxes-form.php:536
1585
  msgid "Duration in seconds"
1586
  msgstr ""
1587
 
1588
+ #: inc/admin/admin-metaboxes-form.php:536
1589
  msgid "Video duration"
1590
  msgstr ""
1591
 
1592
+ #: inc/admin/admin-metaboxes-form.php:537
1593
  msgid ""
1594
  "The duration of the video in seconds. Value must be between 0 and 28800 (8 "
1595
  "hours)."
1596
  msgstr ""
1597
 
1598
+ #: inc/admin/admin-metaboxes-form.php:540
1599
  msgid "Video Rating"
1600
  msgstr ""
1601
 
1602
+ #: inc/admin/admin-metaboxes-form.php:541
1603
  msgid "Video rating"
1604
  msgstr ""
1605
 
1606
+ #: inc/admin/admin-metaboxes-form.php:542
1607
  msgid "Allowed values are float numbers in the range 0.0 to 5.0."
1608
  msgstr ""
1609
 
1610
+ #: inc/admin/admin-metaboxes-form.php:545
1611
+ #: inc/admin/admin-metaboxes-form.php:546
1612
  msgid "View count"
1613
  msgstr ""
1614
 
1615
+ #: inc/admin/admin-metaboxes-form.php:546
1616
  msgid "Number of views"
1617
  msgstr ""
1618
 
1619
+ #: inc/admin/admin-metaboxes-form.php:549
1620
+ #: inc/admin/admin-metaboxes-form.php:550
1621
  msgid "Video tags"
1622
  msgstr ""
1623
 
1624
+ #: inc/admin/admin-metaboxes-form.php:550
1625
  msgid "Enter your video tags"
1626
  msgstr ""
1627
 
1628
+ #: inc/admin/admin-metaboxes-form.php:551
1629
  msgid ""
1630
  "32 tags max., separate tags with commas. Default: target keywords + post "
1631
  "tags if available."
1632
  msgstr ""
1633
 
1634
+ #: inc/admin/admin-metaboxes-form.php:554
1635
+ #: inc/admin/admin-metaboxes-form.php:555
1636
  msgid "Video categories"
1637
  msgstr ""
1638
 
1639
+ #: inc/admin/admin-metaboxes-form.php:555
1640
  msgid "Enter your video categories"
1641
  msgstr ""
1642
 
1643
+ #: inc/admin/admin-metaboxes-form.php:556
1644
  msgid ""
1645
  "256 characters max., usually a video will belong to a single category, "
1646
  "separate categories with commas. Default: first post category if available."
1647
  msgstr ""
1648
 
1649
+ #: inc/admin/admin-metaboxes-form.php:561
1650
  msgid "NOT family friendly?"
1651
  msgstr ""
1652
 
1653
+ #: inc/admin/admin-metaboxes-form.php:563
1654
  msgid "The video will be available only to users with SafeSearch turned off."
1655
  msgstr ""
1656
 
1657
+ #: inc/admin/admin-metaboxes-form.php:565
1658
  msgid "Remove video"
1659
  msgstr ""
1660
 
1661
+ #: inc/admin/admin-metaboxes-form.php:572
1662
  msgid "Add video"
1663
  msgstr ""
1664
 
1665
+ #: inc/admin/admin-metaboxes.php:201 inc/admin/admin-metaboxes.php:442
1666
+ #: inc/admin/admin-term-metaboxes.php:203
1667
  msgid "Analysis in progress..."
1668
  msgstr ""
1669
 
1671
  msgid "Content analysis"
1672
  msgstr ""
1673
 
1674
+ #: inc/admin/admin-notifications-center.php:49
1675
+ #: inc/admin/admin-notifications-center.php:55
1676
  msgid "Notifications Center"
1677
  msgstr ""
1678
 
1679
+ #: inc/admin/admin-notifications-center.php:50
1680
  msgid "SEO Tools"
1681
  msgstr ""
1682
 
 
1683
  #: inc/admin/admin-notifications-center.php:51
1684
+ #: inc/admin/admin-notifications-center.php:56
1685
  msgid "Useful links"
1686
  msgstr ""
1687
 
1688
+ #: inc/admin/admin-notifications-center.php:97
1689
  msgid "Configure SEOPress in a few minutes with our installation wizard"
1690
  msgstr ""
1691
 
1692
+ #: inc/admin/admin-notifications-center.php:98
1693
  msgid "The best way to quickly setup SEOPress on your site."
1694
  msgstr ""
1695
 
1696
+ #: inc/admin/admin-notifications-center.php:100
1697
+ msgid "Wizard"
1698
  msgstr ""
1699
 
1700
+ #: inc/admin/admin-notifications-center.php:104
1701
+ msgid "Start the wizard"
1702
  msgstr ""
1703
 
1704
+ #: inc/admin/admin-notifications-center.php:126
1705
+ msgid "Your theme doesn't use <strong>add_theme_support('title-tag');</strong>"
 
 
 
 
 
 
1706
  msgstr ""
1707
 
1708
+ #: inc/admin/admin-notifications-center.php:127
1709
  msgid ""
1710
  "This error indicates that your theme uses a deprecated function to generate "
1711
  "the title tag of your pages. SEOPress will not be able to generate your "
1712
  "custom title tags if this error is not fixed."
1713
  msgstr ""
1714
 
1715
+ #: inc/admin/admin-notifications-center.php:129
1716
+ #: inc/admin/admin-notifications-center.php:161
1717
+ #: inc/admin/admin-notifications-center.php:222
1718
+ #: inc/admin/admin-notifications-center.php:252
1719
+ #: inc/admin/admin-notifications-center.php:270
1720
+ #: inc/admin/admin-notifications-center.php:287
1721
+ #: inc/admin/admin-notifications-center.php:375
1722
+ #: inc/admin/admin-notifications-center.php:451
1723
+ #: inc/admin/admin-notifications-center.php:488
1724
+ #: inc/admin/admin-notifications-center.php:506
1725
+ msgid "High impact"
1726
+ msgstr ""
1727
+
1728
+ #: inc/admin/admin-notifications-center.php:134
1729
+ #: inc/admin/admin-notifications-center.php:201
1730
+ #: inc/admin/admin-notifications-center.php:227 inc/admin/admin.php:4641
1731
+ #: inc/admin/admin.php:4683 inc/admin/admin.php:4710 inc/admin/admin.php:4732
1732
+ #: inc/admin/admin.php:4754 inc/admin/admin.php:4776
1733
  msgid "Learn more"
1734
  msgstr ""
1735
 
1736
+ #: inc/admin/admin-notifications-center.php:158
1737
  #, php-format
1738
  msgid "We noticed that you use <strong>%s</strong> plugin."
1739
  msgstr ""
1740
 
1741
+ #: inc/admin/admin-notifications-center.php:159
1742
  msgid ""
1743
  "Do you want to migrate all your metadata to SEOPress? Do not use multiple "
1744
  "SEO plugins at once to avoid conflicts!"
1745
  msgstr ""
1746
 
1747
+ #: inc/admin/admin-notifications-center.php:165
1748
  msgid "Migrate!"
1749
  msgstr ""
1750
 
1751
+ #: inc/admin/admin-notifications-center.php:178
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1752
  msgid "You have enabled 404 cleaning BUT the scheduled task is not running."
1753
  msgstr ""
1754
 
1755
+ #: inc/admin/admin-notifications-center.php:179
1756
  msgid ""
1757
  "To solve this, please disable and re-enable SEOPress PRO. No data will be "
1758
  "lost."
1759
  msgstr ""
1760
 
1761
+ #: inc/admin/admin-notifications-center.php:200
1762
  msgid "Your site doesn't use an SSL certificate!"
1763
  msgstr ""
1764
 
1765
+ #: inc/admin/admin-notifications-center.php:201
 
 
 
 
1766
  msgid ""
1767
  "Https is considered by Google as a positive signal for the ranking of your "
1768
  "site. It also reassures your visitors for data security, and improves trust."
1769
  msgstr ""
1770
 
1771
+ #: inc/admin/admin-notifications-center.php:203
1772
+ msgid "Low impact"
1773
+ msgstr ""
1774
+
1775
+ #: inc/admin/admin-notifications-center.php:207
1776
  msgid "Buy an SSL!"
1777
  msgstr ""
1778
 
1779
+ #: inc/admin/admin-notifications-center.php:219
1780
  msgid "PHP module \"DOM\" is missing on your server."
1781
  msgstr ""
1782
 
1783
+ #: inc/admin/admin-notifications-center.php:220
1784
  msgid ""
1785
  "This PHP module, installed by default with PHP, is required by many plugins "
1786
  "including SEOPress. Please contact your host as soon as possible to solve "
1787
  "this."
1788
  msgstr ""
1789
 
1790
+ #: inc/admin/admin-notifications-center.php:249
1791
  msgid "Your site is not visible to Search Engines!"
1792
  msgstr ""
1793
 
1794
+ #: inc/admin/admin-notifications-center.php:250
1795
  msgid ""
1796
  "You have activated the blocking of the indexing of your site. If your site "
1797
  "is under development, this is probably normal. Otherwise, check your "
1799
  "not concerned."
1800
  msgstr ""
1801
 
1802
+ #: inc/admin/admin-notifications-center.php:256
1803
+ #: inc/admin/admin-notifications-center.php:274
1804
+ #: inc/admin/admin-notifications-center.php:291
1805
+ #: inc/admin/admin-notifications-center.php:320
1806
+ #: inc/admin/admin-notifications-center.php:409
1807
+ #: inc/admin/admin-notifications-center.php:427
1808
+ #: inc/admin/admin-notifications-center.php:510
1809
+ #: inc/admin/admin-notifications-center.php:529
1810
+ msgid "Fix this!"
1811
+ msgstr ""
1812
+
1813
+ #: inc/admin/admin-notifications-center.php:267
1814
  msgid "Your site title is empty!"
1815
  msgstr ""
1816
 
1817
+ #: inc/admin/admin-notifications-center.php:268
1818
  msgid ""
1819
  "Your Site Title is used by WordPress, your theme and your plugins including "
1820
  "SEOPress. It is an essential component in the generation of title tags, but "
1821
  "not only. Enter one!"
1822
  msgstr ""
1823
 
1824
+ #: inc/admin/admin-notifications-center.php:284 inc/admin/admin.php:2593
1825
  msgid ""
1826
  "Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
1827
  msgstr ""
1828
 
1829
+ #: inc/admin/admin-notifications-center.php:285
1830
+ #: inc/admin/admin-notifications-center.php:314
1831
  msgid ""
1832
  "Why is this important? Showing only the summary of each article "
1833
  "significantly reduces the theft of your content by third party sites. Not to "
1835
  "conversions..."
1836
  msgstr ""
1837
 
1838
+ #: inc/admin/admin-notifications-center.php:313
1839
  msgid "Your RSS feed shows full text!"
1840
  msgstr ""
1841
 
1842
+ #: inc/admin/admin-notifications-center.php:316
1843
+ #: inc/admin/admin-notifications-center.php:405
1844
+ #: inc/admin/admin-notifications-center.php:423
1845
  msgid "Medium impact"
1846
  msgstr ""
1847
 
1848
+ #: inc/admin/admin-notifications-center.php:343
1849
  msgid "You like SEOPress? Please help us by rating us 5 stars!"
1850
  msgstr ""
1851
 
1852
+ #: inc/admin/admin-notifications-center.php:344
1853
  msgid ""
1854
  "Support the development and improvement of the plugin by taking 15 seconds "
1855
  "of your time to leave us a user review on the official WordPress plugins "
1856
  "repository. Thank you!"
1857
  msgstr ""
1858
 
1859
+ #: inc/admin/admin-notifications-center.php:346
1860
+ msgid "Information"
1861
  msgstr ""
1862
 
1863
+ #: inc/admin/admin-notifications-center.php:350
1864
+ msgid "Rate us!"
1865
  msgstr ""
1866
 
1867
+ #: inc/admin/admin-notifications-center.php:372
1868
+ msgid "Break comments into pages is ON!"
 
 
 
1869
  msgstr ""
1870
 
1871
+ #: inc/admin/admin-notifications-center.php:373
1872
  msgid ""
1873
  "Enabling this option will create duplicate content for each article beyond x "
1874
  "comments. This can have a disastrous effect by creating a large number of "
1876
  "ranking in search results."
1877
  msgstr ""
1878
 
1879
+ #: inc/admin/admin-notifications-center.php:379
1880
  msgid "Disable this!"
1881
  msgstr ""
1882
 
1883
+ #: inc/admin/admin-notifications-center.php:402
1884
  msgid "Display more posts per page on homepage and archives"
1885
  msgstr ""
1886
 
1887
+ #: inc/admin/admin-notifications-center.php:403
1888
  msgid ""
1889
  "To reduce the number pages search engines have to crawl to find all your "
1890
  "articles, it is recommended displaying more posts per page. This should not "
1893
  "scroll to your post listings."
1894
  msgstr ""
1895
 
1896
+ #: inc/admin/admin-notifications-center.php:420
1897
  msgid "You don't have an XML Sitemap!"
1898
  msgstr ""
1899
 
1900
+ #: inc/admin/admin-notifications-center.php:421
1901
  msgid ""
1902
  "XML Sitemaps are useful to facilitate the crawling of your content by search "
1903
  "engine robots. Indirectly, this can benefit your ranking by reducing the "
1904
  "crawl bugdet."
1905
  msgstr ""
1906
 
1907
+ #: inc/admin/admin-notifications-center.php:448
1908
  msgid "Do you have a Google My Business page? It's free!"
1909
  msgstr ""
1910
 
1911
+ #: inc/admin/admin-notifications-center.php:449
1912
  msgid ""
1913
  "Local Business websites should have a My Business page to improve visibility "
1914
  "in search results. Click on the cross on the right to delete this "
1915
  "notification if you are not concerned."
1916
  msgstr ""
1917
 
1918
+ #: inc/admin/admin-notifications-center.php:455
1919
  msgid "Create your page now!"
1920
  msgstr ""
1921
 
1922
+ #: inc/admin/admin-notifications-center.php:485
1923
  msgid "Add your site to Google. It's free!"
1924
  msgstr ""
1925
 
1926
+ #: inc/admin/admin-notifications-center.php:486
1927
  msgid ""
1928
  "Is your brand new site online? So reference it as quickly as possible on "
1929
  "Google to get your first visitors via Google Search Console. Already the "
1930
  "case? Click on the cross on the right to remove this alert."
1931
  msgstr ""
1932
 
1933
+ #: inc/admin/admin-notifications-center.php:492
1934
  msgid "Add your site to Search Console!"
1935
  msgstr ""
1936
 
1937
+ #: inc/admin/admin-notifications-center.php:503
1938
  msgid "Structured data types is not correctly enabled"
1939
  msgstr ""
1940
 
1941
+ #: inc/admin/admin-notifications-center.php:504
1942
  msgid ""
1943
  "Please enable <strong>Structured Data Types metabox for your posts, pages "
1944
  "and custom post types</strong> option in order to use automatic and manual "
1945
  "schemas. (SEO > PRO > Structured Data Types (schema.org)"
1946
  msgstr ""
1947
 
1948
+ #: inc/admin/admin-notifications-center.php:522
1949
  msgid "You have to enter your licence key to get updates and support"
1950
  msgstr ""
1951
 
1952
+ #: inc/admin/admin-notifications-center.php:523
1953
  msgid ""
1954
  "Please activate the SEOPress PRO license key to automatically receive "
1955
  "updates to guarantee you the best user experience possible."
1956
  msgstr ""
1957
 
1958
+ #: inc/admin/admin-notifications-center.php:551
1959
  msgid "Take your SEO to the next level with SEOPress PRO!"
1960
  msgstr ""
1961
 
1962
+ #: inc/admin/admin-notifications-center.php:552
1963
  msgid ""
1964
  "The PRO version of SEOPress allows you to easily manage your structured data "
1965
  "(schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO "
1967
  "of your metadata and so much more."
1968
  msgstr ""
1969
 
1970
+ #: inc/admin/admin-notifications-center.php:559
1971
  msgid "Upgrade now!"
1972
  msgstr ""
1973
 
1974
+ #: inc/admin/admin-notifications-center.php:576
1975
  msgid "Check websites setup on your server"
1976
  msgstr ""
1977
 
1978
+ #: inc/admin/admin-notifications-center.php:585
1979
  msgid "Not found"
1980
  msgstr ""
1981
 
1982
+ #: inc/admin/admin-notifications-center.php:590
1983
  msgid "No scrape."
1984
  msgstr ""
1985
 
1986
+ #: inc/admin/admin-notifications-center.php:595
1987
  msgid "No domain found."
1988
  msgstr ""
1989
 
1990
+ #: inc/admin/admin-notifications-center.php:605
1991
  msgid "Server IP Address: "
1992
  msgstr ""
1993
 
1994
+ #: inc/admin/admin-notifications-center.php:608
1995
  msgid "Last scrape: "
1996
  msgstr ""
1997
 
1998
+ #: inc/admin/admin-notifications-center.php:609
1999
  msgid "Number of websites on your server: "
2000
  msgstr ""
2001
 
2002
+ #: inc/admin/admin-notifications-center.php:622
2003
  msgid "Get list"
2004
  msgstr ""
2005
 
2006
+ #: inc/admin/admin-notifications-center.php:631
2007
  msgid "Our blog: SEO news, how-to, tips and tricks..."
2008
  msgstr ""
2009
 
2010
+ #: inc/admin/admin-notifications-center.php:632
2011
  msgid "Upload a list of links to disavow to Google"
2012
  msgstr ""
2013
 
2014
+ #: inc/admin/admin-notifications-center.php:633
2015
  msgid "Google Trends"
2016
  msgstr ""
2017
 
2018
+ #: inc/admin/admin-notifications-center.php:635
2019
  msgid ""
2020
  "Image SEO plugin to optimize your image ALT texts and names for Search "
2021
  "Engines."
2022
  msgstr ""
2023
 
2024
+ #: inc/admin/admin-notifications-center.php:637
2025
  msgid "Dareboost: Test, analyze and optimize your website"
2026
  msgstr ""
2027
 
2028
+ #: inc/admin/admin-notifications-center.php:638
2029
  msgid "Google Campaign URL Builder tool"
2030
  msgstr ""
2031
 
2032
+ #: inc/admin/admin-wizard.php:96 seopress.php:210
2033
+ msgid "Migration completed!"
2034
+ msgstr ""
2035
+
2036
+ #: inc/admin/admin-wizard.php:97 seopress.php:211
2037
+ msgid "Export completed!"
2038
+ msgstr ""
2039
+
2040
+ #: inc/admin/admin-wizard.php:112
2041
  msgid "Import SEO settings"
2042
  msgstr ""
2043
 
2044
+ #: inc/admin/admin-wizard.php:117 inc/admin/admin-wizard.php:454
2045
  msgid "Your site"
2046
  msgstr ""
2047
 
2048
+ #: inc/admin/admin-wizard.php:122 inc/admin/admin-wizard.php:564
2049
  msgid "Indexing"
2050
  msgstr ""
2051
 
2052
+ #: inc/admin/admin-wizard.php:127 inc/admin/admin-wizard.php:720
2053
  msgid "Advanced options"
2054
  msgstr ""
2055
 
2056
+ #: inc/admin/admin-wizard.php:132
2057
  msgid "Ready!"
2058
  msgstr ""
2059
 
2060
+ #: inc/admin/admin-wizard.php:191
2061
  msgid "SEOPress &rsaquo; Setup Wizard"
2062
  msgstr ""
2063
 
2064
+ #: inc/admin/admin-wizard.php:208
2065
  msgid "Not right now"
2066
  msgstr ""
2067
 
2068
+ #: inc/admin/admin-wizard.php:210
2069
  msgid "Skip this step"
2070
  msgstr ""
2071
 
2072
+ #: inc/admin/admin-wizard.php:268
2073
  msgid "Welcome!"
2074
  msgstr ""
2075
 
2076
+ #: inc/admin/admin-wizard.php:269
2077
  msgid ""
2078
  "The following wizard will help you configure SEOPress and get you started "
2079
  "quickly."
2080
  msgstr ""
2081
 
2082
+ #: inc/admin/admin-wizard.php:270
2083
  msgid ""
2084
  "The first step is to import your previous settings from other plugins to "
2085
  "keep your SEO."
2086
  msgstr ""
2087
 
2088
+ #: inc/admin/admin-wizard.php:271
2089
  msgid "Not data to migrate? Click \"Next step\" button!"
2090
  msgstr ""
2091
 
2092
+ #: inc/admin/admin-wizard.php:273 inc/admin/admin.php:750
2093
+ msgid "Import posts and terms metadata from"
2094
+ msgstr ""
2095
+
2096
+ #: inc/admin/admin-wizard.php:275 inc/admin/admin.php:752
2097
+ #: inc/admin/admin.php:908
2098
+ msgid "Select an option"
2099
+ msgstr ""
2100
+
2101
+ #: inc/admin/admin-wizard.php:276 inc/admin/admin.php:753
2102
+ msgid "Yoast SEO"
2103
+ msgstr ""
2104
+
2105
+ #: inc/admin/admin-wizard.php:277 inc/admin/admin.php:754
2106
+ msgid "All In One SEO"
2107
+ msgstr ""
2108
+
2109
+ #: inc/admin/admin-wizard.php:278 inc/admin/admin.php:755
2110
+ msgid "The SEO Framework"
2111
+ msgstr ""
2112
+
2113
+ #: inc/admin/admin-wizard.php:279 inc/admin/admin.php:756
2114
+ msgid "Rank Math"
2115
+ msgstr ""
2116
+
2117
+ #: inc/admin/admin-wizard.php:280 inc/admin/admin.php:757
2118
+ msgid "Squirrly SEO"
2119
+ msgstr ""
2120
+
2121
+ #: inc/admin/admin-wizard.php:281 inc/admin/admin.php:758
2122
+ msgid "SEO Ultimate"
2123
+ msgstr ""
2124
+
2125
+ #: inc/admin/admin-wizard.php:282 inc/admin/admin.php:759
2126
+ msgid "WP Meta SEO"
2127
+ msgstr ""
2128
+
2129
+ #: inc/admin/admin-wizard.php:290 inc/admin/admin.php:766
2130
  msgid "Import posts and terms metadata from Yoast"
2131
  msgstr ""
2132
 
2133
+ #: inc/admin/admin-wizard.php:291 inc/admin/admin-wizard.php:310
2134
+ #: inc/admin/admin-wizard.php:327 inc/admin/admin-wizard.php:346
2135
+ #: inc/admin/admin-wizard.php:365 inc/admin/admin-wizard.php:383
2136
+ #: inc/admin/admin-wizard.php:400 inc/admin/admin.php:767
2137
+ #: inc/admin/admin.php:788 inc/admin/admin.php:807 inc/admin/admin.php:828
2138
+ #: inc/admin/admin.php:849 inc/admin/admin.php:869 inc/admin/admin.php:888
2139
  msgid "By clicking Migrate, we'll import:"
2140
  msgstr ""
2141
 
2142
+ #: inc/admin/admin-wizard.php:293 inc/admin/admin-wizard.php:312
2143
+ #: inc/admin/admin-wizard.php:329 inc/admin/admin-wizard.php:348
2144
+ #: inc/admin/admin-wizard.php:367 inc/admin/admin-wizard.php:385
2145
+ #: inc/admin/admin-wizard.php:402 inc/admin/admin.php:769
2146
+ #: inc/admin/admin.php:790 inc/admin/admin.php:809 inc/admin/admin.php:830
2147
+ #: inc/admin/admin.php:851 inc/admin/admin.php:871 inc/admin/admin.php:890
2148
  msgid "Title tags"
2149
  msgstr ""
2150
 
2151
+ #: inc/admin/admin-wizard.php:295 inc/admin/admin-wizard.php:314
2152
+ #: inc/admin/admin-wizard.php:331 inc/admin/admin-wizard.php:350
2153
+ #: inc/admin/admin-wizard.php:369 inc/admin/admin-wizard.php:387
2154
+ #: inc/admin/admin-wizard.php:404 inc/admin/admin.php:771
2155
+ #: inc/admin/admin.php:792 inc/admin/admin.php:811 inc/admin/admin.php:832
2156
+ #: inc/admin/admin.php:853 inc/admin/admin.php:873 inc/admin/admin.php:892
2157
  msgid "Facebook Open Graph tags (title, description and image thumbnail)"
2158
  msgstr ""
2159
 
2160
+ #: inc/admin/admin-wizard.php:296 inc/admin/admin-wizard.php:332
2161
+ #: inc/admin/admin-wizard.php:351 inc/admin/admin-wizard.php:370
2162
+ #: inc/admin/admin-wizard.php:388 inc/admin/admin-wizard.php:405
2163
+ #: inc/admin/admin.php:772 inc/admin/admin.php:812 inc/admin/admin.php:833
2164
+ #: inc/admin/admin.php:854 inc/admin/admin.php:874 inc/admin/admin.php:893
2165
  msgid "Twitter tags (title, description and image thumbnail)"
2166
  msgstr ""
2167
 
2168
+ #: inc/admin/admin-wizard.php:297 inc/admin/admin.php:773
2169
  msgid "Meta Robots (noindex, nofollow...)"
2170
  msgstr ""
2171
 
2172
+ #: inc/admin/admin-wizard.php:299 inc/admin/admin-wizard.php:354
2173
+ #: inc/admin/admin.php:775 inc/admin/admin.php:836
2174
  msgid "Focus keywords"
2175
  msgstr ""
2176
 
2177
+ #: inc/admin/admin-wizard.php:301 inc/admin/admin.php:777
2178
  msgid ""
2179
  "<strong>WARNING:</strong> Migration will delete / update all SEOPress posts "
2180
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2181
  "NOT delete any Yoast data."
2182
  msgstr ""
2183
 
2184
+ #: inc/admin/admin-wizard.php:302 inc/admin/admin-wizard.php:319
2185
+ #: inc/admin/admin-wizard.php:338 inc/admin/admin-wizard.php:357
2186
+ #: inc/admin/admin-wizard.php:375 inc/admin/admin-wizard.php:392
2187
+ #: inc/admin/admin-wizard.php:408 inc/admin/admin.php:778
2188
+ #: inc/admin/admin.php:797 inc/admin/admin.php:818 inc/admin/admin.php:839
2189
+ #: inc/admin/admin.php:859 inc/admin/admin.php:878 inc/admin/admin.php:896
2190
  msgid "Migrate now"
2191
  msgstr ""
2192
 
2193
+ #: inc/admin/admin-wizard.php:309 inc/admin/admin.php:787
2194
  msgid "Import posts and terms metadata from All In One SEO"
2195
  msgstr ""
2196
 
2197
+ #: inc/admin/admin-wizard.php:315 inc/admin/admin.php:793
2198
  msgid "Twitter image thumbnail"
2199
  msgstr ""
2200
 
2201
+ #: inc/admin/admin-wizard.php:316 inc/admin/admin.php:794
2202
  msgid "Meta Robots (noindex, nofollow)"
2203
  msgstr ""
2204
 
2205
+ #: inc/admin/admin-wizard.php:318 inc/admin/admin.php:796
2206
  msgid ""
2207
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2208
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2209
  "NOT delete any AIO data."
2210
  msgstr ""
2211
 
2212
+ #: inc/admin/admin-wizard.php:326 inc/admin/admin.php:806
2213
  msgid "Import posts and terms metadata from The SEO Framework"
2214
  msgstr ""
2215
 
2216
+ #: inc/admin/admin-wizard.php:333 inc/admin/admin.php:813
2217
  msgid "Meta Robots (noindex, nofollow, noarchive)"
2218
  msgstr ""
2219
 
2220
+ #: inc/admin/admin-wizard.php:335 inc/admin/admin.php:815
2221
  #: inc/functions/options-advanced-admin.php:312
2222
  msgid "Redirect URL"
2223
  msgstr ""
2224
 
2225
+ #: inc/admin/admin-wizard.php:337 inc/admin/admin.php:817
2226
  msgid ""
2227
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2228
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2229
  "NOT delete any SEO Framework data."
2230
  msgstr ""
2231
 
2232
+ #: inc/admin/admin-wizard.php:345 inc/admin/admin.php:827
2233
  msgid "Import posts and terms metadata from Rank Math"
2234
  msgstr ""
2235
 
2236
+ #: inc/admin/admin-wizard.php:352 inc/admin/admin.php:834
2237
  msgid "Meta Robots (noindex, nofollow, noarchive, noimageindex)"
2238
  msgstr ""
2239
 
2240
+ #: inc/admin/admin-wizard.php:356 inc/admin/admin.php:838
2241
  msgid ""
2242
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2243
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
2244
  "NOT delete any Rank Math data."
2245
  msgstr ""
2246
 
2247
+ #: inc/admin/admin-wizard.php:364 inc/admin/admin.php:848
2248
+ msgid "Import posts metadata from Squirrly SEO"
2249
+ msgstr ""
2250
+
2251
+ #: inc/admin/admin-wizard.php:371 inc/admin/admin-wizard.php:389
2252
+ #: inc/admin/admin.php:855 inc/admin/admin.php:875
2253
+ msgid "Meta Robots (noindex or nofollow)"
2254
+ msgstr ""
2255
+
2256
+ #: inc/admin/admin-wizard.php:374 inc/admin/admin.php:858
2257
+ msgid ""
2258
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2259
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2260
+ "any Squirrly SEO data."
2261
+ msgstr ""
2262
+
2263
+ #: inc/admin/admin-wizard.php:382 inc/admin/admin.php:868
2264
+ msgid "Import posts metadata from SEO Ultimate"
2265
+ msgstr ""
2266
+
2267
+ #: inc/admin/admin-wizard.php:391 inc/admin/admin.php:877
2268
+ msgid ""
2269
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2270
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2271
+ "any SEO Ultimate data."
2272
+ msgstr ""
2273
+
2274
+ #: inc/admin/admin-wizard.php:399 inc/admin/admin.php:887
2275
+ msgid "Import posts and terms metadata from WP Meta SEO"
2276
+ msgstr ""
2277
+
2278
+ #: inc/admin/admin-wizard.php:407 inc/admin/admin.php:895
2279
+ msgid ""
2280
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2281
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2282
+ "any WP Meta SEO data."
2283
+ msgstr ""
2284
+
2285
+ #: inc/admin/admin-wizard.php:415 inc/admin/admin-wizard.php:844
2286
  msgid "Next step"
2287
  msgstr ""
2288
 
2289
+ #: inc/admin/admin-wizard.php:456
2290
  msgid ""
2291
  "To build title tags and knowledge graph for Google, you need to fill out the "
2292
  "fields below to configure the general settings. "
2293
  msgstr ""
2294
 
2295
+ #: inc/admin/admin-wizard.php:459
2296
  msgid "eg: |"
2297
  msgstr ""
2298
 
2299
+ #: inc/admin/admin-wizard.php:461 inc/admin/admin.php:1161
2300
+ #: inc/admin/admin.php:2760
2301
  msgid "Site title"
2302
  msgstr ""
2303
 
2304
+ #: inc/admin/admin-wizard.php:462
2305
  msgid "eg: My super website"
2306
  msgstr ""
2307
 
2308
+ #: inc/admin/admin-wizard.php:464 inc/admin/admin.php:1558
2309
  msgid "Person or organization"
2310
  msgstr ""
2311
 
2312
+ #: inc/admin/admin-wizard.php:466
2313
  msgid "Choose a knowledge type"
2314
  msgstr ""
2315
 
2316
+ #: inc/admin/admin-wizard.php:472 inc/admin/admin.php:3946
2317
  msgid "Person"
2318
  msgstr ""
2319
 
2320
+ #: inc/admin/admin-wizard.php:475 inc/admin/admin.php:3949
2321
  msgid "Organization"
2322
  msgstr ""
2323
 
2324
+ #: inc/admin/admin-wizard.php:479 inc/admin/admin.php:1566
2325
+ #: inc/admin/admin.php:3962
2326
  msgid "Your name/organization"
2327
  msgstr ""
2328
 
2329
+ #: inc/admin/admin-wizard.php:480 inc/admin/admin.php:3962
2330
  msgid "eg: SEOPress"
2331
  msgstr ""
2332
 
2333
+ #: inc/admin/admin-wizard.php:482 inc/admin/admin.php:1574
2334
+ #: inc/admin/admin.php:3975
2335
  msgid "Your photo/organization logo"
2336
  msgstr ""
2337
 
2338
+ #: inc/admin/admin-wizard.php:483
2339
  msgid "eg: https://www.example.com/logo.png"
2340
  msgstr ""
2341
 
2342
+ #: inc/admin/admin-wizard.php:485
2343
  msgid "Facebook page URL"
2344
  msgstr ""
2345
 
2346
+ #: inc/admin/admin-wizard.php:486 inc/admin/admin.php:4083
2347
  msgid "eg: https://facebook.com/seopresspro"
2348
  msgstr ""
2349
 
2350
+ #: inc/admin/admin-wizard.php:488 inc/admin/admin.php:1623
2351
  msgid "Twitter Username"
2352
  msgstr ""
2353
 
2354
+ #: inc/admin/admin-wizard.php:489 inc/admin/admin.php:4096
2355
  msgid "eg: @wp_seopress"
2356
  msgstr ""
2357
 
2358
+ #: inc/admin/admin-wizard.php:491 inc/admin/admin.php:1631
2359
+ #: inc/admin/admin.php:4108
2360
  msgid "Pinterest URL"
2361
  msgstr ""
2362
 
2363
+ #: inc/admin/admin-wizard.php:492 inc/admin/admin.php:4108
2364
  msgid "eg: https://pinterest.com/wpbuy/"
2365
  msgstr ""
2366
 
2367
+ #: inc/admin/admin-wizard.php:494 inc/admin/admin.php:1639
2368
+ #: inc/admin/admin.php:4120
2369
  msgid "Instagram URL"
2370
  msgstr ""
2371
 
2372
+ #: inc/admin/admin-wizard.php:495 inc/admin/admin.php:4120
2373
  msgid "eg: https://www.instagram.com/wp_seopress/"
2374
  msgstr ""
2375
 
2376
+ #: inc/admin/admin-wizard.php:497 inc/admin/admin.php:1647
2377
+ #: inc/admin/admin.php:4132
2378
  msgid "YouTube URL"
2379
  msgstr ""
2380
 
2381
+ #: inc/admin/admin-wizard.php:498 inc/admin/admin.php:4132
2382
  msgid "eg: https://www.youtube.com/SEOPress"
2383
  msgstr ""
2384
 
2385
+ #: inc/admin/admin-wizard.php:500 inc/admin/admin.php:1655
2386
+ #: inc/admin/admin.php:4144
2387
  msgid "LinkedIn URL"
2388
  msgstr ""
2389
 
2390
+ #: inc/admin/admin-wizard.php:501 inc/admin/admin.php:4144
2391
  msgid "eg: http://linkedin.com/company/seopress/"
2392
  msgstr ""
2393
 
2394
+ #: inc/admin/admin-wizard.php:503 inc/admin/admin.php:1663
2395
+ #: inc/admin/admin.php:4156
2396
  msgid "MySpace URL"
2397
  msgstr ""
2398
 
2399
+ #: inc/admin/admin-wizard.php:504 inc/admin/admin.php:4156
2400
  msgid "eg: https://myspace.com/your-page"
2401
  msgstr ""
2402
 
2403
+ #: inc/admin/admin-wizard.php:506 inc/admin/admin.php:1671
2404
+ #: inc/admin/admin.php:4168
2405
  msgid "Soundcloud URL"
2406
  msgstr ""
2407
 
2408
+ #: inc/admin/admin-wizard.php:507 inc/admin/admin.php:4168
2409
  msgid "eg: https://soundcloud.com/michaelmccannmusic"
2410
  msgstr ""
2411
 
2412
+ #: inc/admin/admin-wizard.php:509 inc/admin/admin.php:1679
2413
+ #: inc/admin/admin.php:4180
2414
  msgid "Tumblr URL"
2415
  msgstr ""
2416
 
2417
+ #: inc/admin/admin-wizard.php:510 inc/admin/admin.php:4180
2418
  msgid "eg: https://your-site.tumblr.com"
2419
  msgstr ""
2420
 
2421
+ #: inc/admin/admin-wizard.php:513 inc/admin/admin-wizard.php:656
2422
+ #: inc/admin/admin-wizard.php:763
2423
  msgid "Continue"
2424
  msgstr ""
2425
 
2426
+ #: inc/admin/admin-wizard.php:565
2427
  msgid "Specify to the search engines what you want to be indexed or not."
2428
  msgstr ""
2429
 
2430
+ #: inc/admin/admin-wizard.php:566
2431
  msgid "Avoid indexing duplicate or poor quality content."
2432
  msgstr ""
2433
 
2434
+ #: inc/admin/admin-wizard.php:567
2435
  msgid "Default: index"
2436
  msgstr ""
2437
 
2438
+ #: inc/admin/admin-wizard.php:572
2439
  msgid "For which single post types, should indexing be disabled?"
2440
  msgstr ""
2441
 
2442
+ #: inc/admin/admin-wizard.php:589
2443
  msgid ""
2444
  "Do not display this single post type in search engine "
2445
  "results <strong>(noindex)</strong>"
2446
  msgstr ""
2447
 
2448
+ #: inc/admin/admin-wizard.php:600
2449
  msgid "For which post type archives, should indexing be disabled?"
2450
  msgstr ""
2451
 
2452
+ #: inc/admin/admin-wizard.php:618
2453
  msgid ""
2454
  "Do not display this post type archive in search engine "
2455
  "results <strong>(noindex)</strong>"
2456
  msgstr ""
2457
 
2458
+ #: inc/admin/admin-wizard.php:630
2459
  msgid "For which taxonomy archives, should indexing be disabled?"
2460
  msgstr ""
2461
 
2462
+ #: inc/admin/admin-wizard.php:647
2463
  msgid ""
2464
  "Do not display this taxonomy archive in search engine "
2465
  "results <strong>(noindex)</strong>"
2466
  msgstr ""
2467
 
2468
+ #: inc/admin/admin-wizard.php:730 inc/admin/admin.php:3291
2469
  msgid ""
2470
  "Do not display author archives in search engine results <strong>(noindex)</"
2471
  "strong>"
2472
  msgstr ""
2473
 
2474
+ #: inc/admin/admin-wizard.php:733
2475
  msgid ""
2476
  "You only have one author on your site? Check this option to avoid duplicate "
2477
  "content."
2478
  msgstr ""
2479
 
2480
+ #: inc/admin/admin-wizard.php:742 inc/admin/admin.php:5288
2481
  msgid ""
2482
  "Redirect attachment pages to their file URL (https://www.example.com/my-"
2483
  "image-file.jpg)"
2484
  msgstr ""
2485
 
2486
+ #: inc/admin/admin-wizard.php:745
2487
  msgid ""
2488
  "By default, SEOPress redirects your Attachment pages to the parent post. "
2489
  "Optimize this by redirecting the user directly to the URL of the media file."
2490
  msgstr ""
2491
 
2492
+ #: inc/admin/admin-wizard.php:754 inc/admin/admin.php:5413
2493
  msgid "Remove /category/ in your permalinks"
2494
  msgstr ""
2495
 
2496
+ #: inc/admin/admin-wizard.php:757
2497
  msgid "Shorten your URLs by removing /category/ and improve your SEO."
2498
  msgstr ""
2499
 
2500
+ #: inc/admin/admin-wizard.php:807
2501
  msgid "Your site is now ready for search engines!"
2502
  msgstr ""
2503
 
2504
+ #: inc/admin/admin-wizard.php:812 inc/functions/options-advanced-admin.php:18
2505
  msgid "Welcome to SEOPress PRO!"
2506
  msgstr ""
2507
 
2508
+ #: inc/admin/admin-wizard.php:815 inc/functions/options-advanced-admin.php:19
2509
  msgid ""
2510
  "Please activate your license to receive automatic updates and get premium "
2511
  "support."
2512
  msgstr ""
2513
 
2514
+ #: inc/admin/admin-wizard.php:820 inc/functions/options-advanced-admin.php:20
2515
  msgid "Activate License"
2516
  msgstr ""
2517
 
2518
+ #: inc/admin/admin-wizard.php:827
2519
  msgid "Go PRO with SEOPress PRO!"
2520
  msgstr ""
2521
 
2522
+ #: inc/admin/admin-wizard.php:830
2523
  msgid ""
2524
  "When you upgrade to the PRO version, you get a lot of additional features, "
2525
  "like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, "
2526
  "Analytics statistics in your Dashboard, breadcrumbs, redirections, and more."
2527
  msgstr ""
2528
 
2529
+ #: inc/admin/admin-wizard.php:835
2530
  msgid "Buy SEOPress PRO - $39 / unlimited sites"
2531
  msgstr ""
2532
 
2533
+ #: inc/admin/admin-wizard.php:845
2534
  msgid "Create your XML sitemaps"
2535
  msgstr ""
2536
 
2537
+ #: inc/admin/admin-wizard.php:846
2538
  msgid "Build custom XML sitemaps to improve Google's crawling of your site."
2539
  msgstr ""
2540
 
2541
+ #: inc/admin/admin-wizard.php:851
2542
  msgid "Configure your XML sitemaps"
2543
  msgstr ""
2544
 
2545
+ #: inc/admin/admin-wizard.php:858
2546
  msgid "Follow us:"
2547
  msgstr ""
2548
 
2549
+ #: inc/admin/admin-wizard.php:865
2550
  msgid "Like our Facebook page"
2551
  msgstr ""
2552
 
2553
+ #: inc/admin/admin-wizard.php:877
2554
  msgid "Watch our guided tour videos to learn more about SEOPress"
2555
  msgstr ""
2556
 
2557
+ #: inc/admin/admin-wizard.php:883
2558
  msgid "The off side of SEOPress"
2559
  msgstr ""
2560
 
2561
+ #: inc/admin/admin-wizard.php:891
2562
  msgid "You can also:"
2563
  msgstr ""
2564
 
2565
+ #: inc/admin/admin-wizard.php:896
2566
  msgid "Visit Dashboard"
2567
  msgstr ""
2568
 
2569
+ #: inc/admin/admin-wizard.php:899
2570
  msgid "Review Settings"
2571
  msgstr ""
2572
 
2573
+ #: inc/admin/admin-wizard.php:902
2574
  msgid "Knowledge base"
2575
  msgstr ""
2576
 
2577
+ #: inc/admin/admin.php:111
2578
  msgid "404 - Page not found"
2579
  msgstr ""
2580
 
2581
+ #: inc/admin/admin.php:190
2582
  msgid "Dashboard"
2583
  msgstr ""
2584
 
2585
+ #: inc/admin/admin.php:203
2586
  #, php-format
2587
  msgid "%%sep%%"
2588
  msgstr ""
2589
 
2590
+ #: inc/admin/admin.php:203
2591
  msgid "Separator (eg: - )"
2592
  msgstr ""
2593
 
2594
+ #: inc/admin/admin.php:204
2595
  #, php-format
2596
  msgid "%%sitetitle%% (alias: %%sitename%%)"
2597
  msgstr ""
2598
 
2599
+ #: inc/admin/admin.php:205
2600
  #, php-format
2601
  msgid "%%tagline%% (alias %%sitedesc%%)"
2602
  msgstr ""
2603
 
2604
+ #: inc/admin/admin.php:205 inc/admin/admin.php:2765 inc/admin/admin.php:2776
2605
  msgid "Tagline"
2606
  msgstr ""
2607
 
2608
+ #: inc/admin/admin.php:206
2609
  #, php-format
2610
  msgid "%%post_title%% (alias %%title%%)"
2611
  msgstr ""
2612
 
2613
+ #: inc/admin/admin.php:206
2614
  msgid "Post Title (post, page, custom post type)"
2615
  msgstr ""
2616
 
2617
+ #: inc/admin/admin.php:207
2618
  #, php-format
2619
  msgid "%%post_excerpt%% (alias %%excerpt%%)"
2620
  msgstr ""
2621
 
2622
+ #: inc/admin/admin.php:207
2623
  msgid "Post excerpt"
2624
  msgstr ""
2625
 
2626
+ #: inc/admin/admin.php:208
2627
  #, php-format
2628
  msgid "%%post_content%%"
2629
  msgstr ""
2630
 
2631
+ #: inc/admin/admin.php:208
2632
  msgid "Post content / product long description"
2633
  msgstr ""
2634
 
2635
+ #: inc/admin/admin.php:209
2636
  #, php-format
2637
  msgid "%%post_thumbnail_url%%"
2638
  msgstr ""
2639
 
2640
+ #: inc/admin/admin.php:209
2641
  msgid "Post thumbnail URL"
2642
  msgstr ""
2643
 
2644
+ #: inc/admin/admin.php:210
2645
  #, php-format
2646
  msgid "%%post_date%% (alias %%date%%)"
2647
  msgstr ""
2648
 
2649
+ #: inc/admin/admin.php:210
2650
  msgid "Post date"
2651
  msgstr ""
2652
 
2653
+ #: inc/admin/admin.php:211
2654
  #, php-format
2655
  msgid "%%post_modified_date%%"
2656
  msgstr ""
2657
 
2658
+ #: inc/admin/admin.php:211
2659
  msgid "Last modified post date"
2660
  msgstr ""
2661
 
2662
+ #: inc/admin/admin.php:212
2663
  #, php-format
2664
  msgid "%%post_author%%"
2665
  msgstr ""
2666
 
2667
+ #: inc/admin/admin.php:212 inc/admin/admin.php:3258
2668
  msgid "Post author"
2669
  msgstr ""
2670
 
2671
+ #: inc/admin/admin.php:213
2672
  #, php-format
2673
  msgid "%%post_category%%"
2674
  msgstr ""
2675
 
2676
+ #: inc/admin/admin.php:213
2677
  msgid "Post category"
2678
  msgstr ""
2679
 
2680
+ #: inc/admin/admin.php:214
2681
  #, php-format
2682
  msgid "%%post_tag%%"
2683
  msgstr ""
2684
 
2685
+ #: inc/admin/admin.php:214
2686
  msgid "Post tag"
2687
  msgstr ""
2688
 
2689
+ #: inc/admin/admin.php:215
2690
  #, php-format
2691
  msgid "%%_category_title%%"
2692
  msgstr ""
2693
 
2694
+ #: inc/admin/admin.php:215
2695
  msgid "Category title"
2696
  msgstr ""
2697
 
2698
+ #: inc/admin/admin.php:216
2699
  #, php-format
2700
  msgid "%%_category_description%%"
2701
  msgstr ""
2702
 
2703
+ #: inc/admin/admin.php:216
2704
  msgid "Category description"
2705
  msgstr ""
2706
 
2707
+ #: inc/admin/admin.php:217
2708
  #, php-format
2709
  msgid "%%tag_title%%"
2710
  msgstr ""
2711
 
2712
+ #: inc/admin/admin.php:217
2713
  msgid "Tag title"
2714
  msgstr ""
2715
 
2716
+ #: inc/admin/admin.php:218
2717
  #, php-format
2718
  msgid "%%tag_description%%"
2719
  msgstr ""
2720
 
2721
+ #: inc/admin/admin.php:218
2722
  msgid "Tag description"
2723
  msgstr ""
2724
 
2725
+ #: inc/admin/admin.php:219
2726
  #, php-format
2727
  msgid "%%term_title%%"
2728
  msgstr ""
2729
 
2730
+ #: inc/admin/admin.php:219
2731
  msgid "Term title"
2732
  msgstr ""
2733
 
2734
+ #: inc/admin/admin.php:220
2735
  #, php-format
2736
  msgid "%%term_description%%"
2737
  msgstr ""
2738
 
2739
+ #: inc/admin/admin.php:220
2740
  msgid "Term description"
2741
  msgstr ""
2742
 
2743
+ #: inc/admin/admin.php:221
2744
  #, php-format
2745
  msgid "%%search_keywords%%"
2746
  msgstr ""
2747
 
2748
+ #: inc/admin/admin.php:221
2749
  msgid "Search keywords"
2750
  msgstr ""
2751
 
2752
+ #: inc/admin/admin.php:222
2753
  #, php-format
2754
  msgid "%%current_pagination%%"
2755
  msgstr ""
2756
 
2757
+ #: inc/admin/admin.php:222
2758
  msgid "Current number page"
2759
  msgstr ""
2760
 
2761
+ #: inc/admin/admin.php:223
2762
  #, php-format
2763
  msgid "%%page%%"
2764
  msgstr ""
2765
 
2766
+ #: inc/admin/admin.php:223
2767
  msgid "Current page number with context (i.e. page 1 of 3)"
2768
  msgstr ""
2769
 
2770
+ #: inc/admin/admin.php:224
2771
  #, php-format
2772
  msgid "%%cpt_plural%%"
2773
  msgstr ""
2774
 
2775
+ #: inc/admin/admin.php:224
2776
  msgid "Plural Post Type Archive name"
2777
  msgstr ""
2778
 
2779
+ #: inc/admin/admin.php:225
2780
  #, php-format
2781
  msgid "%%archive_title%%"
2782
  msgstr ""
2783
 
2784
+ #: inc/admin/admin.php:225
2785
  msgid "Archive title"
2786
  msgstr ""
2787
 
2788
+ #: inc/admin/admin.php:226
2789
  #, php-format
2790
  msgid "%%archive_date%%"
2791
  msgstr ""
2792
 
2793
+ #: inc/admin/admin.php:226
2794
  msgid "Date Archive"
2795
  msgstr ""
2796
 
2797
+ #: inc/admin/admin.php:227
2798
  #, php-format
2799
  msgid "%%archive_date_day%%"
2800
  msgstr ""
2801
 
2802
+ #: inc/admin/admin.php:227
2803
  msgid "Day Archive date"
2804
  msgstr ""
2805
 
2806
+ #: inc/admin/admin.php:228
2807
  #, php-format
2808
  msgid "%%archive_date_month%%"
2809
  msgstr ""
2810
 
2811
+ #: inc/admin/admin.php:228
2812
  msgid "Month Archive title"
2813
  msgstr ""
2814
 
2815
+ #: inc/admin/admin.php:229
2816
  #, php-format
2817
  msgid "%%archive_date_year%%"
2818
  msgstr ""
2819
 
2820
+ #: inc/admin/admin.php:229
2821
  msgid "Year Archive title"
2822
  msgstr ""
2823
 
2824
+ #: inc/admin/admin.php:230
2825
  #, php-format
2826
  msgid "%%_cf_your_custom_field_name%%"
2827
  msgstr ""
2828
 
2829
+ #: inc/admin/admin.php:230
2830
  msgid ""
2831
  "Custom fields from post, page or post type (replace <span style=\"color:red;"
2832
  "margin:0\">your_custom_field_name</span> with your custom field name)"
2833
  msgstr ""
2834
 
2835
+ #: inc/admin/admin.php:231
2836
  #, php-format
2837
  msgid "%%_ct_your_custom_taxonomy_slug%%"
2838
  msgstr ""
2839
 
2840
+ #: inc/admin/admin.php:231
2841
  msgid ""
2842
  "Custom term taxonomy from post, page or post type (replace <span style="
2843
  "\"color:red;margin:0\">your_custom_taxonomy_slug</span> with your custom "
2844
  "taxonomy slug)"
2845
  msgstr ""
2846
 
2847
+ #: inc/admin/admin.php:232
2848
  #, php-format
2849
  msgid "%%wc_single_cat%%"
2850
  msgstr ""
2851
 
2852
+ #: inc/admin/admin.php:232
2853
  msgid "Single product category"
2854
  msgstr ""
2855
 
2856
+ #: inc/admin/admin.php:233
2857
  #, php-format
2858
  msgid "%%wc_single_tag%%"
2859
  msgstr ""
2860
 
2861
+ #: inc/admin/admin.php:233
2862
  msgid "Single product tag"
2863
  msgstr ""
2864
 
2865
+ #: inc/admin/admin.php:234
2866
  #, php-format
2867
  msgid "%%wc_single_short_desc%%"
2868
  msgstr ""
2869
 
2870
+ #: inc/admin/admin.php:234
2871
  msgid "Single product short description"
2872
  msgstr ""
2873
 
2874
+ #: inc/admin/admin.php:235
2875
  #, php-format
2876
  msgid "%%wc_single_price%%"
2877
  msgstr ""
2878
 
2879
+ #: inc/admin/admin.php:235
2880
  msgid "Single product price"
2881
  msgstr ""
2882
 
2883
+ #: inc/admin/admin.php:236
2884
  #, php-format
2885
  msgid "%%wc_single_price_exc_tax%%"
2886
  msgstr ""
2887
 
2888
+ #: inc/admin/admin.php:236
2889
  msgid "Single product price taxes excluded"
2890
  msgstr ""
2891
 
2892
+ #: inc/admin/admin.php:237
2893
  #, php-format
2894
  msgid "%%wc_sku%%"
2895
  msgstr ""
2896
 
2897
+ #: inc/admin/admin.php:237
2898
  msgid "Single SKU product"
2899
  msgstr ""
2900
 
2901
+ #: inc/admin/admin.php:238
2902
  #, php-format
2903
  msgid "%%currentday%%"
2904
  msgstr ""
2905
 
2906
+ #: inc/admin/admin.php:238
2907
  msgid "Current day"
2908
  msgstr ""
2909
 
2910
+ #: inc/admin/admin.php:239
2911
  #, php-format
2912
  msgid "%%currentmonth%%"
2913
  msgstr ""
2914
 
2915
+ #: inc/admin/admin.php:239
2916
  msgid "Current month"
2917
  msgstr ""
2918
 
2919
+ #: inc/admin/admin.php:240
2920
  #, php-format
2921
  msgid "%%currentmonth_short%%"
2922
  msgstr ""
2923
 
2924
+ #: inc/admin/admin.php:240
2925
  msgid "Current month in 3 letters, eg: \"Jan\" for \"January\""
2926
  msgstr ""
2927
 
2928
+ #: inc/admin/admin.php:241
2929
  #, php-format
2930
  msgid "%%currentyear%%"
2931
  msgstr ""
2932
 
2933
+ #: inc/admin/admin.php:241
2934
  msgid "Current year"
2935
  msgstr ""
2936
 
2937
+ #: inc/admin/admin.php:242
2938
  #, php-format
2939
  msgid "%%currentdate%%"
2940
  msgstr ""
2941
 
2942
+ #: inc/admin/admin.php:242
2943
  msgid "Current date"
2944
  msgstr ""
2945
 
2946
+ #: inc/admin/admin.php:243
2947
  #, php-format
2948
  msgid "%%currenttime%%"
2949
  msgstr ""
2950
 
2951
+ #: inc/admin/admin.php:243
2952
  msgid "Current time"
2953
  msgstr ""
2954
 
2955
+ #: inc/admin/admin.php:244
2956
  #, php-format
2957
  msgid "%%author_bio%%"
2958
  msgstr ""
2959
 
2960
+ #: inc/admin/admin.php:244
2961
  msgid "Author bio, meta desc only"
2962
  msgstr ""
2963
 
2964
+ #: inc/admin/admin.php:250
2965
  msgid "Templates variables"
2966
  msgstr ""
2967
 
2968
+ #: inc/admin/admin.php:258 inc/admin/admin.php:266
2969
  msgid "Browse our guides"
2970
  msgstr ""
2971
 
2972
+ #: inc/admin/admin.php:259 inc/admin/admin.php:267
2973
  msgid "Read our FAQ"
2974
  msgstr ""
2975
 
2976
+ #: inc/admin/admin.php:260 inc/admin/admin.php:268
2977
  msgid "Check our website"
2978
  msgstr ""
2979
 
2980
+ #: inc/admin/admin.php:280
2981
  msgid ""
2982
  "Watch our video to learn how to connect your WordPress site with Google "
2983
  "Analytics and get statistics right in your dashboard (PRO only)."
2984
  msgstr ""
2985
 
2986
+ #: inc/admin/admin.php:285
2987
  msgid "How-to"
2988
  msgstr ""
2989
 
2990
+ #: inc/admin/admin.php:334 inc/admin/admin.php:338 inc/admin/admin.php:401
2991
+ #: inc/admin/admin.php:405 inc/admin/admin.php:466 inc/admin/admin.php:470
2992
+ #: inc/admin/admin.php:533 inc/admin/admin.php:537 inc/admin/admin.php:615
2993
+ #: inc/admin/admin.php:619
2994
+ msgid "Click to disable this feature"
2995
+ msgstr ""
2996
+
2997
+ #: inc/admin/admin.php:335 inc/admin/admin.php:337 inc/admin/admin.php:402
2998
+ #: inc/admin/admin.php:404 inc/admin/admin.php:467 inc/admin/admin.php:469
2999
+ #: inc/admin/admin.php:534 inc/admin/admin.php:536 inc/admin/admin.php:616
3000
+ #: inc/admin/admin.php:618
3001
+ msgid "Click to enable this feature"
3002
+ msgstr ""
3003
+
3004
+ #: inc/admin/admin.php:352
3005
  msgid "Home"
3006
  msgstr ""
3007
 
3008
+ #: inc/admin/admin.php:353
3009
  msgid "Single Post Types"
3010
  msgstr ""
3011
 
3012
+ #: inc/admin/admin.php:354
3013
  msgid "Archives"
3014
  msgstr ""
3015
 
3016
+ #: inc/admin/admin.php:355 inc/admin/admin.php:421
3017
  msgid "Taxonomies"
3018
  msgstr ""
3019
 
3020
+ #: inc/admin/admin.php:419 inc/admin/admin.php:552 inc/admin/admin.php:561
3021
  msgid "General"
3022
  msgstr ""
3023
 
3024
+ #: inc/admin/admin.php:420
3025
  msgid "Post Types"
3026
  msgstr ""
3027
 
3028
+ #: inc/admin/admin.php:422
3029
  msgid "HTML Sitemap"
3030
  msgstr ""
3031
 
3032
+ #: inc/admin/admin.php:484
3033
  msgid "Knowledge Graph"
3034
  msgstr ""
3035
 
3036
+ #: inc/admin/admin.php:485
3037
  msgid "Your social accounts"
3038
  msgstr ""
3039
 
3040
+ #: inc/admin/admin.php:486
3041
  msgid "Facebook (Open Graph)"
3042
  msgstr ""
3043
 
3044
+ #: inc/admin/admin.php:487
3045
  msgid "Twitter (Twitter card)"
3046
  msgstr ""
3047
 
3048
+ #: inc/admin/admin.php:553 inc/admin/admin.php:562
3049
  msgid "Tracking"
3050
  msgstr ""
3051
 
3052
+ #: inc/admin/admin.php:554 inc/admin/admin.php:563
3053
  msgid "Events"
3054
  msgstr ""
3055
 
3056
+ #: inc/admin/admin.php:555 inc/admin/admin.php:564
3057
  msgid "Custom Dimensions"
3058
  msgstr ""
3059
 
3060
+ #: inc/admin/admin.php:556
3061
  msgid "Stats in Dashboard"
3062
  msgstr ""
3063
 
3064
+ #: inc/admin/admin.php:557 inc/admin/admin.php:565
3065
  msgid "Cookie bar / GDPR"
3066
  msgstr ""
3067
 
3068
+ #: inc/admin/admin.php:634
3069
  msgid "Appearance"
3070
  msgstr ""
3071
 
3072
+ #: inc/admin/admin.php:635
3073
  msgid "Security"
3074
  msgstr ""
3075
 
3076
+ #: inc/admin/admin.php:669
3077
  msgid "Data"
3078
  msgstr ""
3079
 
3080
+ #: inc/admin/admin.php:670 seopress.php:405
3081
  msgid "Settings"
3082
  msgstr ""
3083
 
3084
+ #: inc/admin/admin.php:671
3085
  msgid "Plugins"
3086
  msgstr ""
3087
 
3088
+ #: inc/admin/admin.php:673
3089
  msgid "Reset"
3090
  msgstr ""
3091
 
3092
+ #: inc/admin/admin.php:691
3093
  msgid "Import data from a CSV"
3094
  msgstr ""
3095
 
3096
+ #: inc/admin/admin.php:692
3097
  msgid ""
3098
  "Import your title, meta description, meta robots, social metas from a CSV "
3099
  "file with our import tool."
3100
  msgstr ""
3101
 
3102
+ #: inc/admin/admin.php:693
3103
  msgid "Run the importer"
3104
  msgstr ""
3105
 
3106
+ #: inc/admin/admin.php:698
3107
  msgid "Export metadata to a CSV"
3108
  msgstr ""
3109
 
3110
+ #: inc/admin/admin.php:699
3111
  msgid "Export your SEOPress metadata for this site as a .csv file."
3112
  msgstr ""
3113
 
3114
+ #: inc/admin/admin.php:704 inc/admin/admin.php:722 inc/admin/admin.php:993
3115
  msgid "Export"
3116
  msgstr ""
3117
 
3118
+ #: inc/admin/admin.php:716
3119
  msgid "Export plugin settings"
3120
  msgstr ""
3121
 
3122
+ #: inc/admin/admin.php:717
3123
  msgid ""
3124
  "Export the plugin settings for this site as a .json file. This allows you to "
3125
  "easily import the configuration into another site."
3126
  msgstr ""
3127
 
3128
+ #: inc/admin/admin.php:730
3129
  msgid "Import plugin settings"
3130
  msgstr ""
3131
 
3132
+ #: inc/admin/admin.php:731
3133
  msgid ""
3134
  "Import the plugin settings from a .json file. This file can be obtained by "
3135
  "exporting the settings on another site using the form above."
3136
  msgstr ""
3137
 
3138
+ #: inc/admin/admin.php:739 inc/admin/admin.php:932 inc/admin/admin.php:948
3139
+ #: inc/admin/admin.php:964 inc/admin/admin.php:980
3140
  msgid "Import"
3141
  msgstr ""
3142
 
3143
+ #: inc/admin/admin.php:741
3144
  msgid "Import completed!"
3145
  msgstr ""
3146
 
3147
+ #: inc/admin/admin.php:906
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3148
  msgid "Import your redirections"
3149
  msgstr ""
3150
 
3151
+ #: inc/admin/admin.php:909
 
 
 
 
3152
  msgid "CSV file (must match the template)"
3153
  msgstr ""
3154
 
3155
+ #: inc/admin/admin.php:910
3156
  msgid "Redirections plugin (JSON - WordPress Redirects)"
3157
  msgstr ""
3158
 
3159
+ #: inc/admin/admin.php:911
3160
  msgid "Yoast Premium plugin (CSV)"
3161
  msgstr ""
3162
 
3163
+ #: inc/admin/admin.php:912
3164
+ msgid "Rank Math plugin (TXT)"
3165
+ msgstr ""
3166
+
3167
+ #: inc/admin/admin.php:918
3168
  msgid "Import Redirections"
3169
  msgstr ""
3170
 
3171
+ #: inc/admin/admin.php:919
3172
  msgid ""
3173
  "Import your own redirections from a .csv file (separator \";\"). You must "
3174
  "have 5 columns in this order: <ul><li>URL to match (without your domain "
3180
  "to the redirection).</li></ul>"
3181
  msgstr ""
3182
 
3183
+ #: inc/admin/admin.php:922
3184
  msgid "Download a CSV example"
3185
  msgstr ""
3186
 
3187
+ #: inc/admin/admin.php:939
3188
  msgid "Import Redirections from the Redirections plugin"
3189
  msgstr ""
3190
 
3191
+ #: inc/admin/admin.php:940
3192
  msgid ""
3193
  "Import your own redirections from a .json file generated by the Redirections "
3194
  "plugin (make sure to select <strong>\"WordPress redirects\"</strong> when "
3197
  "file and existing redirects."
3198
  msgstr ""
3199
 
3200
+ #: inc/admin/admin.php:955
3201
  msgid "Import Redirections from Yoast Premium"
3202
  msgstr ""
3203
 
3204
+ #: inc/admin/admin.php:956
3205
  msgid ""
3206
  "Import your own redirections from a .csv file generated by Yoast Premium. "
3207
  "Note that we don't support certain options, like regex. To avoid conflicts, "
3208
  "make sure there are no duplicates between your file and existing redirects."
3209
  msgstr ""
3210
 
3211
+ #: inc/admin/admin.php:971
3212
+ msgid "Import Redirections from Rank Math"
3213
+ msgstr ""
3214
+
3215
+ #: inc/admin/admin.php:972
3216
+ msgid ""
3217
+ "Import your own redirections from a .txt file generated by Rank Math. Note "
3218
+ "that we don't support certain options, like regex. To avoid conflicts, make "
3219
+ "sure there are no duplicates between your file and existing redirects."
3220
+ msgstr ""
3221
+
3222
+ #: inc/admin/admin.php:987
3223
  msgid "Export Redirections"
3224
  msgstr ""
3225
 
3226
+ #: inc/admin/admin.php:988
3227
  msgid ""
3228
  "Export all redirections for this site as a .csv file. This allows you to "
3229
  "easily import the redirections into another site, to Excel / Google Sheets..."
3230
  msgstr ""
3231
 
3232
+ #: inc/admin/admin.php:1000
3233
  msgid "Clean your 404"
3234
  msgstr ""
3235
 
3236
+ #: inc/admin/admin.php:1001
3237
  msgid "Delete all your 404 errors. We don‘t delete any redirects."
3238
  msgstr ""
3239
 
3240
+ #: inc/admin/admin.php:1002
3241
+ #, php-format
3242
+ msgid ""
3243
+ "Make sure you have enable 404 cleaning from SEO, PRO, <a href=\"%s"
3244
+ "\">404/301</a> tab to be able to delete all your 404 errors."
3245
+ msgstr ""
3246
+
3247
+ #: inc/admin/admin.php:1007
3248
  msgid "Delete all 404"
3249
  msgstr ""
3250
 
3251
+ #: inc/admin/admin.php:1013
3252
  msgid "Redirections feature is disabled. Please activate it from the PRO page."
3253
  msgstr ""
3254
 
3255
+ #: inc/admin/admin.php:1014
3256
  msgid "Activate Redirections"
3257
  msgstr ""
3258
 
3259
+ #: inc/admin/admin.php:1021
3260
  msgid "Reset All Notices From Notifications Center"
3261
  msgstr ""
3262
 
3263
+ #: inc/admin/admin.php:1022
3264
  msgid ""
3265
  "By clicking Reset Notices, all notices in the notifications center will be "
3266
  "set to their initial status."
3267
  msgstr ""
3268
 
3269
+ #: inc/admin/admin.php:1027
3270
  msgid "Reset notices"
3271
  msgstr ""
3272
 
3273
+ #: inc/admin/admin.php:1035
3274
  msgid "Reset All Settings"
3275
  msgstr ""
3276
 
3277
+ #: inc/admin/admin.php:1036
3278
  msgid ""
3279
  "<strong>WARNING:</strong> Delete all options related to SEOPress in your "
3280
  "database AND set settings to their default values."
3281
  msgstr ""
3282
 
3283
+ #: inc/admin/admin.php:1041
3284
  msgid "Reset settings"
3285
  msgstr ""
3286
 
3287
+ #: inc/admin/admin.php:1354 inc/admin/admin.php:3482
3288
  msgid "noindex"
3289
  msgstr ""
3290
 
3291
+ #: inc/admin/admin.php:1362 inc/admin/admin.php:3501
3292
  msgid "nofollow"
3293
  msgstr ""
3294
 
3295
+ #: inc/admin/admin.php:1370 inc/admin/admin.php:3520
3296
  msgid "noodp"
3297
  msgstr ""
3298
 
3299
+ #: inc/admin/admin.php:1378 inc/admin/admin.php:3539
3300
  msgid "noimageindex"
3301
  msgstr ""
3302
 
3303
+ #: inc/admin/admin.php:1386 inc/admin/admin.php:3558
3304
  msgid "noarchive"
3305
  msgstr ""
3306
 
3307
+ #: inc/admin/admin.php:1394 inc/admin/admin.php:3577
3308
  msgid "nosnippet"
3309
  msgstr ""
3310
 
3311
+ #: inc/admin/admin.php:1402 inc/admin/admin.php:3596
3312
  msgid "nositelinkssearchbox"
3313
  msgstr ""
3314
 
3315
+ #: inc/admin/admin.php:1410
3316
  msgid "Indicate paginated content to Google"
3317
  msgstr ""
3318
 
3319
+ #: inc/admin/admin.php:1427 inc/admin/admin.php:3634
3320
  msgid "Enable XML Sitemap"
3321
  msgstr ""
3322
 
3323
+ #: inc/admin/admin.php:1435
3324
  msgid "Enable XML Image Sitemaps"
3325
  msgstr ""
3326
 
3327
+ #: inc/admin/admin.php:1444
3328
  msgid "Enable XML Video Sitemaps"
3329
  msgstr ""
3330
 
3331
+ #: inc/admin/admin.php:1453 inc/admin/admin.php:3721
3332
  msgid "Enable Author Sitemap"
3333
  msgstr ""
3334
 
3335
+ #: inc/admin/admin.php:1461 inc/admin/admin.php:3740
3336
  msgid "Enable HTML Sitemap"
3337
  msgstr ""
3338
 
3339
+ #: inc/admin/admin.php:1477
3340
  msgid "Check to INCLUDE Post Types"
3341
  msgstr ""
3342
 
3343
+ #: inc/admin/admin.php:1493
3344
  msgid "Check to INCLUDE Taxonomies"
3345
  msgstr ""
3346
 
3347
+ #: inc/admin/admin.php:1509 inc/admin/admin.php:3849
3348
  msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
3349
  msgstr ""
3350
 
3351
+ #: inc/admin/admin.php:1517 inc/admin/admin.php:3863
3352
  msgid "Exclude some Posts, Pages, Custom Post Types or Terms IDs"
3353
  msgstr ""
3354
 
3355
+ #: inc/admin/admin.php:1525
3356
  msgid "Sort order"
3357
  msgstr ""
3358
 
3359
+ #: inc/admin/admin.php:1533
3360
  msgid "Order posts by"
3361
  msgstr ""
3362
 
3363
+ #: inc/admin/admin.php:1541
3364
  msgid "Disable the display of the publication date"
3365
  msgstr ""
3366
 
3367
+ #: inc/admin/admin.php:1582 inc/admin/admin.php:4005
3368
  msgid "Organization's phone number (only for Organizations)"
3369
  msgstr ""
3370
 
3371
+ #: inc/admin/admin.php:1590
3372
  msgid "Contact type (only for Organizations)"
3373
  msgstr ""
3374
 
3375
+ #: inc/admin/admin.php:1598
3376
  msgid "Contact option (only for Organizations)"
3377
  msgstr ""
3378
 
3379
+ #: inc/admin/admin.php:1615 inc/admin/admin.php:4083
3380
  msgid "Facebook Page URL"
3381
  msgstr ""
3382
 
3383
+ #: inc/admin/admin.php:1696
3384
  msgid "Enable Open Graph Data"
3385
  msgstr ""
3386
 
3387
+ #: inc/admin/admin.php:1704 inc/admin/admin.php:4212
3388
  msgid "Select a default image"
3389
  msgstr ""
3390
 
3391
+ #: inc/admin/admin.php:1712
3392
  msgid "Apply this image to all your og:image tag"
3393
  msgstr ""
3394
 
3395
+ #: inc/admin/admin.php:1720
3396
  msgid "Facebook Link Ownership ID"
3397
  msgstr ""
3398
 
3399
+ #: inc/admin/admin.php:1728
3400
  msgid "Facebook Admin ID"
3401
  msgstr ""
3402
 
3403
+ #: inc/admin/admin.php:1736
3404
  msgid "Facebook App ID"
3405
  msgstr ""
3406
 
3407
+ #: inc/admin/admin.php:1753
3408
  msgid "Enable Twitter Card"
3409
  msgstr ""
3410
 
3411
+ #: inc/admin/admin.php:1761
3412
  msgid "Use Open Graph if no Twitter Card is filled"
3413
  msgstr ""
3414
 
3415
+ #: inc/admin/admin.php:1769 inc/admin/admin.php:4324
3416
  msgid "Default Twitter Image"
3417
  msgstr ""
3418
 
3419
+ #: inc/admin/admin.php:1777
3420
  msgid "Image size for Twitter Summary card"
3421
  msgstr ""
3422
 
3423
+ #: inc/admin/admin.php:1794
3424
  msgid "Enable Google Analytics tracking"
3425
  msgstr ""
3426
 
3427
+ #: inc/admin/admin.php:1802 inc/admin/admin.php:4377
3428
  msgid "Enter your tracking ID"
3429
  msgstr ""
3430
 
3431
+ #: inc/admin/admin.php:1810
3432
  msgid "Exclude user roles from tracking"
3433
  msgstr ""
3434
 
3435
+ #: inc/admin/admin.php:1827
3436
  msgid "Google Analytics tracking opt-in"
3437
  msgstr ""
3438
 
3439
+ #: inc/admin/admin.php:1843
3440
  msgid "Consent message for user tracking"
3441
  msgstr ""
3442
 
3443
+ #: inc/admin/admin.php:1851
3444
  msgid "Accept button for user tracking"
3445
  msgstr ""
3446
 
3447
+ #: inc/admin/admin.php:1859
3448
  msgid "Close button"
3449
  msgstr ""
3450
 
3451
+ #: inc/admin/admin.php:1867
3452
  msgid "Cookie bar position"
3453
  msgstr ""
3454
 
3455
+ #: inc/admin/admin.php:1875
3456
  msgid "Cookie bar background color"
3457
  msgstr ""
3458
 
3459
+ #: inc/admin/admin.php:1883
3460
  msgid "Cookie bar text color"
3461
  msgstr ""
3462
 
3463
+ #: inc/admin/admin.php:1891
3464
  msgid "Cookie bar link color"
3465
  msgstr ""
3466
 
3467
+ #: inc/admin/admin.php:1899
3468
  msgid "Cookie bar button background color"
3469
  msgstr ""
3470
 
3471
+ #: inc/admin/admin.php:1907
3472
  msgid "Cookie bar button color"
3473
  msgstr ""
3474
 
3475
+ #: inc/admin/admin.php:1915
3476
  msgid "Cookie bar button hover background color"
3477
  msgstr ""
3478
 
3479
+ #: inc/admin/admin.php:1923
3480
  msgid "Cookie bar button hover color"
3481
  msgstr ""
3482
 
3483
+ #: inc/admin/admin.php:1931
3484
  msgid "Cookie bar secondary button background color"
3485
  msgstr ""
3486
 
3487
+ #: inc/admin/admin.php:1939
3488
  msgid "Cookie bar secondary button color"
3489
  msgstr ""
3490
 
3491
+ #: inc/admin/admin.php:1947
3492
  msgid "Cookie bar secondary button hover background color"
3493
  msgstr ""
3494
 
3495
+ #: inc/admin/admin.php:1955
3496
  msgid "Cookie bar secondary button hover color"
3497
  msgstr ""
3498
 
3499
+ #: inc/admin/admin.php:1973
3500
  msgid "Enable Google Optimize"
3501
  msgstr ""
3502
 
3503
+ #: inc/admin/admin.php:1981
3504
  msgid "Enable Google Ads"
3505
  msgstr ""
3506
 
3507
+ #: inc/admin/admin.php:1989
3508
  msgid ""
3509
  "[HEAD] Add an additional tracking code (like GTM, Facebook Pixel, Hotjar...)"
3510
  msgstr ""
3511
 
3512
+ #: inc/admin/admin.php:1997
3513
  msgid "[BODY] Add an additional tracking code (like Google Tag Manager...)"
3514
  msgstr ""
3515
 
3516
+ #: inc/admin/admin.php:2005
3517
  msgid ""
3518
  "[BODY (FOOTER)] Add an additional tracking code (like Google Tag Manager...)"
3519
  msgstr ""
3520
 
3521
+ #: inc/admin/admin.php:2013 inc/admin/admin.php:4707
3522
  msgid "Enable remarketing, demographics, and interests reporting"
3523
  msgstr ""
3524
 
3525
+ #: inc/admin/admin.php:2021 inc/admin/admin.php:4729
3526
  msgid "Enable IP Anonymization"
3527
  msgstr ""
3528
 
3529
+ #: inc/admin/admin.php:2029 inc/admin/admin.php:4751
3530
  msgid "Enhanced Link Attribution"
3531
  msgstr ""
3532
 
3533
+ #: inc/admin/admin.php:2037 inc/admin/admin.php:4773
3534
  msgid "Enable cross-domain tracking"
3535
  msgstr ""
3536
 
3537
+ #: inc/admin/admin.php:2045 inc/admin/admin.php:4790
3538
  msgid "Cross domains"
3539
  msgstr ""
3540
 
3541
+ #: inc/admin/admin.php:2063 inc/admin/admin.php:4807
3542
  msgid "Enable external links tracking"
3543
  msgstr ""
3544
 
3545
+ #: inc/admin/admin.php:2071
3546
  msgid "Enable downloads tracking (eg: PDF, XLSX, DOCX...)"
3547
  msgstr ""
3548
 
3549
+ #: inc/admin/admin.php:2079 inc/admin/admin.php:4836
3550
  msgid "Track downloads' clicks"
3551
  msgstr ""
3552
 
3553
+ #: inc/admin/admin.php:2087
3554
  msgid "Enable affiliate/outbound links tracking (eg: aff, go, out, recommends)"
3555
  msgstr ""
3556
 
3557
+ #: inc/admin/admin.php:2095 inc/admin/admin.php:4867
3558
  msgid "Track affiliate/outbound links"
3559
  msgstr ""
3560
 
3561
+ #: inc/admin/admin.php:2113
3562
  msgid "Track Authors"
3563
  msgstr ""
3564
 
3565
+ #: inc/admin/admin.php:2121
3566
  msgid "Track Categories"
3567
  msgstr ""
3568
 
3569
+ #: inc/admin/admin.php:2129
3570
  msgid "Track Tags"
3571
  msgstr ""
3572
 
3573
+ #: inc/admin/admin.php:2137
3574
  msgid "Track Post Types"
3575
  msgstr ""
3576
 
3577
+ #: inc/admin/admin.php:2145
3578
  msgid "Track Logged In Users"
3579
  msgstr ""
3580
 
3581
+ #: inc/admin/admin.php:2162
3582
  msgid "Redirect attachment pages to post parent"
3583
  msgstr ""
3584
 
3585
+ #: inc/admin/admin.php:2170
3586
  msgid "Redirect attachment pages to their file URL"
3587
  msgstr ""
3588
 
3589
+ #: inc/admin/admin.php:2178
3590
  msgid "Remove ?replytocom link to avoid duplicate content"
3591
  msgstr ""
3592
 
3593
+ #: inc/admin/admin.php:2186
3594
  msgid "Automatically set the image Title"
3595
  msgstr ""
3596
 
3597
+ #: inc/admin/admin.php:2194
3598
  msgid "Automatically set the image Alt text"
3599
  msgstr ""
3600
 
3601
+ #: inc/admin/admin.php:2202
3602
  msgid "Automatically set the image Caption"
3603
  msgstr ""
3604
 
3605
+ #: inc/admin/admin.php:2210
3606
  msgid "Automatically set the image Description"
3607
  msgstr ""
3608
 
3609
+ #: inc/admin/admin.php:2218
3610
  msgid "Add WP Editor to taxonomy description textarea"
3611
  msgstr ""
3612
 
3613
+ #: inc/admin/admin.php:2226
3614
  msgid "Remove /category/ in URL"
3615
  msgstr ""
3616
 
3617
+ #: inc/admin/admin.php:2234 inc/admin/admin.php:5430
3618
  msgid "Disable trailing slash for metas"
3619
  msgstr ""
3620
 
3621
+ #: inc/admin/admin.php:2242
3622
  msgid "Remove WordPress generator meta tag"
3623
  msgstr ""
3624
 
3625
+ #: inc/admin/admin.php:2250
3626
  msgid "Remove hentry post class"
3627
  msgstr ""
3628
 
3629
+ #: inc/admin/admin.php:2258
3630
  msgid "Remove author URL"
3631
  msgstr ""
3632
 
3633
+ #: inc/admin/admin.php:2266
3634
  msgid "Remove website field in comment form"
3635
  msgstr ""
3636
 
3637
+ #: inc/admin/admin.php:2274
3638
  msgid "Remove WordPress shortlink meta tag"
3639
  msgstr ""
3640
 
3641
+ #: inc/admin/admin.php:2282
3642
  msgid "Remove Windows Live Writer meta tag"
3643
  msgstr ""
3644
 
3645
+ #: inc/admin/admin.php:2290
3646
  msgid "Remove RSD meta tag"
3647
  msgstr ""
3648
 
3649
+ #: inc/admin/admin.php:2298 inc/admin/admin.php:5561
3650
  msgid "Google site verification"
3651
  msgstr ""
3652
 
3653
+ #: inc/admin/admin.php:2306 inc/admin/admin.php:5575
3654
  msgid "Bing site verification"
3655
  msgstr ""
3656
 
3657
+ #: inc/admin/admin.php:2314 inc/admin/admin.php:5588
3658
  msgid "Pinterest site verification"
3659
  msgstr ""
3660
 
3661
+ #: inc/admin/admin.php:2322 inc/admin/admin.php:5600
3662
  msgid "Yandex site verification"
3663
  msgstr ""
3664
 
3665
+ #: inc/admin/admin.php:2339
3666
  msgid "SEOPress in admin bar"
3667
  msgstr ""
3668
 
3669
+ #: inc/admin/admin.php:2347
3670
  msgid "Move SEOPress metabox's position"
3671
  msgstr ""
3672
 
3673
+ #: inc/admin/admin.php:2355
3674
  msgid "Hide Notifications Center"
3675
  msgstr ""
3676
 
3677
+ #: inc/admin/admin.php:2363
3678
  msgid "Hide SEO tools"
3679
  msgstr ""
3680
 
3681
+ #: inc/admin/admin.php:2371
3682
  msgid "Hide Useful Links"
3683
  msgstr ""
3684
 
3685
+ #: inc/admin/admin.php:2379
3686
  msgid "Show Title tag column in post types"
3687
  msgstr ""
3688
 
3689
+ #: inc/admin/admin.php:2387
3690
  msgid "Show Meta description column in post types"
3691
  msgstr ""
3692
 
3693
+ #: inc/admin/admin.php:2395
3694
  msgid "Show Redirection Enable column in post types"
3695
  msgstr ""
3696
 
3697
+ #: inc/admin/admin.php:2403
3698
  msgid "Show Redirect URL column in post types"
3699
  msgstr ""
3700
 
3701
+ #: inc/admin/admin.php:2411
3702
  msgid "Show canonical URL column in post types"
3703
  msgstr ""
3704
 
3705
+ #: inc/admin/admin.php:2419
3706
  msgid "Show Target Keyword column in post types"
3707
  msgstr ""
3708
 
3709
+ #: inc/admin/admin.php:2427
3710
  msgid "Show noindex column in post types"
3711
  msgstr ""
3712
 
3713
+ #: inc/admin/admin.php:2435
3714
  msgid "Show nofollow column in post types"
3715
  msgstr ""
3716
 
3717
+ #: inc/admin/admin.php:2443
3718
  msgid "Show total number of words column in post types"
3719
  msgstr ""
3720
 
3721
+ #: inc/admin/admin.php:2451
3722
  msgid "Show W3C validator column in post types"
3723
  msgstr ""
3724
 
3725
+ #: inc/admin/admin.php:2459
3726
  msgid "Show Google Page Speed column in post types"
3727
  msgstr ""
3728
 
3729
+ #: inc/admin/admin.php:2468
3730
  msgid "Show content analysis score column in post types"
3731
  msgstr ""
3732
 
3733
+ #: inc/admin/admin.php:2476
3734
  msgid "Hide Genesis SEO Metabox"
3735
  msgstr ""
3736
 
3737
+ #: inc/admin/admin.php:2484
3738
  msgid "Hide Genesis SEO Settings link"
3739
  msgstr ""
3740
 
3741
+ #: inc/admin/admin.php:2492
3742
  msgid "Hide advice in Structured Data Types metabox"
3743
  msgstr ""
3744
 
3745
+ #: inc/admin/admin.php:2509
3746
  msgid "Block SEO metabox to user roles"
3747
  msgstr ""
3748
 
3749
+ #: inc/admin/admin.php:2517
3750
  msgid "Block Content analysis metabox to user roles"
3751
  msgstr ""
3752
 
3753
+ #: inc/admin/admin.php:2571
3754
  msgid "<p>Customize your title & meta description for homepage</p>"
3755
  msgstr ""
3756
 
3757
+ #: inc/admin/admin.php:2575
3758
  msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
3759
  msgstr ""
3760
 
3761
+ #: inc/admin/admin.php:2579
3762
  msgid "<p>Customize your metas for all pages</p>"
3763
  msgstr ""
3764
 
3765
+ #: inc/admin/admin.php:2583
3766
  msgid "<p>Customize your metas for all taxonomies archives</p>"
3767
  msgstr ""
3768
 
3769
+ #: inc/admin/admin.php:2587
3770
  msgid "<p>Customize your metas for all archives</p>"
3771
  msgstr ""
3772
 
3773
+ #: inc/admin/admin.php:2594
3774
  msgid "Change this settings"
3775
  msgstr ""
3776
 
3777
+ #: inc/admin/admin.php:2597
3778
  msgid ""
3779
  "To view your sitemap, enable permalinks (not default one), and save settings "
3780
  "to flush them."
3781
  msgstr ""
3782
 
3783
+ #: inc/admin/admin.php:2603
3784
  msgid ""
3785
  "Your server uses NGINX. If XML Sitemaps doesn't work properly, you need to "
3786
  "add this rule to your configuration:"
3787
  msgstr ""
3788
 
3789
+ #: inc/admin/admin.php:2616
3790
  msgid "Noindex content will not be displayed in Sitemaps."
3791
  msgstr ""
3792
 
3793
+ #: inc/admin/admin.php:2628
3794
  msgid "Blank sitemap?"
3795
  msgstr ""
3796
 
3797
+ #: inc/admin/admin.php:2629
3798
  msgid "404 error?"
3799
  msgstr ""
3800
 
3801
+ #: inc/admin/admin.php:2631
3802
  msgid "View your sitemap"
3803
  msgstr ""
3804
 
3805
+ #: inc/admin/admin.php:2633
3806
  msgid "Ping Google manually"
3807
  msgstr ""
3808
 
3809
+ #: inc/admin/admin.php:2635
3810
  msgid "Flush permalinks"
3811
  msgstr ""
3812
 
3813
+ #: inc/admin/admin.php:2640
3814
  msgid "<p>Create an HTML Sitemap for your visitors and boost your SEO.</p>"
3815
  msgstr ""
3816
 
3817
+ #: inc/admin/admin.php:2650 inc/admin/admin.php:3750
3818
  msgid "Guide to enable a HTML Sitemap - new window"
3819
  msgstr ""
3820
 
3821
+ #: inc/admin/admin.php:2654
3822
  msgid "<p>Include/Exclude Post Types.</p>"
3823
  msgstr ""
3824
 
3825
+ #: inc/admin/admin.php:2658
3826
  msgid "<p>Include/Exclude Taxonomies.</p>"
3827
  msgstr ""
3828
 
3829
+ #: inc/admin/admin.php:2662
3830
  msgid "<p>Configure Google Knowledge Graph.</p>"
3831
  msgstr ""
3832
 
3833
+ #: inc/admin/admin.php:2663
3834
  msgid "Learn more on Google official website."
3835
  msgstr ""
3836
 
3837
+ #: inc/admin/admin.php:2667
3838
  msgid ""
3839
  "<p>Link your site with your social accounts. Use markup on your website to "
3840
  "add your social profile information to a Google Knowledge panel. Knowledge "
3844
  "network links.</p>"
3845
  msgstr ""
3846
 
3847
+ #: inc/admin/admin.php:2671
3848
  msgid "<p>Manage Open Graph data.</p>"
3849
  msgstr ""
3850
 
3851
+ #: inc/admin/admin.php:2673
3852
  msgid "<p>We generate the <strong>og:image</strong> meta in this order:</p>"
3853
  msgstr ""
3854
 
3855
+ #: inc/admin/admin.php:2677
3856
  msgid "Custom OG Image from SEO metabox"
3857
  msgstr ""
3858
 
3859
+ #: inc/admin/admin.php:2678 inc/admin/admin.php:2692
3860
  msgid "Post thumbnail"
3861
  msgstr ""
3862
 
3863
+ #: inc/admin/admin.php:2679 inc/admin/admin.php:2693
3864
  msgid "First image of your post content"
3865
  msgstr ""
3866
 
3867
+ #: inc/admin/admin.php:2680
3868
  msgid "Global OG Image set in SEO > Social > Open Graph"
3869
  msgstr ""
3870
 
3871
+ #: inc/admin/admin.php:2685
3872
  msgid "<p>Manage your Twitter card.</p>"
3873
  msgstr ""
3874
 
3875
+ #: inc/admin/admin.php:2687
3876
  msgid ""
3877
  "<p>We generate the <strong>twitter:image</strong> meta in this order:</p>"
3878
  msgstr ""
3879
 
3880
+ #: inc/admin/admin.php:2691
3881
  msgid "Custom Twitter image from SEO metabox"
3882
  msgstr ""
3883
 
3884
+ #: inc/admin/admin.php:2694
3885
  msgid "Global Twitter:image set in SEO > Social > Twitter Card"
3886
  msgstr ""
3887
 
3888
+ #: inc/admin/admin.php:2699
3889
  msgid ""
3890
  "<p>Link your Google Analytics to your website. The tracking code will be "
3891
  "automatically added to your site.</p>"
3892
  msgstr ""
3893
 
3894
+ #: inc/admin/admin.php:2703
3895
  msgid ""
3896
  "<p>Manage user consent for GDPR and customize your cookie bar easily.</p>"
3897
  msgstr ""
3898
 
3899
+ #: inc/admin/admin.php:2707
3900
  msgid "<p>Configure your Google Analytics tracking code.</p>"
3901
  msgstr ""
3902
 
3903
+ #: inc/admin/admin.php:2711
3904
  msgid "<p>Track events in Google Analytics.</p>"
3905
  msgstr ""
3906
 
3907
+ #: inc/admin/admin.php:2715
3908
  msgid ""
3909
  "<p>Configure your Google Analytics custom dimensions. <br>Custom dimensions "
3910
  "and custom metrics in SEOPress are like the default dimensions and metrics "
3914
  "Google Analytics account. More info by clicking on the help icon."
3915
  msgstr ""
3916
 
3917
+ #: inc/admin/admin.php:2725
3918
  msgid "Guide to create custom dimensions in Google Analytics - new window"
3919
  msgstr ""
3920
 
3921
+ #: inc/admin/admin.php:2729
3922
  msgid "<p>Advanced SEO options.</p>"
3923
  msgstr ""
3924
 
3925
+ #: inc/admin/admin.php:2733
3926
  msgid "<p>Customize SEOPress to fit your needs.</p>"
3927
  msgstr ""
3928
 
3929
+ #: inc/admin/admin.php:2737
3930
  msgid "<p>Manage security.</p>"
3931
  msgstr ""
3932
 
3933
+ #: inc/admin/admin.php:2750
3934
  msgid "Enter your separator, eg: \"-\""
3935
  msgstr ""
3936
 
3937
+ #: inc/admin/admin.php:2754
3938
  #, php-format
3939
  msgid "Use this separator with %%sep%% in your title and meta description."
3940
  msgstr ""
3941
 
3942
+ #: inc/admin/admin.php:2760
3943
  msgid "My awesome website"
3944
  msgstr ""
3945
 
3946
+ #: inc/admin/admin.php:2766 inc/admin/admin.php:2777 inc/admin/admin.php:2871
3947
+ #: inc/admin/admin.php:3061 inc/admin/admin.php:3094 inc/admin/admin.php:3184
3948
+ #: inc/admin/admin.php:3261 inc/admin/admin.php:3332 inc/admin/admin.php:3402
3949
+ #: inc/admin/admin.php:3453
3950
  msgid "More tags"
3951
  msgstr ""
3952
 
3953
+ #: inc/admin/admin.php:2772
3954
  msgid "This is a cool website about Wookiees"
3955
  msgstr ""
3956
 
3957
+ #: inc/admin/admin.php:2780
3958
  msgid "Looking to edit your blog page?"
3959
  msgstr ""
3960
 
3961
+ #: inc/admin/admin.php:2805 inc/admin/admin.php:2809 inc/admin/admin.php:2811
3962
+ #: inc/admin/admin.php:2816
3963
  msgid "Click to hide any SEO metaboxes for this post type"
3964
  msgstr ""
3965
 
3966
+ #: inc/admin/admin.php:2808 inc/admin/admin.php:2812 inc/admin/admin.php:2815
3967
  msgid "Click to display any SEO metaboxes for this post type"
3968
  msgstr ""
3969
 
3970
+ #: inc/admin/admin.php:2840 inc/admin/admin.php:3027 inc/admin/admin.php:3156
3971
+ #: inc/admin/admin.php:3249 inc/admin/admin.php:3320 inc/admin/admin.php:3390
3972
+ #: inc/admin/admin.php:3443
3973
  msgid "Title template"
3974
  msgstr ""
3975
 
3976
+ #: inc/admin/admin.php:2878 inc/admin/admin.php:3070 inc/admin/admin.php:3191
3977
+ #: inc/admin/admin.php:3267 inc/admin/admin.php:3338 inc/admin/admin.php:3408
3978
+ #: inc/admin/admin.php:3458
3979
  msgid "Meta description template"
3980
  msgstr ""
3981
 
3982
+ #: inc/admin/admin.php:2901
3983
  msgid ""
3984
  "Do not display this single post type in search engine results "
3985
  "<strong>(noindex)</strong>"
3986
  msgstr ""
3987
 
3988
+ #: inc/admin/admin.php:2920
3989
  msgid ""
3990
  "Do not follow links for this single post type <strong>(nofollow)</strong>"
3991
  msgstr ""
3992
 
3993
+ #: inc/admin/admin.php:2939
3994
  msgid "Display date in Google search results?"
3995
  msgstr ""
3996
 
3997
+ #: inc/admin/admin.php:2958
3998
  msgid "Display post thumbnail in Google Custom Search results?"
3999
  msgstr ""
4000
 
4001
+ #: inc/admin/admin.php:2990 inc/admin/admin.php:2994 inc/admin/admin.php:2996
4002
+ #: inc/admin/admin.php:3001
4003
  msgid "Click to hide any SEO metaboxes for this taxonomy"
4004
  msgstr ""
4005
 
4006
+ #: inc/admin/admin.php:2993 inc/admin/admin.php:2997 inc/admin/admin.php:3000
4007
  msgid "Click to display any SEO metaboxes for this taxonomy"
4008
  msgstr ""
4009
 
4010
+ #: inc/admin/admin.php:3050
4011
  msgid "Category Title"
4012
  msgstr ""
4013
 
4014
+ #: inc/admin/admin.php:3052
4015
  msgid "Tag Title"
4016
  msgstr ""
4017
 
4018
+ #: inc/admin/admin.php:3054
4019
  msgid "Term Title"
4020
  msgstr ""
4021
 
4022
+ #: inc/admin/admin.php:3087
4023
  msgid "Category Description"
4024
  msgstr ""
4025
 
4026
+ #: inc/admin/admin.php:3089
4027
  msgid "Tag Description"
4028
  msgstr ""
4029
 
4030
+ #: inc/admin/admin.php:3091
4031
  msgid "Term Description"
4032
  msgstr ""
4033
 
4034
+ #: inc/admin/admin.php:3109
4035
  msgid ""
4036
  "Do not display this taxonomy archive in search engine results "
4037
  "<strong>(noindex)</strong>"
4038
  msgstr ""
4039
 
4040
+ #: inc/admin/admin.php:3128
4041
  msgid ""
4042
  "Do not follow links for this taxonomy archive <strong>(nofollow)</strong>"
4043
  msgstr ""
4044
 
4045
+ #: inc/admin/admin.php:3148
4046
  msgid "See archive"
4047
  msgstr ""
4048
 
4049
+ #: inc/admin/admin.php:3178
4050
  msgid "Post Type Archive Name"
4051
  msgstr ""
4052
 
4053
+ #: inc/admin/admin.php:3214
4054
  msgid ""
4055
  "Do not display this post type archive in search engine results "
4056
  "<strong>(noindex)</strong>"
4057
  msgstr ""
4058
 
4059
+ #: inc/admin/admin.php:3233
4060
  msgid ""
4061
  "Do not follow links for this post type archive <strong>(nofollow)</strong>"
4062
  msgstr ""
4063
 
4064
+ #: inc/admin/admin.php:3247
4065
  msgid "Author archives"
4066
  msgstr ""
4067
 
4068
+ #: inc/admin/admin.php:3309
4069
  msgid "Disable author archives"
4070
  msgstr ""
4071
 
4072
+ #: inc/admin/admin.php:3318 inc/admin/admin.php:3329
4073
  msgid "Date archives"
4074
  msgstr ""
4075
 
4076
+ #: inc/admin/admin.php:3361
4077
  msgid ""
4078
  "Do not display date archives in search engine results <strong>(noindex)</"
4079
  "strong>"
4080
  msgstr ""
4081
 
4082
+ #: inc/admin/admin.php:3379
4083
  msgid "Disable date archives"
4084
  msgstr ""
4085
 
4086
+ #: inc/admin/admin.php:3388
4087
  msgid "Search archives"
4088
  msgstr ""
4089
 
4090
+ #: inc/admin/admin.php:3399
4091
  msgid "Search Keywords"
4092
  msgstr ""
4093
 
4094
+ #: inc/admin/admin.php:3432
4095
  msgid ""
4096
  "Do not display search archives in search engine results <strong>(noindex)</"
4097
  "strong>"
4098
  msgstr ""
4099
 
4100
+ #: inc/admin/admin.php:3441
4101
  msgid "404 archives"
4102
  msgstr ""
4103
 
4104
+ #: inc/admin/admin.php:3484
4105
  msgid ""
4106
  "Do not display all pages of the site in Google search results and do not "
4107
  "display \"Cached\" links in search results."
4108
  msgstr ""
4109
 
4110
+ #: inc/admin/admin.php:3503
4111
  msgid "Do not follow links for all pages."
4112
  msgstr ""
4113
 
4114
+ #: inc/admin/admin.php:3522
4115
  msgid ""
4116
  "Do not use Open Directory project metadata for titles or excerpts for all "
4117
  "pages."
4118
  msgstr ""
4119
 
4120
+ #: inc/admin/admin.php:3541
4121
  msgid "Do not index images from the entire site."
4122
  msgstr ""
4123
 
4124
+ #: inc/admin/admin.php:3560
4125
  msgid "Do not display a \"Cached\" link in the Google search results."
4126
  msgstr ""
4127
 
4128
+ #: inc/admin/admin.php:3579
4129
  msgid ""
4130
  "Do not display a description in the Google search results for all pages."
4131
  msgstr ""
4132
 
4133
+ #: inc/admin/admin.php:3598
4134
  msgid ""
4135
  "Prevent Google to display a sitelinks searchbox in search results. Enable "
4136
  "this option will remove the \"Website\" schema from your source code."
4137
  msgstr ""
4138
 
4139
+ #: inc/admin/admin.php:3615
4140
  msgid "Add rel next/prev link in head of paginated archive pages"
4141
  msgstr ""
4142
 
4143
+ #: inc/admin/admin.php:3617
4144
  msgid "Learn more on Google website"
4145
  msgstr ""
4146
 
4147
+ #: inc/admin/admin.php:3644
4148
  msgid "Guide to enable XML Sitemaps - new window"
4149
  msgstr ""
4150
 
4151
+ #: inc/admin/admin.php:3661
4152
  msgid ""
4153
  "Enable Image Sitemaps (standard images, image galleries, featured image, "
4154
  "WooCommerce product images)"
4155
  msgstr ""
4156
 
4157
+ #: inc/admin/admin.php:3663
4158
  msgid "Images in XML sitemaps are visible only from the source code."
4159
  msgstr ""
4160
 
4161
+ #: inc/admin/admin.php:3673
4162
  msgid "Guide to enable XML image sitemaps - new window"
4163
  msgstr ""
4164
 
4165
+ #: inc/admin/admin.php:3691
4166
  msgid "Enable Video Sitemaps"
4167
  msgstr ""
4168
 
4169
+ #: inc/admin/admin.php:3701
4170
  #, php-format
4171
  msgid ""
4172
  "Your video sitemap is empty? Read our guide to learn more about <a href=\"%s"
4173
  "\" target=\"_blank\">adding videos to your sitemap.</a>"
4174
  msgstr ""
4175
 
4176
+ #: inc/admin/admin.php:3703
4177
  msgid "Guide to enable XML video sitemaps - new window"
4178
  msgstr ""
4179
 
4180
+ #: inc/admin/admin.php:3723
4181
  msgid ""
4182
  "Make sure to enable Author archive from SEO, Titles and metas, Archives tab."
4183
  "</a>"
4184
  msgstr ""
4185
 
4186
+ #: inc/admin/admin.php:3790 inc/admin/admin.php:3834
4187
  msgid "Include"
4188
  msgstr ""
4189
 
4190
+ #: inc/admin/admin.php:3793
4191
  msgid ""
4192
  "You should never include attachment post type in your sitemap. Be careful if "
4193
  "you checked this."
4194
  msgstr ""
4195
 
4196
+ #: inc/admin/admin.php:3849
4197
  msgid "eg: 2, 28, 68"
4198
  msgstr ""
4199
 
4200
+ #: inc/admin/admin.php:3853
4201
  msgid "You can also use this shortcode:"
4202
  msgstr ""
4203
 
4204
+ #: inc/admin/admin.php:3863
4205
  msgid "eg: 13, 8, 38"
4206
  msgstr ""
4207
 
4208
+ #: inc/admin/admin.php:3877
4209
  msgid ""
4210
  "DESC (descending order from highest to lowest values (3, 2, 1; c, b, a))"
4211
  msgstr ""
4212
 
4213
+ #: inc/admin/admin.php:3880
4214
  msgid "ASC (ascending order from lowest to highest values (1, 2, 3; a, b, c))"
4215
  msgstr ""
4216
 
4217
+ #: inc/admin/admin.php:3897
4218
  msgid "Default (date)"
4219
  msgstr ""
4220
 
4221
+ #: inc/admin/admin.php:3903
4222
  msgid "Modified date"
4223
  msgstr ""
4224
 
4225
+ #: inc/admin/admin.php:3906
4226
  msgid "Post ID"
4227
  msgstr ""
4228
 
4229
+ #: inc/admin/admin.php:3909
4230
  msgid "Menu order"
4231
  msgstr ""
4232
 
4233
+ #: inc/admin/admin.php:3927
4234
  msgid "Disable date after each post, page, post type?"
4235
  msgstr ""
4236
 
4237
+ #: inc/admin/admin.php:3975
4238
  msgid "Select your logo"
4239
  msgstr ""
4240
 
4241
+ #: inc/admin/admin.php:3979
4242
  msgid "JPG, PNG, and GIF allowed."
4243
  msgstr ""
4244
 
4245
+ #: inc/admin/admin.php:4005
4246
  msgid "eg: +33123456789 (internationalized version required)"
4247
  msgstr ""
4248
 
4249
+ #: inc/admin/admin.php:4020
4250
  msgid "Customer support"
4251
  msgstr ""
4252
 
4253
+ #: inc/admin/admin.php:4023
4254
  msgid "Technical support"
4255
  msgstr ""
4256
 
4257
+ #: inc/admin/admin.php:4026
4258
  msgid "Billing support"
4259
  msgstr ""
4260
 
4261
+ #: inc/admin/admin.php:4029
4262
  msgid "Bill payment"
4263
  msgstr ""
4264
 
4265
+ #: inc/admin/admin.php:4032
4266
  msgid "Sales"
4267
  msgstr ""
4268
 
4269
+ #: inc/admin/admin.php:4035
4270
  msgid "Credit card support"
4271
  msgstr ""
4272
 
4273
+ #: inc/admin/admin.php:4038
4274
  msgid "Emergency"
4275
  msgstr ""
4276
 
4277
+ #: inc/admin/admin.php:4041
4278
  msgid "Baggage tracking"
4279
  msgstr ""
4280
 
4281
+ #: inc/admin/admin.php:4044
4282
  msgid "Roadside assistance"
4283
  msgstr ""
4284
 
4285
+ #: inc/admin/admin.php:4047
4286
  msgid "Package tracking"
4287
  msgstr ""
4288
 
4289
+ #: inc/admin/admin.php:4064 inc/admin/admin.php:4885 inc/admin/admin.php:4962
4290
+ #: inc/admin/admin.php:5039 inc/admin/admin.php:5116 inc/admin/admin.php:5193
4291
  msgid "None"
4292
  msgstr ""
4293
 
4294
+ #: inc/admin/admin.php:4067
4295
  msgid "Toll Free"
4296
  msgstr ""
4297
 
4298
+ #: inc/admin/admin.php:4070
4299
  msgid "Hearing impaired supported"
4300
  msgstr ""
4301
 
4302
+ #: inc/admin/admin.php:4096
4303
  msgid "Twitter Page URL"
4304
  msgstr ""
4305
 
4306
+ #: inc/admin/admin.php:4197
4307
  msgid "Enable OG data"
4308
  msgstr ""
4309
 
4310
+ #: inc/admin/admin.php:4233
4311
  msgid ""
4312
  "Override every <strong>og:image</strong> tag with this default image (except "
4313
  "if a custom og:image has already been set from the SEO metabox)."
4314
  msgstr ""
4315
 
4316
+ #: inc/admin/admin.php:4235
4317
  msgid "This setting doesn‘t apply for homepage."
4318
  msgstr ""
4319
 
4320
+ #: inc/admin/admin.php:4249
4321
  msgid ""
4322
  "One or more Facebook Page IDs that are associated with a URL in order to "
4323
  "enable link editing and instant article publishing."
4324
  msgstr ""
4325
 
4326
+ #: inc/admin/admin.php:4253
4327
  msgid "How to find my Facebook Page ID?"
4328
  msgstr ""
4329
 
4330
+ #: inc/admin/admin.php:4263
4331
  msgid ""
4332
  "The ID (or comma-separated list for properties that can accept multiple IDs) "
4333
  "of an app, person using the app, or Page Graph API object."
4334
  msgstr ""
4335
 
4336
+ #: inc/admin/admin.php:4275
4337
  msgid ""
4338
  "The Facebook app ID of the site's app. In order to use Facebook Insights you "
4339
  "must add the app ID to your page. Insights lets you view analytics for "
4343
  "span>"
4344
  msgstr ""
4345
 
4346
+ #: inc/admin/admin.php:4279
4347
  msgid "How to create a Facebook App ID"
4348
  msgstr ""
4349
 
4350
+ #: inc/admin/admin.php:4292
4351
  msgid "Enable Twitter card"
4352
  msgstr ""
4353
 
4354
+ #: inc/admin/admin.php:4309
4355
  msgid "Use OG if no Twitter Cards"
4356
  msgstr ""
4357
 
4358
+ #: inc/admin/admin.php:4344
4359
  msgid "Default"
4360
  msgstr ""
4361
 
4362
+ #: inc/admin/admin.php:4347
4363
  msgid "Large"
4364
  msgstr ""
4365
 
4366
+ #: inc/admin/admin.php:4365
4367
  msgid "Enable Google Analytics tracking (Global Site Tag: gtag.js)"
4368
  msgstr ""
4369
 
4370
+ #: inc/admin/admin.php:4377
4371
  msgid "Enter your Tracking ID (UA-XXXX-XX)"
4372
  msgstr ""
4373
 
4374
+ #: inc/admin/admin.php:4381
4375
  msgid "Find your tracking ID"
4376
  msgstr ""
4377
 
4378
+ #: inc/admin/admin.php:4395
4379
  msgid "Request user's consent for analytics tracking (required by GDPR)"
4380
  msgstr ""
4381
 
4382
+ #: inc/admin/admin.php:4397
4383
  msgid ""
4384
  "<strong>The user must click the Accept button to allow tracking.</strong>"
4385
  msgstr ""
4386
 
4387
+ #: inc/admin/admin.php:4399
4388
  msgid ""
4389
  "User roles excluded from tracking will not see the consent message.<br> If "
4390
  "you use a caching plugin, you have to exclude this JS file in your settings: "
4392
  "js</strong> <br>and this cookie <strong>seopress-user-consent-accept</strong>"
4393
  msgstr ""
4394
 
4395
+ #: inc/admin/admin.php:4409
4396
  msgid "Hook to add custom tracking code with user consent - new window"
4397
  msgstr ""
4398
 
4399
+ #: inc/admin/admin.php:4426
4400
  msgid ""
4401
  "Display and automatically accept the user‘s consent on page load (not fully "
4402
  "GDPR)"
4403
  msgstr ""
4404
 
4405
+ #: inc/admin/admin.php:4428
4406
  msgid "The previous option must be checked to use this."
4407
  msgstr ""
4408
 
4409
+ #: inc/admin/admin.php:4441
4410
  msgid "Enter your message (HTML allowed)"
4411
  msgstr ""
4412
 
4413
+ #: inc/admin/admin.php:4441
4414
  msgid "This message will only appear if request user's consent is enabled."
4415
  msgstr ""
4416
 
4417
+ #: inc/admin/admin.php:4452
4418
  msgid "Hook to filter user consent message - new window"
4419
  msgstr ""
4420
 
4421
+ #: inc/admin/admin.php:4454
4422
  msgid "HTML tags allowed: strong, em, br, a href / target"
4423
  msgstr ""
4424
 
4425
+ #: inc/admin/admin.php:4455
4426
  msgid ""
4427
  "Shortcode allowed to get the privacy page set in WordPress settings: "
4428
  "[seopress_privacy_page]"
4429
  msgstr ""
4430
 
4431
+ #: inc/admin/admin.php:4463 inc/functions/options-google-analytics.php:182
4432
  msgid "Accept"
4433
  msgstr ""
4434
 
4435
+ #: inc/admin/admin.php:4463
4436
  msgid "Change the button value"
4437
  msgstr ""
4438
 
4439
+ #: inc/admin/admin.php:4473
4440
  msgid "default: X"
4441
  msgstr ""
4442
 
4443
+ #: inc/admin/admin.php:4473
4444
  msgid "Change the close button value"
4445
  msgstr ""
4446
 
4447
+ #: inc/admin/admin.php:4487
4448
  msgid "Bottom (default)"
4449
  msgstr ""
4450
 
4451
+ #: inc/admin/admin.php:4490
4452
  msgid "Top"
4453
  msgstr ""
4454
 
4455
+ #: inc/admin/admin.php:4503
4456
  msgid "Change the cookie bar background color"
4457
  msgstr ""
4458
 
4459
+ #: inc/admin/admin.php:4513
4460
  msgid "Change the cookie bar text color"
4461
  msgstr ""
4462
 
4463
+ #: inc/admin/admin.php:4523
4464
  msgid "Change the cookie bar link color"
4465
  msgstr ""
4466
 
4467
+ #: inc/admin/admin.php:4533
4468
  msgid "Change the cookie bar button background color"
4469
  msgstr ""
4470
 
4471
+ #: inc/admin/admin.php:4543
4472
  msgid "Change the cookie bar button hover background color"
4473
  msgstr ""
4474
 
4475
+ #: inc/admin/admin.php:4553
4476
  msgid "Change the cookie bar button color"
4477
  msgstr ""
4478
 
4479
+ #: inc/admin/admin.php:4563
4480
  msgid "Change the cookie bar button hover color"
4481
  msgstr ""
4482
 
4483
+ #: inc/admin/admin.php:4573
4484
  msgid "Change the cookie bar secondary button background color"
4485
  msgstr ""
4486
 
4487
+ #: inc/admin/admin.php:4583
4488
  msgid "Change the cookie bar secondary button hover background color"
4489
  msgstr ""
4490
 
4491
+ #: inc/admin/admin.php:4593
4492
  msgid "Change the cookie bar secondary button color"
4493
  msgstr ""
4494
 
4495
+ #: inc/admin/admin.php:4603
4496
  msgid "Change the cookie bar secondary button hover color"
4497
  msgstr ""
4498
 
4499
+ #: inc/admin/admin.php:4638
4500
  msgid "Enter your Google Optimize container ID"
4501
  msgstr ""
4502
 
4503
+ #: inc/admin/admin.php:4638
4504
  msgid "GTM-XXXXXXX"
4505
  msgstr ""
4506
 
4507
+ #: inc/admin/admin.php:4641
4508
  msgid ""
4509
  "Google Optimize offers A/B testing, website testing & personalization tools."
4510
  msgstr ""
4511
 
4512
+ #: inc/admin/admin.php:4649
4513
  msgid "Enter your Google Ads conversion ID (eg: AW-123456789)"
4514
  msgstr ""
4515
 
4516
+ #: inc/admin/admin.php:4649
4517
  msgid "AW-XXXXXXXXX"
4518
  msgstr ""
4519
 
4520
+ #: inc/admin/admin.php:4658
4521
  msgid "Paste your tracking code here like Google Tag Manager (head)"
4522
  msgstr ""
4523
 
4524
+ #: inc/admin/admin.php:4658
4525
  msgid "Additional tracking code field"
4526
  msgstr ""
4527
 
4528
+ #: inc/admin/admin.php:4661
4529
  msgid "This code will be added in the head section of your page."
4530
  msgstr ""
4531
 
4532
+ #: inc/admin/admin.php:4669
4533
  msgid "Paste your tracking code here like Google Tag Manager (body)"
4534
  msgstr ""
4535
 
4536
+ #: inc/admin/admin.php:4669
4537
  msgid "Additional tracking code field added to body"
4538
  msgstr ""
4539
 
4540
+ #: inc/admin/admin.php:4672
4541
  msgid "This code will be added just after the opening body tag of your page."
4542
  msgstr ""
4543
 
4544
+ #: inc/admin/admin.php:4673
4545
+ msgid ""
4546
+ "You don‘t see your code? Make sure to call <strong>wp_body_open();</strong> "
4547
+ "just after the opening body tag in your theme."
4548
+ msgstr ""
4549
+
4550
+ #: inc/admin/admin.php:4691
4551
  msgid "Paste your tracking code here (body footer)"
4552
  msgstr ""
4553
 
4554
+ #: inc/admin/admin.php:4691
4555
  msgid "Additional tracking code field added to body footer"
4556
  msgstr ""
4557
 
4558
+ #: inc/admin/admin.php:4694
4559
  msgid "This code will be added just after the closing body tag of your page."
4560
  msgstr ""
4561
 
4562
+ #: inc/admin/admin.php:4709
4563
  msgid ""
4564
  "A remarketing audience is a list of cookies or mobile-advertising IDs that "
4565
  "represents a group of users you want to re-engage because of their "
4566
  "likelihood to convert."
4567
  msgstr ""
4568
 
4569
+ #: inc/admin/admin.php:4731
4570
  msgid ""
4571
  "When a customer of Analytics requests IP address anonymization, Analytics "
4572
  "anonymizes the address as soon as technically feasible at the earliest "
4573
  "possible stage of the collection network."
4574
  msgstr ""
4575
 
4576
+ #: inc/admin/admin.php:4753
4577
  msgid ""
4578
  "Enhanced Link Attribution improves the accuracy of your In-Page Analytics "
4579
  "report by automatically differentiating between multiple links to the same "
4580
  "URL on a single page by using link element IDs."
4581
  msgstr ""
4582
 
4583
+ #: inc/admin/admin.php:4775
4584
  msgid ""
4585
  "Cross domain tracking makes it possible for Analytics to see sessions on two "
4586
  "related sites (such as an ecommerce site and a separate shopping cart site) "
4587
  "as a single session. This is sometimes called site linking."
4588
  msgstr ""
4589
 
4590
+ #: inc/admin/admin.php:4790
4591
  msgid "Enter your domains: seopress.org,sub.seopress.org,sub2.seopress.org"
4592
  msgstr ""
4593
 
4594
+ #: inc/admin/admin.php:4824
4595
  msgid "Enable download tracking"
4596
  msgstr ""
4597
 
4598
+ #: inc/admin/admin.php:4836
4599
  msgid "pdf|docx|pptx|zip"
4600
  msgstr ""
4601
 
4602
+ #: inc/admin/admin.php:4840
4603
  msgid "Separate each file type extensions with a pipe \"|\""
4604
  msgstr ""
4605
 
4606
+ #: inc/admin/admin.php:4855
4607
  msgid "Enable affiliate/outbound tracking"
4608
  msgstr ""
4609
 
4610
+ #: inc/admin/admin.php:4867
4611
  msgid "aff|go|out"
4612
  msgstr ""
4613
 
4614
+ #: inc/admin/admin.php:4871
4615
  msgid "Separate each keyword with a pipe \"|\""
4616
  msgstr ""
4617
 
4618
+ #: inc/admin/admin.php:4888 inc/admin/admin.php:4965 inc/admin/admin.php:5042
4619
+ #: inc/admin/admin.php:5119 inc/admin/admin.php:5196
4620
  msgid "Custom Dimension #1"
4621
  msgstr ""
4622
 
4623
+ #: inc/admin/admin.php:4891 inc/admin/admin.php:4968 inc/admin/admin.php:5045
4624
+ #: inc/admin/admin.php:5122 inc/admin/admin.php:5199
4625
  msgid "Custom Dimension #2"
4626
  msgstr ""
4627
 
4628
+ #: inc/admin/admin.php:4894 inc/admin/admin.php:4971 inc/admin/admin.php:5048
4629
+ #: inc/admin/admin.php:5125 inc/admin/admin.php:5202
4630
  msgid "Custom Dimension #3"
4631
  msgstr ""
4632
 
4633
+ #: inc/admin/admin.php:4897 inc/admin/admin.php:4974 inc/admin/admin.php:5051
4634
+ #: inc/admin/admin.php:5128 inc/admin/admin.php:5205
4635
  msgid "Custom Dimension #4"
4636
  msgstr ""
4637
 
4638
+ #: inc/admin/admin.php:4900 inc/admin/admin.php:4977 inc/admin/admin.php:5054
4639
+ #: inc/admin/admin.php:5131 inc/admin/admin.php:5208
4640
  msgid "Custom Dimension #5"
4641
  msgstr ""
4642
 
4643
+ #: inc/admin/admin.php:4903 inc/admin/admin.php:4980 inc/admin/admin.php:5057
4644
+ #: inc/admin/admin.php:5134 inc/admin/admin.php:5211
4645
  msgid "Custom Dimension #6"
4646
  msgstr ""
4647
 
4648
+ #: inc/admin/admin.php:4906 inc/admin/admin.php:4983 inc/admin/admin.php:5060
4649
+ #: inc/admin/admin.php:5137 inc/admin/admin.php:5214
4650
  msgid "Custom Dimension #7"
4651
  msgstr ""
4652
 
4653
+ #: inc/admin/admin.php:4909 inc/admin/admin.php:4986 inc/admin/admin.php:5063
4654
+ #: inc/admin/admin.php:5140 inc/admin/admin.php:5217
4655
  msgid "Custom Dimension #8"
4656
  msgstr ""
4657
 
4658
+ #: inc/admin/admin.php:4912 inc/admin/admin.php:4989 inc/admin/admin.php:5066
4659
+ #: inc/admin/admin.php:5143 inc/admin/admin.php:5220
4660
  msgid "Custom Dimension #9"
4661
  msgstr ""
4662
 
4663
+ #: inc/admin/admin.php:4915 inc/admin/admin.php:4992 inc/admin/admin.php:5069
4664
+ #: inc/admin/admin.php:5146 inc/admin/admin.php:5223
4665
  msgid "Custom Dimension #10"
4666
  msgstr ""
4667
 
4668
+ #: inc/admin/admin.php:4918 inc/admin/admin.php:4995 inc/admin/admin.php:5072
4669
+ #: inc/admin/admin.php:5149 inc/admin/admin.php:5226
4670
  msgid "Custom Dimension #11"
4671
  msgstr ""
4672
 
4673
+ #: inc/admin/admin.php:4921 inc/admin/admin.php:4998 inc/admin/admin.php:5075
4674
+ #: inc/admin/admin.php:5152 inc/admin/admin.php:5229
4675
  msgid "Custom Dimension #12"
4676
  msgstr ""
4677
 
4678
+ #: inc/admin/admin.php:4924 inc/admin/admin.php:5001 inc/admin/admin.php:5078
4679
+ #: inc/admin/admin.php:5155 inc/admin/admin.php:5232
4680
  msgid "Custom Dimension #13"
4681
  msgstr ""
4682
 
4683
+ #: inc/admin/admin.php:4927 inc/admin/admin.php:5004 inc/admin/admin.php:5081
4684
+ #: inc/admin/admin.php:5158 inc/admin/admin.php:5235
4685
  msgid "Custom Dimension #14"
4686
  msgstr ""
4687
 
4688
+ #: inc/admin/admin.php:4930 inc/admin/admin.php:5007 inc/admin/admin.php:5084
4689
+ #: inc/admin/admin.php:5161 inc/admin/admin.php:5238
4690
  msgid "Custom Dimension #15"
4691
  msgstr ""
4692
 
4693
+ #: inc/admin/admin.php:4933 inc/admin/admin.php:5010 inc/admin/admin.php:5087
4694
+ #: inc/admin/admin.php:5164 inc/admin/admin.php:5241
4695
  msgid "Custom Dimension #16"
4696
  msgstr ""
4697
 
4698
+ #: inc/admin/admin.php:4936 inc/admin/admin.php:5013 inc/admin/admin.php:5090
4699
+ #: inc/admin/admin.php:5167 inc/admin/admin.php:5244
4700
  msgid "Custom Dimension #17"
4701
  msgstr ""
4702
 
4703
+ #: inc/admin/admin.php:4939 inc/admin/admin.php:5016 inc/admin/admin.php:5093
4704
+ #: inc/admin/admin.php:5170 inc/admin/admin.php:5247
4705
  msgid "Custom Dimension #18"
4706
  msgstr ""
4707
 
4708
+ #: inc/admin/admin.php:4942 inc/admin/admin.php:5019 inc/admin/admin.php:5096
4709
+ #: inc/admin/admin.php:5173 inc/admin/admin.php:5250
4710
  msgid "Custom Dimension #19"
4711
  msgstr ""
4712
 
4713
+ #: inc/admin/admin.php:4945 inc/admin/admin.php:5022 inc/admin/admin.php:5099
4714
+ #: inc/admin/admin.php:5176 inc/admin/admin.php:5253
4715
  msgid "Custom Dimension #20"
4716
  msgstr ""
4717
 
4718
+ #: inc/admin/admin.php:5271
4719
  msgid "Redirect attachment pages to post parent (or homepage if none)"
4720
  msgstr ""
4721
 
4722
+ #: inc/admin/admin.php:5290
4723
  msgid ""
4724
  "If this option is checked, it will take precedence over the redirection of "
4725
  "attachments to the post's parent."
4726
  msgstr ""
4727
 
4728
+ #: inc/admin/admin.php:5307
4729
  msgid "Remove ?replytocom link in source code"
4730
  msgstr ""
4731
 
4732
+ #: inc/admin/admin.php:5324
4733
  msgid ""
4734
  "When sending an image file, automatically set the title based on the filename"
4735
  msgstr ""
4736
 
4737
+ #: inc/admin/admin.php:5341
4738
  msgid ""
4739
  "When sending an image file, automatically set the alternative text based on "
4740
  "the filename"
4741
  msgstr ""
4742
 
4743
+ #: inc/admin/admin.php:5344
4744
  msgid ""
4745
  "We recommend Image SEO plugin to optimize your image ALT texts and names for "
4746
  "Search Engines using AI and Machine Learning. Starting from just €4.99."
4747
  msgstr ""
4748
 
4749
+ #: inc/admin/admin.php:5362
4750
  msgid ""
4751
  "When sending an image file, automatically set the caption based on the "
4752
  "filename"
4753
  msgstr ""
4754
 
4755
+ #: inc/admin/admin.php:5379
4756
  msgid ""
4757
  "When sending an image file, automatically set the description based on the "
4758
  "filename"
4759
  msgstr ""
4760
 
4761
+ #: inc/admin/admin.php:5396
4762
  msgid "Add TINYMCE editor to term description"
4763
  msgstr ""
4764
 
4765
+ #: inc/admin/admin.php:5413
4766
  msgid "You have to flush your permalinks each time you change this settings"
4767
  msgstr ""
4768
 
4769
+ #: inc/admin/admin.php:5430
4770
  msgid ""
4771
  "You must check this box if the structure of your permalinks DOES NOT contain "
4772
  "a slash at the end (eg: /%postname%)"
4773
  msgstr ""
4774
 
4775
+ #: inc/admin/admin.php:5447
4776
  msgid "Remove WordPress meta generator in source code"
4777
  msgstr ""
4778
 
4779
+ #: inc/admin/admin.php:5464
4780
  msgid ""
4781
  "Remove hentry post class to prevent Google from seeing this as structured "
4782
  "data (schema)"
4783
  msgstr ""
4784
 
4785
+ #: inc/admin/admin.php:5481
4786
  msgid ""
4787
  "Remove comment author URL in comments if the website is filled from profile "
4788
  "page"
4789
  msgstr ""
4790
 
4791
+ #: inc/admin/admin.php:5498
4792
  msgid "Remove website field from comment form to reduce spam"
4793
  msgstr ""
4794
 
4795
+ #: inc/admin/admin.php:5515
4796
  msgid "Remove WordPress shortlink meta tag in source code (eg:"
4797
  msgstr ""
4798
 
4799
+ #: inc/admin/admin.php:5532
4800
  msgid "Remove Windows Live Writer meta tag in source code (eg:"
4801
  msgstr ""
4802
 
4803
+ #: inc/admin/admin.php:5549
4804
  msgid "Remove Really Simple Discovery meta tag in source code (eg:"
4805
  msgstr ""
4806
 
4807
+ #: inc/admin/admin.php:5561
4808
  msgid "Enter Google meta value site verification"
4809
  msgstr ""
4810
 
4811
+ #: inc/admin/admin.php:5566
4812
  msgid ""
4813
  "If your site is already verified in <strong>Google Search Console</strong>, "
4814
  "you can leave this field empty."
4815
  msgstr ""
4816
 
4817
+ #: inc/admin/admin.php:5575
4818
  msgid "Enter Bing meta value site verification"
4819
  msgstr ""
4820
 
4821
+ #: inc/admin/admin.php:5579
4822
  msgid ""
4823
  "If your site is already verified in <strong>Bing Webmaster tools</strong>, "
4824
  "you can leave this field empty."
4825
  msgstr ""
4826
 
4827
+ #: inc/admin/admin.php:5588
4828
  msgid "Enter Pinterest meta value site verification"
4829
  msgstr ""
4830
 
4831
+ #: inc/admin/admin.php:5600
4832
  msgid "Enter Yandex meta value site verification"
4833
  msgstr ""
4834
 
4835
+ #: inc/admin/admin.php:5617
4836
  msgid "Remove SEOPress from Admin Bar in backend and frontend"
4837
  msgstr ""
4838
 
4839
+ #: inc/admin/admin.php:5633
4840
  msgid "High priority (top)"
4841
  msgstr ""
4842
 
4843
+ #: inc/admin/admin.php:5636
4844
  msgid "Normal priority (default)"
4845
  msgstr ""
4846
 
4847
+ #: inc/admin/admin.php:5639
4848
  msgid "Low priority"
4849
  msgstr ""
4850
 
4851
+ #: inc/admin/admin.php:5657
4852
  msgid "Hide Notifications Center in SEOPress Dashboard page"
4853
  msgstr ""
4854
 
4855
+ #: inc/admin/admin.php:5674
4856
  msgid "Hide SEO tools in SEOPress Dashboard page"
4857
  msgstr ""
4858
 
4859
+ #: inc/admin/admin.php:5691
4860
  msgid "Hide Useful Links in SEOPress dashboard page"
4861
  msgstr ""
4862
 
4863
+ #: inc/admin/admin.php:5708
4864
  msgid "Add title column"
4865
  msgstr ""
4866
 
4867
+ #: inc/admin/admin.php:5725
4868
  msgid "Add meta description column"
4869
  msgstr ""
4870
 
4871
+ #: inc/admin/admin.php:5742
4872
  msgid "Add redirection enable column"
4873
  msgstr ""
4874
 
4875
+ #: inc/admin/admin.php:5759
4876
  msgid "Add redirection URL column"
4877
  msgstr ""
4878
 
4879
+ #: inc/admin/admin.php:5776
4880
  msgid "Add canonical URL column"
4881
  msgstr ""
4882
 
4883
+ #: inc/admin/admin.php:5793
4884
  msgid "Add target keyword column"
4885
  msgstr ""
4886
 
4887
+ #: inc/admin/admin.php:5810
4888
  msgid "Display noindex status"
4889
  msgstr ""
4890
 
4891
+ #: inc/admin/admin.php:5827
4892
  msgid "Display nofollow status"
4893
  msgstr ""
4894
 
4895
+ #: inc/admin/admin.php:5844
4896
  msgid "Display total number of words in content"
4897
  msgstr ""
4898
 
4899
+ #: inc/admin/admin.php:5861
4900
  msgid "Display W3C column to check code quality"
4901
  msgstr ""
4902
 
4903
+ #: inc/admin/admin.php:5879
4904
  msgid "Display Page Speed column to check performances"
4905
  msgstr ""
4906
 
4907
+ #: inc/admin/admin.php:5898
4908
  msgid ""
4909
  "Display Content Analysis results column (\"Good\" or \"Should be improved\")"
4910
  msgstr ""
4911
 
4912
+ #: inc/admin/admin.php:5916
4913
  msgid "Remove Genesis SEO Metabox"
4914
  msgstr ""
4915
 
4916
+ #: inc/admin/admin.php:5933
4917
  msgid "Remove Genesis SEO link in WP Admin Menu"
4918
  msgstr ""
4919
 
4920
+ #: inc/admin/admin.php:5950
4921
  msgid "Remove the advice if None schema selected"
4922
  msgstr ""
4923
 
4924
+ #: inc/admin/admin.php:5988 inc/admin/admin.php:6023
4925
  msgid ""
4926
  "Hook to filter structured data types metabox call by post type - new window"
4927
  msgstr ""
4928
 
4929
+ #: inc/admin/adminbar.php:65
4930
  msgid "BOT"
4931
  msgstr ""
4932
 
4933
+ #: inc/admin/adminbar.php:101
4934
  msgid "Broken Links"
4935
  msgstr ""
4936
 
4937
+ #: inc/admin/adminbar.php:115
4938
  msgid "Configuration wizard"
4939
  msgstr ""
4940
 
4941
+ #: inc/admin/ajax.php:29
4942
+ msgid ""
4943
+ "A redirect is active for this URL. Turn it off to get the Google preview and "
4944
+ "content analysis."
4945
+ msgstr ""
4946
+
4947
+ #: inc/admin/ajax.php:109
4948
  msgid "To get your Google snippet preview, publish your post!"
4949
  msgstr ""
4950
 
5074
  msgid "X"
5075
  msgstr ""
5076
 
5077
+ #: inc/functions/options-google-analytics.php:648
5078
  msgid "Authors"
5079
  msgstr ""
5080
 
5081
+ #: inc/functions/options-google-analytics.php:667
5082
  msgid "Categories"
5083
  msgstr ""
5084
 
5085
+ #: inc/functions/options-google-analytics.php:693
5086
  msgid "Tags"
5087
  msgstr ""
5088
 
5089
+ #: inc/functions/options-google-analytics.php:707
5090
  msgid "Post types"
5091
  msgstr ""
5092
 
5093
+ #: inc/functions/options-google-analytics.php:721
5094
  msgid "Connected users"
5095
  msgstr ""
5096
 
5097
+ #: inc/functions/options-import-export.php:58
5098
+ #: inc/functions/options-import-export.php:307
5099
+ #: inc/functions/options-import-export.php:317
5100
  msgid "Please upload a valid .json file"
5101
  msgstr ""
5102
 
5103
+ #: inc/functions/options-import-export.php:63
5104
+ #: inc/functions/options-import-export.php:132
5105
+ #: inc/functions/options-import-export.php:195
5106
+ #: inc/functions/options-import-export.php:311
5107
+ #: inc/functions/options-import-export.php:372
5108
  msgid "Please upload a file to import"
5109
  msgstr ""
5110
 
5111
+ #: inc/functions/options-import-export.php:128
5112
+ #: inc/functions/options-import-export.php:137
5113
+ #: inc/functions/options-import-export.php:191
5114
+ #: inc/functions/options-import-export.php:200
5115
  msgid "Please upload a valid .csv file"
5116
  msgstr ""
5117
 
5118
+ #: inc/functions/options-import-export.php:368
5119
+ msgid "Please upload a valid .txt file"
5120
+ msgstr ""
5121
+
5122
  #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:126
5123
  msgid "XML Sitemaps"
5124
  msgstr ""
5128
  msgid "Page %d of %2$d"
5129
  msgstr ""
5130
 
5131
+ #: seopress.php:141
5132
  msgid "has been successfully updated!"
5133
  msgstr ""
5134
 
5135
+ #: seopress.php:343
 
 
 
 
 
 
 
 
5136
  msgid "You like SEOPress? Don't forget to rate it 5 stars!"
5137
  msgstr ""
5138
 
5139
+ #: seopress.php:406
5140
  msgid "Docs"
5141
  msgstr ""
5142
 
5143
+ #: seopress.php:407
5144
  msgid "Configuration Wizard"
5145
  msgstr ""
5146
 
5147
+ #: seopress.php:409
5148
  msgid "GO PRO!"
5149
  msgstr ""
readme.txt CHANGED
@@ -1,12 +1,12 @@
1
  === SEOPress ===
2
  Authors: rainbowgeek
3
- Contributors: rainbowgeek, juliobox
4
  Donate link: https://www.seopress.org/
5
  Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge graph, redirection, breadcrumbs, google analytics, rich snippets, broken link checker, Schema.org
6
  Requires at least: 4.7+
7
  Tested up to: 5.3
8
  Requires PHP: 5.6
9
- Stable tag: 3.8.1.1
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -47,9 +47,11 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
47
  <li>Redirect attachment pages to their file URL</li>
48
  <li>Automatically set the image title / alt / caption / description</li>
49
  <li>Import / Export settings from site to site.</li>
50
- <li>Import posts and terms metadata from Yoast SEO, All In One SEO, SEO Framework, Rank Math and Squirrly</li>
51
  <li>W3C check</li>
52
  <li>Content analysis</li>
 
 
53
  <li>...</li>
54
  </ul>
55
 
@@ -61,7 +63,7 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
61
  <li>Video XML Sitemap</li>
62
  <li>Google Suggestions in Content Analysis</li>
63
  <li><a href="https://www.seopress.org/features/google-structured-data-types/" target="_blank">Google Structured Data types (schema.org)</a>: article, local business, service, FAQ, course, recipe, software application, video, event, product, job, simple review, site navigation element and custom</li>
64
- <li>Automatic Schemas</li>
65
  <li>Breadcrumbs optimized with Schema.org, A11Y ready</li>
66
  <li>Google Analytics Stats in Dashboard</li>
67
  <li>Google Local Business</li>
@@ -118,6 +120,7 @@ SEOPress is a powerful plugin to optimize your SEO, boost your traffic, improve
118
  <li>Polylang</li>
119
  <li>MultilingualPress</li>
120
  <li>Weglot</li>
 
121
  <li>Elementor</li>
122
  <li>Divi</li>
123
  <li>WP-Rocket</li>
@@ -166,7 +169,7 @@ Any questions? Visit our website <a href="https://www.seopress.org?utm_source=w.
166
 
167
  = Can I import my post and term metadata from other plugins? =
168
 
169
- You can import your metadata from <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-yoast-seo-seopress/">Yoast SEO</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-all-in-one-seo-to-seopress/">All In One SEO (AIO SEO)</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-the-seo-framework-to-seopress/">The SEO Framework (TSF)</a>, <a href="https://www.seopress.org/support/guides/import-post-metadatas-from-squirrly-to-seopress/">Squirrly</a> (post metas only, not terms), and <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-rank-math-seo-seopress/">Rank Math</a> in one click to SEOPress without losing traffic.
170
 
171
  = How to use Google Tag Manager / Facebook Pixel with SEOPress? =
172
 
@@ -219,6 +222,45 @@ You're theme is probably using a deprecated function to handle the title. <a hre
219
  7. Installation Wizard
220
 
221
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
222
  = 3.8.1.1 =
223
  * FIX JS error for SEO metabox of taxonomy terms
224
  = 3.8.1 =
1
  === SEOPress ===
2
  Authors: rainbowgeek
3
+ Contributors: rainbowgeek, juliobox, maigret
4
  Donate link: https://www.seopress.org/
5
  Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge graph, redirection, breadcrumbs, google analytics, rich snippets, broken link checker, Schema.org
6
  Requires at least: 4.7+
7
  Tested up to: 5.3
8
  Requires PHP: 5.6
9
+ Stable tag: 3.8.2
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
47
  <li>Redirect attachment pages to their file URL</li>
48
  <li>Automatically set the image title / alt / caption / description</li>
49
  <li>Import / Export settings from site to site.</li>
50
+ <li>Import posts and terms metadata from Yoast SEO, All In One SEO, SEO Framework, Rank Math, SEO Ultimate, WP Meta SEO, and Squirrly</li>
51
  <li>W3C check</li>
52
  <li>Content analysis</li>
53
+ <li>Mobile / Desktop Google Preview</li>
54
+ <li>Facebook Preview</li>
55
  <li>...</li>
56
  </ul>
57
 
63
  <li>Video XML Sitemap</li>
64
  <li>Google Suggestions in Content Analysis</li>
65
  <li><a href="https://www.seopress.org/features/google-structured-data-types/" target="_blank">Google Structured Data types (schema.org)</a>: article, local business, service, FAQ, course, recipe, software application, video, event, product, job, simple review, site navigation element and custom</li>
66
+ <li>Automatic Schemas with advanced conditions (AND, OR, Post types, taxonomies)</li>
67
  <li>Breadcrumbs optimized with Schema.org, A11Y ready</li>
68
  <li>Google Analytics Stats in Dashboard</li>
69
  <li>Google Local Business</li>
120
  <li>Polylang</li>
121
  <li>MultilingualPress</li>
122
  <li>Weglot</li>
123
+ <li>TranslatePress</li>
124
  <li>Elementor</li>
125
  <li>Divi</li>
126
  <li>WP-Rocket</li>
169
 
170
  = Can I import my post and term metadata from other plugins? =
171
 
172
+ You can import your metadata from <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-yoast-seo-seopress/">Yoast SEO</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-all-in-one-seo-to-seopress/">All In One SEO (AIO SEO)</a>, <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadatas-from-the-seo-framework-to-seopress/">The SEO Framework (TSF)</a>, <a href="https://www.seopress.org/support/guides/import-post-metadatas-from-squirrly-to-seopress/">Squirrly</a> (post metas only, not terms), <a href="https://www.seopress.org/support/guides/import-post-terms-metadatas-rank-math-seo-seopress/">Rank Math</a>, <a href="https://www.seopress.org/support/guides/import-post-metadata-from-seo-ultimate-to-seopress/">SEO Ultimate (post metas only, not terms)</a> and <a href="https://www.seopress.org/support/guides/import-post-and-terms-metadata-from-wp-meta-seo-to-seopress/">WP Meta SEO</a> in one click to SEOPress without losing traffic.
173
 
174
  = How to use Google Tag Manager / Facebook Pixel with SEOPress? =
175
 
222
  7. Installation Wizard
223
 
224
  == Changelog ==
225
+ = 3.8.2 =
226
+ * NEW 🎉 Advanced conditions for schemas! (PRO)
227
+ * NEW Google Mobile Preview!
228
+ * NEW TranslatePress compatibility!
229
+ * NEW "remove post category links from breadcrumbs" option (SEO, PRO, Breadcrumbs)
230
+ * NEW Import redirects from Rank Math
231
+ * NEW SEO Ultimate import tool
232
+ * NEW WP Meta SEO import tool
233
+ * NEW Add servesCuisine property to LocalBusiness schemas related to Food (PRO)
234
+ * NEW "seopress_rgpd_full_message_styles" hook to filter cookie bar inline styles (https://www.seopress.org/support/hooks/filter-user-consent-inline-styles/)
235
+ * NEW "seopress_toggle_mobile_preview" hook to change the default Google Preview (desktop or mobile - https://www.seopress.org/support/hooks/set-google-snippet-preview-to-desktop-by-default/)
236
+ * INFO Improve Oxygen compatibility
237
+ * INFO Improve UI for FAQ schema
238
+ * INFO Improve Wizard Configuration UI
239
+ * INFO Improve UI for import tool
240
+ * INFO Improve UX with tabs/anchor
241
+ * INFO Improve responsive design
242
+ * INFO Improve tooltip
243
+ * INFO Improve alt text detection with tiny images (eg: Facebook Pixel) to avoid false positives
244
+ * INFO Parsing the target keyword in permalinks no longer takes accents into account
245
+ * INFO Improve orderby 404 in SEO, Redirections
246
+ * INFO Automatically remove BOM from plugin export JSON file
247
+ * INFO Add "Last time loaded" column to Redirections
248
+ * INFO If redirect in place from the SEO metabox, then don't generate Google preview or content analysis
249
+ * FIX Support non UTF-8 characters for "keyword in permalink" check
250
+ * FIX Notices
251
+ * FIX Redirect from blog page
252
+ * FIX Warning: array_count_values(): Can only count STRING and INTEGER values
253
+ * FIX Trailing slash in post type archive link for XML sitemaps
254
+ * FIX Provider name for service schema
255
+ * FIX redirects if "&" in query string
256
+ * FIX product primary category for breadcrumbs
257
+ * FIX White label with multisite
258
+ * FIX XML Sitemaps with Polylang
259
+ * FIX undefined index in video XML sitemap
260
+ * FIX %%post_author%% in author archive page for specific cases
261
+ * FIX W3C error for cookie bar, inline styles are now printed in the head of your document
262
+ * FIX Plugin import / export settings tool
263
+ * FIX tabs JS error if SEO metabox is not displayed with Structured data types metabox
264
  = 3.8.1.1 =
265
  * FIX JS error for SEO metabox of taxonomy terms
266
  = 3.8.1 =
seopress.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
- Version: 3.8.1.1
7
  Author: SEOPress
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
@@ -13,18 +13,18 @@ Domain Path: /languages
13
 
14
  /* Copyright 2016 - 2020 - Benjamin Denis (email : contact@seopress.org)
15
 
16
- This program is free software; you can redistribute it and/or modify
17
- it under the terms of the GNU General Public License, version 2, as
18
- published by the Free Software Foundation.
19
 
20
- This program is distributed in the hope that it will be useful,
21
- but WITHOUT ANY WARRANTY; without even the implied warranty of
22
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
- GNU General Public License for more details.
24
 
25
- You should have received a copy of the GNU General Public License
26
- along with this program; if not, write to the Free Software
27
- Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
  */
29
 
30
  // To prevent calling the plugin directly
@@ -38,70 +38,69 @@ if ( !function_exists( 'add_action' ) ) {
38
  ///////////////////////////////////////////////////////////////////////////////////////////////////
39
  function seopress_activation() {
40
  add_option( 'seopress_activated', 'yes' );
41
- flush_rewrite_rules();
42
- do_action('seopress_activation');
43
  }
44
  register_activation_hook(__FILE__, 'seopress_activation');
45
 
46
  function seopress_deactivation() {
47
- deactivate_plugins('wp-seopress-pro/seopress-pro.php');
48
  delete_option( 'seopress_activated' );
49
- flush_rewrite_rules();
50
- do_action('seopress_deactivation');
51
  }
52
  register_deactivation_hook(__FILE__, 'seopress_deactivation');
53
 
54
  ///////////////////////////////////////////////////////////////////////////////////////////////////
55
  //Define
56
  ///////////////////////////////////////////////////////////////////////////////////////////////////
57
- define( 'SEOPRESS_VERSION', '3.8.1.1' );
58
  define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
59
 
60
  ///////////////////////////////////////////////////////////////////////////////////////////////////
61
  //SEOPRESS INIT = Admin + Core + API + Translation
62
  ///////////////////////////////////////////////////////////////////////////////////////////////////
63
  function seopress_init($hook) {
64
- load_plugin_textdomain( 'wp-seopress', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
65
-
66
- global $pagenow;
67
- global $typenow;
68
- if ( is_admin() || is_network_admin() ) {
69
- require_once dirname( __FILE__ ) . '/inc/admin/admin.php';
70
-
71
- if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
72
- if ( 'seopress_schemas' != $typenow ) {
73
- require_once dirname( __FILE__ ) . '/inc/admin/admin-metaboxes.php';
74
- }
75
- }
76
- if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
77
- require_once dirname( __FILE__ ) . '/inc/admin/admin-term-metaboxes.php';
78
- }
79
- require_once dirname( __FILE__ ) . '/inc/admin/ajax.php';
80
- if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
81
- //do not load the SEOPress admin header
82
- } else {
83
- require_once dirname( __FILE__ ) . '/inc/admin/admin-header.php';
84
- }
85
- }
86
-
87
- require_once dirname( __FILE__ ) . '/inc/functions/options.php';
88
-
89
- if(current_user_can('manage_options')) {
90
- require_once dirname( __FILE__ ) . '/inc/admin/adminbar.php';
91
- }
92
-
93
- remove_action( 'wp_head', 'rel_canonical' ); //remove default WordPress Canonical
94
-
95
- //Setup/welcome
96
- if (!empty($_GET['page'])){
97
- switch ($_GET['page']){
98
- case 'seopress-setup':
99
- include_once dirname( __FILE__ ) . '/inc/admin/admin-wizard.php';
100
- break;
101
- default :
102
- break;
103
- }
104
- }
105
  }
106
  add_action('plugins_loaded', 'seopress_init', 999);
107
 
@@ -109,8 +108,8 @@ add_action('plugins_loaded', 'seopress_init', 999);
109
  //Loads dynamic variables for titles, metas, schemas...
110
  ///////////////////////////////////////////////////////////////////////////////////////////////////
111
  function seopress_dyn_variables_init($variables){
112
- $variables = include dirname( __FILE__ ) . '/inc/functions/variables/dynamic-variables.php';
113
- return $variables;
114
  }
115
  add_filter('seopress_dyn_variables_fn','seopress_dyn_variables_init');
116
 
@@ -118,150 +117,165 @@ add_filter('seopress_dyn_variables_fn','seopress_dyn_variables_init');
118
  //Loads the JS/CSS in admin
119
  ///////////////////////////////////////////////////////////////////////////////////////////////////
120
  //SEOPRESS Options page
121
- function seopress_add_admin_options_scripts($hook) {
122
- wp_register_style( 'seopress-admin', plugins_url('assets/css/seopress.min.css', __FILE__), array(), SEOPRESS_VERSION);
123
- wp_enqueue_style( 'seopress-admin' );
124
-
125
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-network-option')) {
126
- wp_enqueue_script( 'seopress-network-tabs', plugins_url( 'assets/js/seopress-network-tabs.js', __FILE__ ), array( 'jquery' ), SEOPRESS_VERSION, true );
127
- }
128
-
129
- //Toggle / Notices JS
130
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-option' || $_GET['page'] == 'seopress-network-option' || $_GET['page'] == 'seopress-titles' || $_GET['page'] == 'seopress-xml-sitemap' || $_GET['page'] == 'seopress-social' || $_GET['page'] == 'seopress-google-analytics' || $_GET['page'] == 'seopress-advanced' || $_GET['page'] == 'seopress-pro-page') ) {
131
- wp_enqueue_script( 'seopress-toggle-ajax', plugins_url( 'assets/js/seopress-dashboard.js', __FILE__ ), array( 'jquery' ), SEOPRESS_VERSION, true );
132
-
133
- //Features
134
- $seopress_toggle_features = array(
135
- 'seopress_nonce' => wp_create_nonce('seopress_toggle_features_nonce'),
136
- 'seopress_toggle_features' => admin_url( 'admin-ajax.php'),
137
- 'i18n' => __('has been successfully updated!','wp-seopress')
138
- );
139
- wp_localize_script( 'seopress-toggle-ajax', 'seopressAjaxToggleFeatures', $seopress_toggle_features );
140
- }
141
-
142
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-option') ) {
143
- //Notices
144
- $seopress_hide_notices = array(
145
- 'seopress_nonce' => wp_create_nonce('seopress_hide_notices_nonce'),
146
- 'seopress_hide_notices' => admin_url( 'admin-ajax.php'),
147
- );
148
- wp_localize_script( 'seopress-toggle-ajax', 'seopressAjaxHideNotices', $seopress_hide_notices );
149
-
150
- //Admin Tabs
151
- wp_enqueue_script( 'seopress-reverse-ajax', plugins_url( 'assets/js/seopress-tabs7.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
152
-
153
- //Reverse domains
154
- $seopress_request_reverse = array(
155
- 'seopress_nonce' => wp_create_nonce('seopress_request_reverse_nonce'),
156
- 'seopress_request_reverse' => admin_url( 'admin-ajax.php'),
157
- );
158
- wp_localize_script( 'seopress-reverse-ajax', 'seopressAjaxReverse', $seopress_request_reverse );
159
-
160
- $seopress_clear_reverse_cache = array(
161
- 'seopress_nonce' => wp_create_nonce('seopress_clear_reverse_cache_nonce'),
162
- 'seopress_clear_reverse_cache' => admin_url( 'admin-ajax.php'),
163
- );
164
- wp_localize_script( 'seopress-reverse-ajax', 'seopressAjaxClearReverseCache', $seopress_clear_reverse_cache );
165
- }
166
-
167
- //Migration
168
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-option' || $_GET['page'] == 'seopress-import-export') ) {
169
- wp_enqueue_script( 'seopress-migrate-ajax', plugins_url( 'assets/js/seopress-migrate.min.js', __FILE__ ), array( 'jquery' ), SEOPRESS_VERSION, true );
170
-
171
- $seopress_migrate = array(
172
- 'seopress_aio_migrate' => array(
173
- 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
174
- 'seopress_aio_migration' => admin_url( 'admin-ajax.php'),
175
- ),
176
- 'seopress_yoast_migrate' => array(
177
- 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
178
- 'seopress_yoast_migration' => admin_url( 'admin-ajax.php'),
179
- ),
180
- 'seopress_seo_framework_migrate' => array(
181
- 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
182
- 'seopress_seo_framework_migration' => admin_url( 'admin-ajax.php'),
183
- ),
184
- 'seopress_rk_migrate' => array(
185
- 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
186
- 'seopress_rk_migration' => admin_url( 'admin-ajax.php'),
187
- ),
188
- 'seopress_squirrly_migrate' => array(
189
- 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
190
- 'seopress_squirrly_migration' => admin_url( 'admin-ajax.php'),
191
- ),
192
- 'seopress_metadata_csv' => array(
193
- 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
194
- 'seopress_metadata_export' => admin_url( 'admin-ajax.php'),
195
- ),
196
- 'i18n' => array(
197
- 'migration'=>__('Migration completed!','wp-seopress'),
198
- 'export'=>__('Export completed!','wp-seopress'),
199
- )
200
- );
201
- wp_localize_script( 'seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate );
202
- }
203
-
204
- //Tabs
205
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-titles') ) {
206
- wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
207
- }
208
-
209
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-xml-sitemap') ) {
210
- wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs4.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
211
- }
212
-
213
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-xml-sitemap' || $_GET['page'] == 'seopress-pro-page' || $_GET['page'] == 'seopress-network-option' )) {
214
- wp_enqueue_script( 'seopress-xml-ajax', plugins_url( 'assets/js/seopress-sitemap-ajax.js', __FILE__ ), array( 'jquery' ), SEOPRESS_VERSION, true );
215
-
216
- $seopress_ajax_permalinks = array(
217
- 'seopress_nonce' => wp_create_nonce('seopress_flush_permalinks_nonce'),
218
- 'seopress_flush_permalinks' => admin_url('options-permalink.php'),
219
- );
220
- wp_localize_script( 'seopress-xml-ajax', 'seopressAjaxResetPermalinks', $seopress_ajax_permalinks );
221
-
222
- }
223
-
224
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-google-analytics') ) {
225
- wp_enqueue_style( 'wp-color-picker' );
226
- wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs6.js', __FILE__ ), array( 'jquery-ui-tabs', 'wp-color-picker' ), SEOPRESS_VERSION );
227
- }
228
-
229
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-advanced') ) {
230
- wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs5.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
231
- }
232
-
233
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-import-export') ) {
234
- wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs8.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
235
- }
236
-
237
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-social') ) {
238
- wp_enqueue_script( 'seopress-social-tabs-js', plugins_url( 'assets/js/seopress-tabs3.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
239
- wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2.js', __FILE__ ), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION );
240
- wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader.js', __FILE__), array('jquery'), SEOPRESS_VERSION, false );
241
- wp_enqueue_media();
242
- }
243
-
244
- //CSV Importer
245
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress_csv_importer') ) {
246
- wp_enqueue_style( 'seopress-setup', plugins_url( 'assets/css/seopress-setup.css', __FILE__), array( 'dashicons' ), SEOPRESS_VERSION );
247
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
248
  }
249
 
250
  add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
251
 
252
  //SEOPRESS Admin bar
253
  function seopress_admin_bar_css() {
254
- if (is_user_logged_in() && function_exists('seopress_advanced_appearance_adminbar_option') && seopress_advanced_appearance_adminbar_option() !='1') {
255
- wp_register_style( 'seopress-admin-bar', plugins_url('assets/css/seopress-admin-bar.min.css', __FILE__), array(), SEOPRESS_VERSION);
256
- wp_enqueue_style( 'seopress-admin-bar' );
257
- }
 
258
  }
259
-
260
  add_action('init', 'seopress_admin_bar_css', 10, 1);
261
 
262
  //Quick Edit
263
  function seopress_add_admin_options_scripts_quick_edit() {
264
- wp_enqueue_script( 'seopress-quick-edit', plugins_url('assets/js/seopress-quick-edit.js', __FILE__), array('jquery', 'inline-edit-post'), SEOPRESS_VERSION, true );
 
265
  }
266
  add_action( 'admin_print_scripts-edit.php', 'seopress_add_admin_options_scripts_quick_edit' );
267
 
@@ -270,21 +284,27 @@ add_action( 'admin_print_scripts-edit.php', 'seopress_add_admin_options_scripts_
270
  ///////////////////////////////////////////////////////////////////////////////////////////////////
271
  add_filter( 'admin_body_class', 'seopress_admin_body_class' );
272
  function seopress_admin_body_class( $classes ) {
273
- if ((isset($_GET['page']) && ($_GET['page'] == 'seopress_csv_importer'))
274
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-option'))
275
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-network-option'))
276
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-titles'))
277
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-xml-sitemap'))
278
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-social'))
279
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-google-analytics'))
280
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-advanced'))
281
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-import-export'))
282
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-pro-page'))
283
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-bot-batch'))
284
- || (isset($_GET['page']) && ($_GET['page'] == 'seopress-license'))) {
285
- $classes .= " seopress-styles ";
286
- }
287
- return $classes;
 
 
 
 
 
 
288
  }
289
 
290
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -292,11 +312,11 @@ function seopress_admin_body_class( $classes ) {
292
  ///////////////////////////////////////////////////////////////////////////////////////////////////
293
  //Jetpack
294
  function seopress_compatibility_jetpack() {
295
- if ( function_exists('is_plugin_active')) {
296
- if (is_plugin_active( 'jetpack/jetpack.php' ) && !is_admin()) {
297
- add_filter( 'jetpack_enable_open_graph', '__return_false' );
298
- }
299
- }
300
  }
301
  add_action( 'wp_head', 'seopress_compatibility_jetpack', 0 );
302
 
@@ -306,11 +326,11 @@ add_action( 'wp_head', 'seopress_compatibility_jetpack', 0 );
306
  * @since 3.8.1
307
  */
308
  function seopress_compatibility_woocommerce() {
309
- if ( function_exists('is_plugin_active')) {
310
- if (is_plugin_active( 'woocommerce/woocommerce.php' ) && !is_admin()) {
311
- remove_action( 'wp_head', 'wc_page_noindex' );
312
- }
313
- }
314
  }
315
  add_action( 'wp_head', 'seopress_compatibility_woocommerce', 0 );
316
 
@@ -318,39 +338,55 @@ add_action( 'wp_head', 'seopress_compatibility_woocommerce', 0 );
318
  //Credits footer
319
  ///////////////////////////////////////////////////////////////////////////////////////////////////
320
  function seopress_custom_credits_footer() {
321
- return '<span id="seopress-footer-credits">
322
- <span class="dashicons dashicons-wordpress"></span>
323
- '.__( "You like SEOPress? Don't forget to rate it 5 stars!", "wp-seopress" ).'
324
-
325
- <span class="wporg-ratings rating-stars">
326
- <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=1#postform" data-rating="1" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
327
- <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=2#postform" data-rating="2" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
328
- <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=3#postform" data-rating="3" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
329
- <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=4#postform" data-rating="4" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
330
- <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=5#postform" data-rating="5" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
331
- </span>
332
- <script>
333
- jQuery(document).ready( function($) {
334
- $(".rating-stars").find("a").hover(
335
- function() {
336
- $(this).nextAll("a").children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
337
- $(this).prevAll("a").children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
338
- $(this).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
339
- }, function() {
340
- var rating = $("input#rating").val();
341
- if (rating) {
342
- var list = $(".rating-stars a");
343
- list.children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
344
- list.slice(0, rating).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
345
- }
346
- }
347
- );
348
- });
349
- </script>
350
- </span>';
351
- }
352
- if (isset($_GET['page']) && ($_GET['page'] == 'seopress-option' || $_GET['page'] == 'seopress-network-option' || $_GET['page'] == 'seopress-titles' || $_GET['page'] == 'seopress-xml-sitemap' || $_GET['page'] == 'seopress-social' || $_GET['page'] == 'seopress-google-analytics' || $_GET['page'] == 'seopress-advanced' || $_GET['page'] == 'seopress-pro-page') ) {
353
- add_filter('admin_footer_text', 'seopress_custom_credits_footer');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
354
  }
355
 
356
  ///////////////////////////////////////////////////////////////////////////////////////////////////
@@ -359,110 +395,122 @@ if (isset($_GET['page']) && ($_GET['page'] == 'seopress-option' || $_GET['page']
359
  add_filter('plugin_action_links', 'seopress_plugin_action_links', 10, 2);
360
 
361
  function seopress_plugin_action_links($links, $file) {
362
- static $this_plugin;
363
-
364
- if (!$this_plugin) {
365
- $this_plugin = plugin_basename(__FILE__);
366
- }
367
-
368
- if ($file == $this_plugin) {
369
- $settings_link = '<a href="' . admin_url( 'admin.php?page=seopress-option') . '">'.__("Settings","wp-seopress").'</a>';
370
- $website_link = '<a href="https://www.seopress.org/support/" target="_blank">'.__("Docs","wp-seopress").'</a>';
371
- $wizard_link = '<a href="'.admin_url('admin.php?page=seopress-setup').'">'.__("Configuration Wizard","wp-seopress").'</a>';
372
- if ( !is_plugin_active( 'wp-seopress-pro/seopress-pro.php' )) {
373
- $pro_link = '<a href="https://www.seopress.org/seopress-pro/" style="color:#a00;font-weight:bold" target="_blank">'.__("GO PRO!","wp-seopress").'</a>';
374
- array_unshift($links, $pro_link);
375
- }
376
- if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' )) {
377
- if ( array_key_exists( 'deactivate', $links ) && in_array( $file, array(
378
- 'wp-seopress/seopress.php'
379
- )));
380
- unset( $links['deactivate'] );
381
- }
382
- array_unshift($links, $settings_link, $wizard_link, $website_link);
383
- }
384
-
385
- return $links;
386
  }
387
 
388
  ///////////////////////////////////////////////////////////////////////////////////////////////////
389
  //Get all registered post types
390
  ///////////////////////////////////////////////////////////////////////////////////////////////////
391
  function seopress_get_post_types() {
392
- global $wp_post_types;
393
 
394
- $args = array(
395
- 'show_ui' => true,
396
- 'public' => true,
397
- );
398
 
399
- $output = 'objects'; // names or objects, note names is the default
400
- $operator = 'and'; // 'and' or 'or'
401
 
402
- $post_types = get_post_types( $args, $output, $operator );
403
- unset($post_types['attachment'], $post_types['seopress_404'], $post_types['elementor_library']);
404
- $post_types = apply_filters('seopress_post_types', $post_types);
405
- return $post_types;
406
  }
407
 
408
- ///////////////////////////////////////////////////////////////////////////////////////////////////
409
- //Get all registered custom taxonomies
410
- ///////////////////////////////////////////////////////////////////////////////////////////////////
411
- function seopress_get_taxonomies() {
412
- $args = array(
413
- 'show_ui' => true,
414
- 'public' => true,
415
- );
416
- $output = 'objects'; // or objects
417
- $operator = 'and'; // 'and' or 'or'
418
- $taxonomies = get_taxonomies( $args, $output, $operator );
419
-
420
- return $taxonomies;
 
 
 
 
 
 
 
 
 
 
 
 
421
  }
422
 
423
  ///////////////////////////////////////////////////////////////////////////////////////////////////
424
  //Get all custom fields (limit: 250)
425
  ///////////////////////////////////////////////////////////////////////////////////////////////////
426
  function seopress_get_custom_fields() {
427
- $cf_keys = wp_cache_get( 'seopress_get_custom_fields' );
428
-
429
- if ( false === $cf_keys ) {
430
- global $wpdb;
431
-
432
- $limit = (int) apply_filters( 'postmeta_form_limit', 250 );
433
- $cf_keys = $wpdb->get_col( $wpdb->prepare( "
434
- SELECT meta_key
435
- FROM $wpdb->postmeta
436
- GROUP BY meta_key
437
- HAVING meta_key NOT LIKE '\_%%'
438
- ORDER BY meta_key
439
- LIMIT %d", $limit ) );
440
-
441
- $cf_keys = apply_filters( 'seopress_get_custom_fields', $cf_keys );
442
-
443
- if ( $cf_keys ) {
444
- natcasesort( $cf_keys );
445
- };
446
- wp_cache_set( 'seopress_get_custom_fields', $cf_keys );
447
- }
448
- return $cf_keys;
449
  }
450
 
451
  ///////////////////////////////////////////////////////////////////////////////////////////////////
452
  //Check SSL for schema.org
453
  ///////////////////////////////////////////////////////////////////////////////////////////////////
454
  function seopress_check_ssl() {
455
- if (is_ssl()) {
456
- return 'https://';
457
- } else {
458
- return 'http://';
459
- }
460
  }
461
 
462
  ///////////////////////////////////////////////////////////////////////////////////////////////////
463
  // Check if a feature is ON
464
  ///////////////////////////////////////////////////////////////////////////////////////////////////
465
- /**
466
  * Global check
467
  * @since 3.8
468
  * @param string $feature
@@ -470,277 +518,259 @@ function seopress_check_ssl() {
470
  * @author Benjamin
471
  */
472
  function seopress_get_toggle_option($feature) {
473
- $seopress_get_toggle_option = get_option("seopress_toggle");
474
- if ( ! empty ( $seopress_get_toggle_option ) ) {
475
- foreach ($seopress_get_toggle_option as $key => $seopress_get_toggle_value) {
476
- $options[$key] = $seopress_get_toggle_value;
477
- if (isset($seopress_get_toggle_option['toggle-'.$feature])) {
478
- return $seopress_get_toggle_option['toggle-'.$feature];
479
- }
480
- }
481
- }
482
  }
483
 
484
  // Is Titles enable?
485
  //@deprecated since version 3.8
486
  function seopress_get_toggle_titles_option() {
487
- $seopress_get_toggle_titles_option = get_option("seopress_toggle");
488
- if ( ! empty ( $seopress_get_toggle_titles_option ) ) {
489
- foreach ($seopress_get_toggle_titles_option as $key => $seopress_get_toggle_titles_value)
490
- $options[$key] = $seopress_get_toggle_titles_value;
491
- if (isset($seopress_get_toggle_titles_option['toggle-titles'])) {
492
- return $seopress_get_toggle_titles_option['toggle-titles'];
493
- }
494
- }
495
  }
496
  // Is Social enable?
497
  //@deprecated since version 3.8
498
  function seopress_get_toggle_social_option() {
499
- $seopress_get_toggle_social_option = get_option("seopress_toggle");
500
- if ( ! empty ( $seopress_get_toggle_social_option ) ) {
501
- foreach ($seopress_get_toggle_social_option as $key => $seopress_get_toggle_social_value)
502
- $options[$key] = $seopress_get_toggle_social_value;
503
- if (isset($seopress_get_toggle_social_option['toggle-social'])) {
504
- return $seopress_get_toggle_social_option['toggle-social'];
505
- }
506
- }
507
  }
508
  // Is XML Sitemap enable?
509
  //@deprecated since version 3.8
510
  function seopress_get_toggle_xml_sitemap_option() {
511
- $seopress_get_toggle_xml_sitemap_option = get_option("seopress_toggle");
512
- if ( ! empty ( $seopress_get_toggle_xml_sitemap_option ) ) {
513
- foreach ($seopress_get_toggle_xml_sitemap_option as $key => $seopress_get_toggle_xml_sitemap_value)
514
- $options[$key] = $seopress_get_toggle_xml_sitemap_value;
515
- if (isset($seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'])) {
516
- return $seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'];
517
- }
518
- }
519
  }
520
  // Is Google Analytics enable?
521
  //@deprecated since version 3.8
522
  function seopress_get_toggle_google_analytics_option() {
523
- $seopress_get_toggle_google_analytics_option = get_option("seopress_toggle");
524
- if ( ! empty ( $seopress_get_toggle_google_analytics_option ) ) {
525
- foreach ($seopress_get_toggle_google_analytics_option as $key => $seopress_get_toggle_google_analytics_value)
526
- $options[$key] = $seopress_get_toggle_google_analytics_value;
527
- if (isset($seopress_get_toggle_google_analytics_option['toggle-google-analytics'])) {
528
- return $seopress_get_toggle_google_analytics_option['toggle-google-analytics'];
529
- }
530
- }
531
  }
532
  // Is Advanced enable?
533
  //@deprecated since version 3.8
534
  function seopress_get_toggle_advanced_option() {
535
- $seopress_get_toggle_advanced_option = get_option("seopress_toggle");
536
- if ( ! empty ( $seopress_get_toggle_advanced_option ) ) {
537
- foreach ($seopress_get_toggle_advanced_option as $key => $seopress_get_toggle_advanced_value)
538
- $options[$key] = $seopress_get_toggle_advanced_value;
539
- if (isset($seopress_get_toggle_advanced_option['toggle-advanced'])) {
540
- return $seopress_get_toggle_advanced_option['toggle-advanced'];
541
- }
542
- }
543
  }
544
 
545
  ///////////////////////////////////////////////////////////////////////////////////////////////////
546
  //Enable XML Sitemap
547
  ///////////////////////////////////////////////////////////////////////////////////////////////////
548
  function seopress_xml_sitemap_general_enable_option() {
549
- $seopress_xml_sitemap_general_enable_option = get_option("seopress_xml_sitemap_option_name");
550
- if ( ! empty ( $seopress_xml_sitemap_general_enable_option ) ) {
551
- foreach ($seopress_xml_sitemap_general_enable_option as $key => $seopress_xml_sitemap_general_enable_value)
552
- $options[$key] = $seopress_xml_sitemap_general_enable_value;
553
- if (isset($seopress_xml_sitemap_general_enable_option['seopress_xml_sitemap_general_enable'])) {
554
- return $seopress_xml_sitemap_general_enable_option['seopress_xml_sitemap_general_enable'];
555
- }
556
- }
557
  }
558
 
559
  function seopress_xml_sitemap_post_types_list_option() {
560
- $seopress_xml_sitemap_post_types_list_option = get_option("seopress_xml_sitemap_option_name");
561
- if ( ! empty ( $seopress_xml_sitemap_post_types_list_option ) ) {
562
- foreach ($seopress_xml_sitemap_post_types_list_option as $key => $seopress_xml_sitemap_post_types_list_value)
563
- $options[$key] = $seopress_xml_sitemap_post_types_list_value;
564
- if (isset($seopress_xml_sitemap_post_types_list_option['seopress_xml_sitemap_post_types_list'])) {
565
- return $seopress_xml_sitemap_post_types_list_option['seopress_xml_sitemap_post_types_list'];
566
- }
567
- }
568
  }
569
 
570
  function seopress_xml_sitemap_taxonomies_list_option() {
571
- $seopress_xml_sitemap_taxonomies_list_option = get_option("seopress_xml_sitemap_option_name");
572
- if ( ! empty ( $seopress_xml_sitemap_taxonomies_list_option ) ) {
573
- foreach ($seopress_xml_sitemap_taxonomies_list_option as $key => $seopress_xml_sitemap_taxonomies_list_value)
574
- $options[$key] = $seopress_xml_sitemap_taxonomies_list_value;
575
- if (isset($seopress_xml_sitemap_taxonomies_list_option['seopress_xml_sitemap_taxonomies_list'])) {
576
- return $seopress_xml_sitemap_taxonomies_list_option['seopress_xml_sitemap_taxonomies_list'];
577
- }
578
- }
579
  }
580
 
581
  function seopress_xml_sitemap_author_enable_option() {
582
- $seopress_xml_sitemap_author_enable_option = get_option("seopress_xml_sitemap_option_name");
583
- if ( ! empty ( $seopress_xml_sitemap_author_enable_option ) ) {
584
- foreach ($seopress_xml_sitemap_author_enable_option as $key => $seopress_xml_sitemap_author_enable_value)
585
- $options[$key] = $seopress_xml_sitemap_author_enable_value;
586
- if (isset($seopress_xml_sitemap_author_enable_option['seopress_xml_sitemap_author_enable'])) {
587
- return $seopress_xml_sitemap_author_enable_option['seopress_xml_sitemap_author_enable'];
588
- }
589
- }
590
  }
591
 
592
  //Rewrite Rules for XML Sitemap
593
  if (seopress_xml_sitemap_general_enable_option() =='1' && seopress_get_toggle_option('xml-sitemap') =='1') {
594
- add_action( 'init', 'seopress_xml_sitemap_rewrite' );
595
- add_action( 'query_vars', 'seopress_xml_sitemap_query_vars' );
596
- add_action( 'template_redirect', 'seopress_xml_sitemap_change_template', 1 );
597
- add_action( 'template_redirect', 'seopress_xml_sitemap_shortcut', 1);
598
-
599
- function seopress_sitemaps_headers() {
600
- $headers = array('Content-type' => 'text/xml', 'x-robots-tag' => 'noindex, follow');
601
- $headers = apply_filters( 'seopress_sitemaps_headers', $headers );
602
- if (!empty($headers)) {
603
- foreach($headers as $key => $header) {
604
- Header($key.':'.$header);
605
- }
606
- }
607
- }
608
-
609
- //WPML compatibility
610
- if ( defined( 'ICL_SITEPRESS_VERSION' ) ) {
611
- add_filter( 'request', 'seopress_wpml_block_secondary_languages' );
612
- }
613
- function seopress_wpml_block_secondary_languages( $q ) {
614
- $current_language = apply_filters( 'wpml_current_language', false );
615
- $default_language = apply_filters( 'wpml_default_language', false );
616
- if ( $current_language !== $default_language ) {
617
- unset( $q['seopress_sitemap'] );
618
- unset( $q['seopress_cpt'] );
619
- unset( $q['seopress_paged'] );
620
- unset( $q['seopress_author'] );
621
- unset( $q['seopress_sitemap_xsl'] );
622
- }
623
- return $q;
624
- }
625
-
626
- function seopress_xml_sitemap_shortcut() {
627
- //Redirect sitemap.xml to sitemaps.xml
628
- $get_current_url = get_home_url().$_SERVER['REQUEST_URI'];
629
- if (in_array($get_current_url,array(get_home_url().'/sitemap.xml/',get_home_url().'/sitemap.xml'))) {
630
- wp_safe_redirect(get_home_url().'/sitemaps.xml', 301);
631
- exit();
632
- }
633
- }
634
-
635
- function seopress_xml_sitemap_rewrite() {
636
- //XML Index
637
- add_rewrite_rule( '^sitemaps.xml$', 'index.php?seopress_sitemap=1', 'top' );
638
-
639
- //XSL Sitemap
640
- add_rewrite_rule( '^sitemaps_xsl.xsl$', 'index.php?seopress_sitemap_xsl=1', 'top' );
641
-
642
- //CPT / Taxonomies
643
- $urls = array();
644
-
645
- /*CPT*/
646
- if (seopress_xml_sitemap_post_types_list_option() !='') {
647
- foreach (seopress_xml_sitemap_post_types_list_option() as $cpt_key => $cpt_value) {
648
- foreach ($cpt_value as $_cpt_key => $_cpt_value) {
649
- if($_cpt_value =='1') {
650
- $urls[] = $cpt_key;
651
- }
652
- }
653
- }
654
- }
655
-
656
- /*Taxonomies*/
657
- if (seopress_xml_sitemap_taxonomies_list_option() !='') {
658
- foreach (seopress_xml_sitemap_taxonomies_list_option() as $tax_key => $tax_value) {
659
- foreach ($tax_value as $_tax_key => $_tax_value) {
660
- if($_tax_value =='1') {
661
- $urls[] = $tax_key;
662
- }
663
- }
664
- }
665
- }
666
-
667
- /*Urls*/
668
- if (!empty($urls)) {
669
- $matches[2] = '';
670
- foreach ($urls as $key => $value) {
671
- add_rewrite_rule( 'sitemaps/'.$value.'-sitemap([0-9]+)?.xml$', 'index.php?seopress_cpt='.$value.'&seopress_paged='.$matches[2], 'top' );
672
- }
673
- }
674
-
675
- //XML Author
676
- if (seopress_xml_sitemap_author_enable_option() == 1) {
677
- add_rewrite_rule( 'sitemaps/author.xml?$', 'index.php?seopress_author=1', 'top' );
678
- }
679
- }
680
-
681
-
682
- function seopress_xml_sitemap_query_vars($vars) {
683
- $vars[] = 'seopress_sitemap';
684
- $vars[] = 'seopress_sitemap_xsl';
685
- $vars[] = 'seopress_cpt';
686
- $vars[] = 'seopress_paged';
687
- $vars[] = 'seopress_author';
688
- return $vars;
689
- }
690
-
691
- function seopress_xml_sitemap_change_template( $template ) {
692
- if( get_query_var( 'seopress_sitemap' ) === '1' ) {
693
- $seopress_sitemap = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps.php';
694
- if( file_exists( $seopress_sitemap ) ) {
695
- include $seopress_sitemap;
696
- exit;
697
- }
698
- }
699
- if( get_query_var( 'seopress_sitemap_xsl' ) === '1' ) {
700
- $seopress_sitemap_xsl = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps-xsl.php';
701
- if( file_exists( $seopress_sitemap_xsl ) ) {
702
- include $seopress_sitemap_xsl;
703
- exit;
704
- }
705
- }
706
- if (get_query_var( 'seopress_cpt') !== '' ) {
707
- if (function_exists('seopress_xml_sitemap_post_types_list_option')
708
- && seopress_xml_sitemap_post_types_list_option() !=''
709
- && array_key_exists(get_query_var('seopress_cpt'),seopress_xml_sitemap_post_types_list_option())) {
710
- $seopress_cpt = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps-single.php';
711
- if( file_exists( $seopress_cpt ) ) {
712
- include $seopress_cpt;
713
- exit;
714
- }
715
- } elseif (function_exists('seopress_xml_sitemap_taxonomies_list_option')
716
- && seopress_xml_sitemap_taxonomies_list_option() !=''
717
- && array_key_exists(get_query_var('seopress_cpt'),seopress_xml_sitemap_taxonomies_list_option())) {
718
- $seopress_tax = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps-single-term.php';
719
- if( file_exists( $seopress_tax ) ) {
720
- include $seopress_tax;
721
- exit;
722
- }
723
- }
724
- }
725
- if( get_query_var( 'seopress_author' ) === '1' ) {
726
- $seopress_author = plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/template-xml-sitemaps-author.php';
727
- if( file_exists( $seopress_author ) ) {
728
- include $seopress_author;
729
- exit;
730
- }
731
- }
732
-
733
- return $template;
734
- }
735
  }
736
 
737
  ///////////////////////////////////////////////////////////////////////////////////////////////////
738
  // Remove Admin Bar with Content Analysis
739
  ///////////////////////////////////////////////////////////////////////////////////////////////////
740
  function seopress_remove_admin_bar() {
741
- if (isset($_GET['no_admin_bar']) && $_GET['no_admin_bar'] == 1) {
742
- add_filter('show_admin_bar', '__return_false');
743
- }
744
  }
745
  add_action('plugins_loaded', 'seopress_remove_admin_bar');
746
 
@@ -748,36 +778,261 @@ add_action('plugins_loaded', 'seopress_remove_admin_bar');
748
  // Test abolute URLs (return true if absolute)
749
  ///////////////////////////////////////////////////////////////////////////////////////////////////
750
  function seopress_is_absolute($url) {
751
- $pattern = "%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu";
752
 
753
- return (bool) preg_match($pattern, $url);
754
  }
755
 
756
  ///////////////////////////////////////////////////////////////////////////////////////////////////
757
  // Manage localized links
758
  ///////////////////////////////////////////////////////////////////////////////////////////////////
759
  function seopress_get_locale() {
760
- switch (get_user_locale(get_current_user_id())) {
761
- case "fr_FR":
762
- $locale_link = 'fr';
763
- break;
764
- case "fr_BE":
765
- $locale_link = 'fr';
766
- break;
767
- case "fr_CA":
768
- $locale_link = 'fr';
769
- break;
770
- case "fr_LU":
771
- $locale_link = 'fr';
772
- break;
773
- case "fr_MC":
774
- $locale_link = 'fr';
775
- break;
776
- case "fr_CH":
777
- $locale_link = 'fr';
778
- break;
779
- default:
780
- $locale_link = '';
781
- }
782
- return $locale_link;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
783
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
+ Version: 3.8.2
7
  Author: SEOPress
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
13
 
14
  /* Copyright 2016 - 2020 - Benjamin Denis (email : contact@seopress.org)
15
 
16
+ This program is free software; you can redistribute it and/or modify
17
+ it under the terms of the GNU General Public License, version 2, as
18
+ published by the Free Software Foundation.
19
 
20
+ This program is distributed in the hope that it will be useful,
21
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
22
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23
+ GNU General Public License for more details.
24
 
25
+ You should have received a copy of the GNU General Public License
26
+ along with this program; if not, write to the Free Software
27
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
28
  */
29
 
30
  // To prevent calling the plugin directly
38
  ///////////////////////////////////////////////////////////////////////////////////////////////////
39
  function seopress_activation() {
40
  add_option( 'seopress_activated', 'yes' );
41
+ flush_rewrite_rules();
42
+ do_action('seopress_activation');
43
  }
44
  register_activation_hook(__FILE__, 'seopress_activation');
45
 
46
  function seopress_deactivation() {
47
+ deactivate_plugins('wp-seopress-pro/seopress-pro.php');
48
  delete_option( 'seopress_activated' );
49
+ flush_rewrite_rules();
50
+ do_action('seopress_deactivation');
51
  }
52
  register_deactivation_hook(__FILE__, 'seopress_deactivation');
53
 
54
  ///////////////////////////////////////////////////////////////////////////////////////////////////
55
  //Define
56
  ///////////////////////////////////////////////////////////////////////////////////////////////////
57
+ define( 'SEOPRESS_VERSION', '3.8.2' );
58
  define( 'SEOPRESS_AUTHOR', 'Benjamin Denis' );
59
 
60
  ///////////////////////////////////////////////////////////////////////////////////////////////////
61
  //SEOPRESS INIT = Admin + Core + API + Translation
62
  ///////////////////////////////////////////////////////////////////////////////////////////////////
63
  function seopress_init($hook) {
64
+ load_plugin_textdomain( 'wp-seopress', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
65
+
66
+ global $pagenow;
67
+ global $typenow;
68
+ if ( is_admin() || is_network_admin() ) {
69
+ require_once dirname( __FILE__ ) . '/inc/admin/plugin-upgrader.php';
70
+ require_once dirname( __FILE__ ) . '/inc/admin/admin.php';
71
+
72
+ if ( $pagenow == 'post-new.php' || $pagenow == 'post.php' ) {
73
+ if ( 'seopress_schemas' != $typenow ) {
74
+ require_once dirname( __FILE__ ) . '/inc/admin/admin-metaboxes.php';
75
+ }
76
+ }
77
+ if ( $pagenow =='term.php' || $pagenow =='edit-tags.php') {
78
+ require_once dirname( __FILE__ ) . '/inc/admin/admin-term-metaboxes.php';
79
+ }
80
+ require_once dirname( __FILE__ ) . '/inc/admin/ajax.php';
81
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
82
+ //do not load the SEOPress admin header
83
+ } else {
84
+ require_once dirname( __FILE__ ) . '/inc/admin/admin-header.php';
85
+ }
86
+ }
87
+
88
+ require_once dirname( __FILE__ ) . '/inc/functions/options.php';
89
+
90
+ require_once dirname( __FILE__ ) . '/inc/admin/adminbar.php';
91
+
92
+ remove_action( 'wp_head', 'rel_canonical' ); //remove default WordPress Canonical
93
+
94
+ //Setup/welcome
95
+ if (!empty($_GET['page'])){
96
+ switch ($_GET['page']){
97
+ case 'seopress-setup':
98
+ include_once dirname( __FILE__ ) . '/inc/admin/admin-wizard.php';
99
+ break;
100
+ default :
101
+ break;
102
+ }
103
+ }
 
104
  }
105
  add_action('plugins_loaded', 'seopress_init', 999);
106
 
108
  //Loads dynamic variables for titles, metas, schemas...
109
  ///////////////////////////////////////////////////////////////////////////////////////////////////
110
  function seopress_dyn_variables_init($variables){
111
+ $variables = include dirname( __FILE__ ) . '/inc/functions/variables/dynamic-variables.php';
112
+ return $variables;
113
  }
114
  add_filter('seopress_dyn_variables_fn','seopress_dyn_variables_init');
115
 
117
  //Loads the JS/CSS in admin
118
  ///////////////////////////////////////////////////////////////////////////////////////////////////
119
  //SEOPRESS Options page
120
+ function seopress_add_admin_options_scripts( $hook ) {
121
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
122
+ wp_register_style( 'seopress-admin', plugins_url( 'assets/css/seopress' . $prefix . '.css', __FILE__ ), [], SEOPRESS_VERSION );
123
+ wp_enqueue_style( 'seopress-admin' );
124
+
125
+ if ( ! isset( $_GET['page'] ) ) {
126
+ return;
127
+ }
128
+ if ( 'seopress-network-option' === $_GET['page'] ) {
129
+ wp_enqueue_script( 'seopress-network-tabs', plugins_url( 'assets/js/seopress-network-tabs' . $prefix . '.js', __FILE__ ), [ 'jquery' ], SEOPRESS_VERSION, true );
130
+ }
131
+
132
+ //Toggle / Notices JS
133
+ $_pages = [ 'seopress-option' => true, 'seopress-network-option' => true, 'seopress-titles' => true, 'seopress-xml-sitemap' => true, 'seopress-social' => true, 'seopress-google-analytics' => true, 'seopress-pro-page' => true, 'seopress-advanced' => true ];
134
+ if ( isset( $_pages[ $_GET['page'] ] ) ) {
135
+ wp_enqueue_script( 'seopress-toggle-ajax', plugins_url( 'assets/js/seopress-dashboard' . $prefix . '.js', __FILE__ ), [ 'jquery' ], SEOPRESS_VERSION, true );
136
+
137
+ //Features
138
+ $seopress_toggle_features = [
139
+ 'seopress_nonce' => wp_create_nonce( 'seopress_toggle_features_nonce' ),
140
+ 'seopress_toggle_features' => admin_url( 'admin-ajax.php'),
141
+ 'i18n' => __( 'has been successfully updated!', 'wp-seopress' )
142
+ ];
143
+ wp_localize_script( 'seopress-toggle-ajax', 'seopressAjaxToggleFeatures', $seopress_toggle_features );
144
+ }
145
+ unset( $_pages );
146
+
147
+ if ( 'seopress-option' === $_GET['page'] ) {
148
+ //Notices
149
+ $seopress_hide_notices = [
150
+ 'seopress_nonce' => wp_create_nonce( 'seopress_hide_notices_nonce' ),
151
+ 'seopress_hide_notices' => admin_url( 'admin-ajax.php'),
152
+ ];
153
+ wp_localize_script( 'seopress-toggle-ajax', 'seopressAjaxHideNotices', $seopress_hide_notices );
154
+
155
+ //Admin Tabs
156
+ wp_enqueue_script( 'seopress-reverse-ajax', plugins_url( 'assets/js/seopress-tabs7' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
157
+
158
+ //Reverse domains
159
+ $seopress_request_reverse = [
160
+ 'seopress_nonce' => wp_create_nonce( 'seopress_request_reverse_nonce' ),
161
+ 'seopress_request_reverse' => admin_url( 'admin-ajax.php'),
162
+ ];
163
+ wp_localize_script( 'seopress-reverse-ajax', 'seopressAjaxReverse', $seopress_request_reverse );
164
+
165
+ $seopress_clear_reverse_cache = [
166
+ 'seopress_nonce' => wp_create_nonce( 'seopress_clear_reverse_cache_nonce' ),
167
+ 'seopress_clear_reverse_cache' => admin_url( 'admin-ajax.php'),
168
+ ];
169
+ wp_localize_script( 'seopress-reverse-ajax', 'seopressAjaxClearReverseCache', $seopress_clear_reverse_cache );
170
+ }
171
+
172
+ //Migration
173
+ if ( 'seopress-option' === $_GET['page'] || 'seopress-import-export' === $_GET['page'] ) {
174
+ wp_enqueue_script( 'seopress-migrate-ajax', plugins_url( 'assets/js/seopress-migrate' . $prefix . '.js', __FILE__ ), [ 'jquery' ], SEOPRESS_VERSION, true );
175
+
176
+ $seopress_migrate = [
177
+ 'seopress_aio_migrate' => [
178
+ 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
179
+ 'seopress_aio_migration' => admin_url( 'admin-ajax.php'),
180
+ ],
181
+ 'seopress_yoast_migrate' => [
182
+ 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
183
+ 'seopress_yoast_migration' => admin_url( 'admin-ajax.php'),
184
+ ],
185
+ 'seopress_seo_framework_migrate' => [
186
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
187
+ 'seopress_seo_framework_migration' => admin_url( 'admin-ajax.php'),
188
+ ],
189
+ 'seopress_rk_migrate' => [
190
+ 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
191
+ 'seopress_rk_migration' => admin_url( 'admin-ajax.php'),
192
+ ],
193
+ 'seopress_squirrly_migrate' => [
194
+ 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
195
+ 'seopress_squirrly_migration' => admin_url( 'admin-ajax.php'),
196
+ ],
197
+ 'seopress_seo_ultimate_migrate' => [
198
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
199
+ 'seopress_seo_ultimate_migration' => admin_url( 'admin-ajax.php'),
200
+ ],
201
+ 'seopress_wp_meta_seo_migrate' => [
202
+ 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
203
+ 'seopress_wp_meta_seo_migration' => admin_url( 'admin-ajax.php'),
204
+ ],
205
+ 'seopress_metadata_csv' => [
206
+ 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
207
+ 'seopress_metadata_export' => admin_url( 'admin-ajax.php'),
208
+ ],
209
+ 'i18n' => [
210
+ 'migration' => __( 'Migration completed!', 'wp-seopress' ),
211
+ 'export' =>__( 'Export completed!', 'wp-seopress' ),
212
+ ]
213
+ ];
214
+ wp_localize_script( 'seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate );
215
+ }
216
+
217
+ //Tabs
218
+ if ( 'seopress-titles' === $_GET['page'] ) {
219
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
220
+ }
221
+
222
+ if ( 'seopress-xml-sitemap' === $_GET['page'] ) {
223
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs4' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
224
+ }
225
+
226
+ if ( 'seopress-xml-sitemap' === $_GET['page'] || 'seopress-pro-page' === $_GET['page'] || 'seopress-network-option' === $_GET['page'] ) {
227
+ wp_enqueue_script( 'seopress-xml-ajax', plugins_url( 'assets/js/seopress-sitemap-ajax' . $prefix . '.js', __FILE__ ), [ 'jquery' ], SEOPRESS_VERSION, true );
228
+
229
+ $seopress_ajax_permalinks = [
230
+ 'seopress_nonce' => wp_create_nonce('seopress_flush_permalinks_nonce'),
231
+ 'seopress_flush_permalinks' => admin_url('options-permalink.php'),
232
+ ];
233
+ wp_localize_script( 'seopress-xml-ajax', 'seopressAjaxResetPermalinks', $seopress_ajax_permalinks );
234
+
235
+ }
236
+
237
+ if ( 'seopress-google-analytics' === $_GET['page'] ) {
238
+ wp_enqueue_style( 'wp-color-picker' );
239
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs6' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs', 'wp-color-picker' ], SEOPRESS_VERSION );
240
+ }
241
+
242
+ if ( 'seopress-advanced' === $_GET['page'] ) {
243
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs5' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
244
+ }
245
+
246
+ if ( 'seopress-import-export' === $_GET['page'] ) {
247
+ wp_enqueue_script( 'seopress-admin-tabs-js', plugins_url( 'assets/js/seopress-tabs8' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
248
+ }
249
+
250
+ if ( 'seopress-social' === $_GET['page'] ) {
251
+ wp_enqueue_script( 'seopress-social-tabs-js', plugins_url( 'assets/js/seopress-tabs3' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
252
+ wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2' . $prefix . '.js', __FILE__ ), [ 'jquery-ui-tabs' ], SEOPRESS_VERSION );
253
+ wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader' . $prefix . '.js', __FILE__), [ 'jquery' ], SEOPRESS_VERSION, false );
254
+ wp_enqueue_media();
255
+ }
256
+
257
+ //CSV Importer
258
+ if ( 'seopress_csv_importer' === $_GET['page'] ) {
259
+ wp_enqueue_style( 'seopress-setup', plugins_url( 'assets/css/seopress-setup' . $prefix . '.css', __FILE__), [ 'dashicons' ], SEOPRESS_VERSION );
260
+ }
261
  }
262
 
263
  add_action('admin_enqueue_scripts', 'seopress_add_admin_options_scripts', 10, 1);
264
 
265
  //SEOPRESS Admin bar
266
  function seopress_admin_bar_css() {
267
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
268
+ if ( is_user_logged_in() && function_exists( 'seopress_advanced_appearance_adminbar_option' ) && seopress_advanced_appearance_adminbar_option() != '1' ) {
269
+ wp_register_style( 'seopress-admin-bar', plugins_url( 'assets/css/seopress-admin-bar' . $prefix . '.css', __FILE__), [], SEOPRESS_VERSION );
270
+ wp_enqueue_style( 'seopress-admin-bar' );
271
+ }
272
  }
 
273
  add_action('init', 'seopress_admin_bar_css', 10, 1);
274
 
275
  //Quick Edit
276
  function seopress_add_admin_options_scripts_quick_edit() {
277
+ $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
278
+ wp_enqueue_script( 'seopress-quick-edit', plugins_url('assets/js/seopress-quick-edit' . $prefix . '.js', __FILE__), [ 'jquery', 'inline-edit-post' ], SEOPRESS_VERSION, true );
279
  }
280
  add_action( 'admin_print_scripts-edit.php', 'seopress_add_admin_options_scripts_quick_edit' );
281
 
284
  ///////////////////////////////////////////////////////////////////////////////////////////////////
285
  add_filter( 'admin_body_class', 'seopress_admin_body_class' );
286
  function seopress_admin_body_class( $classes ) {
287
+ if ( ! isset($_GET['page'] ) ) {
288
+ return $classes;
289
+ }
290
+ $_pages = [
291
+ 'seopress_csv_importer' => true,
292
+ 'seopress-option' => true,
293
+ 'seopress-network-option' => true,
294
+ 'seopress-titles' => true,
295
+ 'seopress-xml-sitemap' => true,
296
+ 'seopress-social' => true,
297
+ 'seopress-google-analytics' => true,
298
+ 'seopress-advanced' => true,
299
+ 'seopress-import-export' => true,
300
+ 'seopress-pro-page' => true,
301
+ 'seopress-bot-batch' => true,
302
+ 'seopress-license' => true
303
+ ];
304
+ if ( isset( $_pages[ $_GET['page'] ] ) ) {
305
+ $classes .= " seopress-styles ";
306
+ }
307
+ return $classes;
308
  }
309
 
310
  ///////////////////////////////////////////////////////////////////////////////////////////////////
312
  ///////////////////////////////////////////////////////////////////////////////////////////////////
313
  //Jetpack
314
  function seopress_compatibility_jetpack() {
315
+ if ( function_exists('is_plugin_active')) {
316
+ if (is_plugin_active( 'jetpack/jetpack.php' ) && !is_admin()) {
317
+ add_filter( 'jetpack_enable_open_graph', '__return_false' );
318
+ }
319
+ }
320
  }
321
  add_action( 'wp_head', 'seopress_compatibility_jetpack', 0 );
322
 
326
  * @since 3.8.1
327
  */
328
  function seopress_compatibility_woocommerce() {
329
+ if ( function_exists('is_plugin_active')) {
330
+ if (is_plugin_active( 'woocommerce/woocommerce.php' ) && !is_admin()) {
331
+ remove_action( 'wp_head', 'wc_page_noindex' );
332
+ }
333
+ }
334
  }
335
  add_action( 'wp_head', 'seopress_compatibility_woocommerce', 0 );
336
 
338
  //Credits footer
339
  ///////////////////////////////////////////////////////////////////////////////////////////////////
340
  function seopress_custom_credits_footer() {
341
+ return '<span id="seopress-footer-credits">
342
+ <span class="dashicons dashicons-wordpress"></span>
343
+ '.__( "You like SEOPress? Don't forget to rate it 5 stars!", "wp-seopress" ).'
344
+
345
+ <span class="wporg-ratings rating-stars">
346
+ <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=1#postform" data-rating="1" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
347
+ <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=2#postform" data-rating="2" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
348
+ <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=3#postform" data-rating="3" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
349
+ <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=4#postform" data-rating="4" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
350
+ <a href="//wordpress.org/support/view/plugin-reviews/wp-seopress?rate=5#postform" data-rating="5" title="" target="_blank"><span class="dashicons dashicons-star-filled" style="color:#FFDE24 !important;"></span></a>
351
+ </span>
352
+ <script>
353
+ jQuery(document).ready( function($) {
354
+ $(".rating-stars").find("a").hover(
355
+ function() {
356
+ $(this).nextAll("a").children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
357
+ $(this).prevAll("a").children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
358
+ $(this).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
359
+ }, function() {
360
+ var rating = $("input#rating").val();
361
+ if (rating) {
362
+ var list = $(".rating-stars a");
363
+ list.children("span").removeClass("dashicons-star-filled").addClass("dashicons-star-empty");
364
+ list.slice(0, rating).children("span").removeClass("dashicons-star-empty").addClass("dashicons-star-filled");
365
+ }
366
+ }
367
+ );
368
+ });
369
+ </script>
370
+ </span>';
371
+ }
372
+ if ((isset($_GET['page']) && (
373
+ $_GET['page'] == 'seopress-option'
374
+ || $_GET['page'] == 'seopress-network-option'
375
+ || $_GET['page'] == 'seopress-titles'
376
+ || $_GET['page'] == 'seopress-xml-sitemap'
377
+ || $_GET['page'] == 'seopress-social'
378
+ || $_GET['page'] == 'seopress-google-analytics'
379
+ || $_GET['page'] == 'seopress-advanced'
380
+ || $_GET['page'] == 'seopress-pro-page'
381
+ || $_GET['page'] == 'seopress-import-export'
382
+ || $_GET['page'] == 'seopress-bot-batch'
383
+ || $_GET['page'] == 'seopress-license'))
384
+ || (isset($_GET['post_type']) && (
385
+ $_GET['post_type'] == 'seopress_404'
386
+ || $_GET['post_type'] == 'seopress_schemas'
387
+ || $_GET['post_type'] == 'seopress_bot'
388
+ || $_GET['post_type'] == 'seopress_backlinks'))) {
389
+ add_filter('admin_footer_text', 'seopress_custom_credits_footer');
390
  }
391
 
392
  ///////////////////////////////////////////////////////////////////////////////////////////////////
395
  add_filter('plugin_action_links', 'seopress_plugin_action_links', 10, 2);
396
 
397
  function seopress_plugin_action_links($links, $file) {
398
+ static $this_plugin;
399
+
400
+ if (!$this_plugin) {
401
+ $this_plugin = plugin_basename(__FILE__);
402
+ }
403
+
404
+ if ($file == $this_plugin) {
405
+ $settings_link = '<a href="' . admin_url( 'admin.php?page=seopress-option') . '">'.__("Settings","wp-seopress").'</a>';
406
+ $website_link = '<a href="https://www.seopress.org/support/" target="_blank">'.__("Docs","wp-seopress").'</a>';
407
+ $wizard_link = '<a href="'.admin_url('admin.php?page=seopress-setup').'">'.__("Configuration Wizard","wp-seopress").'</a>';
408
+ if ( !is_plugin_active( 'wp-seopress-pro/seopress-pro.php' )) {
409
+ $pro_link = '<a href="https://www.seopress.org/seopress-pro/" style="color:#a00;font-weight:bold" target="_blank">'.__("GO PRO!","wp-seopress").'</a>';
410
+ array_unshift($links, $pro_link);
411
+ }
412
+ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' )) {
413
+ if ( array_key_exists( 'deactivate', $links ) && in_array( $file, array(
414
+ 'wp-seopress/seopress.php'
415
+ )));
416
+ unset( $links['deactivate'] );
417
+ }
418
+ array_unshift($links, $settings_link, $wizard_link, $website_link);
419
+ }
420
+
421
+ return $links;
422
  }
423
 
424
  ///////////////////////////////////////////////////////////////////////////////////////////////////
425
  //Get all registered post types
426
  ///////////////////////////////////////////////////////////////////////////////////////////////////
427
  function seopress_get_post_types() {
428
+ global $wp_post_types;
429
 
430
+ $args = array(
431
+ 'show_ui' => true,
432
+ 'public' => true,
433
+ );
434
 
435
+ $output = 'objects'; // names or objects, note names is the default
436
+ $operator = 'and'; // 'and' or 'or'
437
 
438
+ $post_types = get_post_types( $args, $output, $operator );
439
+ unset($post_types['attachment'], $post_types['seopress_404'], $post_types['elementor_library']);
440
+ $post_types = apply_filters('seopress_post_types', $post_types);
441
+ return $post_types;
442
  }
443
 
444
+ /**
445
+ * Get all registered custom taxonomies
446
+ *
447
+ * @author Benjamin Denis
448
+ *
449
+ * @param (bool) $with_terms
450
+ * @return (array) $taxonomies
451
+ **/
452
+ function seopress_get_taxonomies( $with_terms = false ) {
453
+ $args = [
454
+ 'show_ui' => true,
455
+ 'public' => true,
456
+ ];
457
+ $output = 'objects'; // or objects
458
+ $operator = 'and'; // 'and' or 'or'
459
+ $taxonomies = get_taxonomies( $args, $output, $operator );
460
+
461
+ if ( ! $with_terms ) {
462
+ return $taxonomies;
463
+ }
464
+
465
+ foreach ( $taxonomies as $_tax_slug => &$_tax ) {
466
+ $_tax->terms = get_terms( [ 'taxonomy' => $_tax_slug ] );
467
+ }
468
+ return $taxonomies;
469
  }
470
 
471
  ///////////////////////////////////////////////////////////////////////////////////////////////////
472
  //Get all custom fields (limit: 250)
473
  ///////////////////////////////////////////////////////////////////////////////////////////////////
474
  function seopress_get_custom_fields() {
475
+ $cf_keys = wp_cache_get( 'seopress_get_custom_fields' );
476
+
477
+ if ( false === $cf_keys ) {
478
+ global $wpdb;
479
+
480
+ $limit = (int) apply_filters( 'postmeta_form_limit', 250 );
481
+ $cf_keys = $wpdb->get_col( $wpdb->prepare( "
482
+ SELECT meta_key
483
+ FROM $wpdb->postmeta
484
+ GROUP BY meta_key
485
+ HAVING meta_key NOT LIKE '\_%%'
486
+ ORDER BY meta_key
487
+ LIMIT %d", $limit ) );
488
+
489
+ $cf_keys = apply_filters( 'seopress_get_custom_fields', $cf_keys );
490
+
491
+ if ( $cf_keys ) {
492
+ natcasesort( $cf_keys );
493
+ };
494
+ wp_cache_set( 'seopress_get_custom_fields', $cf_keys );
495
+ }
496
+ return $cf_keys;
497
  }
498
 
499
  ///////////////////////////////////////////////////////////////////////////////////////////////////
500
  //Check SSL for schema.org
501
  ///////////////////////////////////////////////////////////////////////////////////////////////////
502
  function seopress_check_ssl() {
503
+ if (is_ssl()) {
504
+ return 'https://';
505
+ } else {
506
+ return 'http://';
507
+ }
508
  }
509
 
510
  ///////////////////////////////////////////////////////////////////////////////////////////////////
511
  // Check if a feature is ON
512
  ///////////////////////////////////////////////////////////////////////////////////////////////////
513
+ /**
514
  * Global check
515
  * @since 3.8
516
  * @param string $feature
518
  * @author Benjamin
519
  */
520
  function seopress_get_toggle_option($feature) {
521
+ $seopress_get_toggle_option = get_option("seopress_toggle");
522
+ if ( ! empty ( $seopress_get_toggle_option ) ) {
523
+ foreach ($seopress_get_toggle_option as $key => $seopress_get_toggle_value) {
524
+ $options[$key] = $seopress_get_toggle_value;
525
+ if (isset($seopress_get_toggle_option['toggle-'.$feature])) {
526
+ return $seopress_get_toggle_option['toggle-'.$feature];
527
+ }
528
+ }
529
+ }
530
  }
531
 
532
  // Is Titles enable?
533
  //@deprecated since version 3.8
534
  function seopress_get_toggle_titles_option() {
535
+ $seopress_get_toggle_titles_option = get_option("seopress_toggle");
536
+ if ( ! empty ( $seopress_get_toggle_titles_option ) ) {
537
+ foreach ($seopress_get_toggle_titles_option as $key => $seopress_get_toggle_titles_value)
538
+ $options[$key] = $seopress_get_toggle_titles_value;
539
+ if (isset($seopress_get_toggle_titles_option['toggle-titles'])) {
540
+ return $seopress_get_toggle_titles_option['toggle-titles'];
541
+ }
542
+ }
543
  }
544
  // Is Social enable?
545
  //@deprecated since version 3.8
546
  function seopress_get_toggle_social_option() {
547
+ $seopress_get_toggle_social_option = get_option("seopress_toggle");
548
+ if ( ! empty ( $seopress_get_toggle_social_option ) ) {
549
+ foreach ($seopress_get_toggle_social_option as $key => $seopress_get_toggle_social_value)
550
+ $options[$key] = $seopress_get_toggle_social_value;
551
+ if (isset($seopress_get_toggle_social_option['toggle-social'])) {
552
+ return $seopress_get_toggle_social_option['toggle-social'];
553
+ }
554
+ }
555
  }
556
  // Is XML Sitemap enable?
557
  //@deprecated since version 3.8
558
  function seopress_get_toggle_xml_sitemap_option() {
559
+ $seopress_get_toggle_xml_sitemap_option = get_option("seopress_toggle");
560
+ if ( ! empty ( $seopress_get_toggle_xml_sitemap_option ) ) {
561
+ foreach ($seopress_get_toggle_xml_sitemap_option as $key => $seopress_get_toggle_xml_sitemap_value)
562
+ $options[$key] = $seopress_get_toggle_xml_sitemap_value;
563
+ if (isset($seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'])) {
564
+ return $seopress_get_toggle_xml_sitemap_option['toggle-xml-sitemap'];
565
+ }
566
+ }
567
  }
568
  // Is Google Analytics enable?
569
  //@deprecated since version 3.8
570
  function seopress_get_toggle_google_analytics_option() {
571
+ $seopress_get_toggle_google_analytics_option = get_option("seopress_toggle");
572
+ if ( ! empty ( $seopress_get_toggle_google_analytics_option ) ) {
573
+ foreach ($seopress_get_toggle_google_analytics_option as $key => $seopress_get_toggle_google_analytics_value)
574
+ $options[$key] = $seopress_get_toggle_google_analytics_value;
575
+ if (isset($seopress_get_toggle_google_analytics_option['toggle-google-analytics'])) {
576
+ return $seopress_get_toggle_google_analytics_option['toggle-google-analytics'];
577
+ }
578
+ }
579
  }
580
  // Is Advanced enable?
581
  //@deprecated since version 3.8
582
  function seopress_get_toggle_advanced_option() {
583
+ $seopress_get_toggle_advanced_option = get_option("seopress_toggle");
584
+ if ( ! empty ( $seopress_get_toggle_advanced_option ) ) {
585
+ foreach ($seopress_get_toggle_advanced_option as $key => $seopress_get_toggle_advanced_value)
586
+ $options[$key] = $seopress_get_toggle_advanced_value;
587
+ if (isset($seopress_get_toggle_advanced_option['toggle-advanced'])) {
588
+ return $seopress_get_toggle_advanced_option['toggle-advanced'];
589
+ }
590
+ }
591
  }
592
 
593
  ///////////////////////////////////////////////////////////////////////////////////////////////////
594
  //Enable XML Sitemap
595
  ///////////////////////////////////////////////////////////////////////////////////////////////////
596
  function seopress_xml_sitemap_general_enable_option() {
597
+ $seopress_xml_sitemap_general_enable_option = get_option("seopress_xml_sitemap_option_name");
598
+ if ( ! empty ( $seopress_xml_sitemap_general_enable_option ) ) {
599
+ foreach ($seopress_xml_sitemap_general_enable_option as $key => $seopress_xml_sitemap_general_enable_value)
600
+ $options[$key] = $seopress_xml_sitemap_general_enable_value;
601
+ if (isset($seopress_xml_sitemap_general_enable_option['seopress_xml_sitemap_general_enable'])) {
602
+ return $seopress_xml_sitemap_general_enable_option['seopress_xml_sitemap_general_enable'];
603
+ }
604
+ }
605
  }
606
 
607
  function seopress_xml_sitemap_post_types_list_option() {
608
+ $seopress_xml_sitemap_post_types_list_option = get_option("seopress_xml_sitemap_option_name");
609
+ if ( ! empty ( $seopress_xml_sitemap_post_types_list_option ) ) {
610
+ foreach ($seopress_xml_sitemap_post_types_list_option as $key => $seopress_xml_sitemap_post_types_list_value)
611
+ $options[$key] = $seopress_xml_sitemap_post_types_list_value;
612
+ if (isset($seopress_xml_sitemap_post_types_list_option['seopress_xml_sitemap_post_types_list'])) {
613
+ return $seopress_xml_sitemap_post_types_list_option['seopress_xml_sitemap_post_types_list'];
614
+ }
615
+ }
616
  }
617
 
618
  function seopress_xml_sitemap_taxonomies_list_option() {
619
+ $seopress_xml_sitemap_taxonomies_list_option = get_option("seopress_xml_sitemap_option_name");
620
+ if ( ! empty ( $seopress_xml_sitemap_taxonomies_list_option ) ) {
621
+ foreach ($seopress_xml_sitemap_taxonomies_list_option as $key => $seopress_xml_sitemap_taxonomies_list_value)
622
+ $options[$key] = $seopress_xml_sitemap_taxonomies_list_value;
623
+ if (isset($seopress_xml_sitemap_taxonomies_list_option['seopress_xml_sitemap_taxonomies_list'])) {
624
+ return $seopress_xml_sitemap_taxonomies_list_option['seopress_xml_sitemap_taxonomies_list'];
625
+ }
626
+ }
627
  }
628
 
629
  function seopress_xml_sitemap_author_enable_option() {
630
+ $seopress_xml_sitemap_author_enable_option = get_option("seopress_xml_sitemap_option_name");
631
+ if ( ! empty ( $seopress_xml_sitemap_author_enable_option ) ) {
632
+ foreach ($seopress_xml_sitemap_author_enable_option as $key => $seopress_xml_sitemap_author_enable_value)
633
+ $options[$key] = $seopress_xml_sitemap_author_enable_value;
634
+ if (isset($seopress_xml_sitemap_author_enable_option['seopress_xml_sitemap_author_enable'])) {
635
+ return $seopress_xml_sitemap_author_enable_option['seopress_xml_sitemap_author_enable'];
636
+ }
637
+ }
638
  }
639
 
640
  //Rewrite Rules for XML Sitemap
641
  if (seopress_xml_sitemap_general_enable_option() =='1' && seopress_get_toggle_option('xml-sitemap') =='1') {
642
+ add_action( 'init', 'seopress_xml_sitemap_rewrite' );
643
+ add_action( 'query_vars', 'seopress_xml_sitemap_query_vars' );
644
+ add_action( 'template_redirect', 'seopress_xml_sitemap_change_template', 1 );
645
+ add_action( 'template_redirect', 'seopress_xml_sitemap_shortcut', 1);
646
+
647
+ function seopress_sitemaps_headers() {
648
+ $headers = array('Content-type' => 'text/xml', 'x-robots-tag' => 'noindex, follow');
649
+ $headers = apply_filters( 'seopress_sitemaps_headers', $headers );
650
+ if (!empty($headers)) {
651
+ foreach($headers as $key => $header) {
652
+ Header($key.':'.$header);
653
+ }
654
+ }
655
+ }
656
+
657
+ //WPML compatibility
658
+ if ( defined( 'ICL_SITEPRESS_VERSION' ) ) {
659
+ add_filter( 'request', 'seopress_wpml_block_secondary_languages' );
660
+ }
661
+ function seopress_wpml_block_secondary_languages( $q ) {
662
+ $current_language = apply_filters( 'wpml_current_language', false );
663
+ $default_language = apply_filters( 'wpml_default_language', false );
664
+ if ( $current_language !== $default_language ) {
665
+ unset( $q['seopress_sitemap'] );
666
+ unset( $q['seopress_cpt'] );
667
+ unset( $q['seopress_paged'] );
668
+ unset( $q['seopress_author'] );
669
+ unset( $q['seopress_sitemap_xsl'] );
670
+ }
671
+ return $q;
672
+ }
673
+
674
+ function seopress_xml_sitemap_shortcut() {
675
+ //Redirect sitemap.xml to sitemaps.xml
676
+ $get_current_url = get_home_url().$_SERVER['REQUEST_URI'];
677
+ if (in_array($get_current_url,array(get_home_url().'/sitemap.xml/',get_home_url().'/sitemap.xml'))) {
678
+ wp_safe_redirect(get_home_url().'/sitemaps.xml', 301);
679
+ exit();
680
+ }
681
+ }
682
+
683
+ function seopress_xml_sitemap_rewrite() {
684
+ //XML Index
685
+ add_rewrite_rule( '^sitemaps.xml$', 'index.php?seopress_sitemap=1', 'top' );
686
+
687
+ //XSL Sitemap
688
+ add_rewrite_rule( '^sitemaps_xsl.xsl$', 'index.php?seopress_sitemap_xsl=1', 'top' );
689
+
690
+ //CPT / Taxonomies
691
+ $urls = array();
692
+
693
+ /*CPT*/
694
+ if (seopress_xml_sitemap_post_types_list_option() !='') {
695
+ foreach (seopress_xml_sitemap_post_types_list_option() as $cpt_key => $cpt_value) {
696
+ foreach ($cpt_value as $_cpt_key => $_cpt_value) {
697
+ if($_cpt_value =='1') {
698
+ $urls[] = $cpt_key;
699
+ }
700
+ }
701
+ }
702
+ }
703
+
704
+ /*Taxonomies*/
705
+ if (seopress_xml_sitemap_taxonomies_list_option() !='') {
706
+ foreach (seopress_xml_sitemap_taxonomies_list_option() as $tax_key => $tax_value) {
707
+ foreach ($tax_value as $_tax_key => $_tax_value) {
708
+ if($_tax_value =='1') {
709
+ $urls[] = $tax_key;
710
+ }
711
+ }
712
+ }
713
+ }
714
+
715
+ /*Urls*/
716
+ if (!empty($urls)) {
717
+ $matches[2] = '';
718
+ foreach ($urls as $key => $value) {
719
+ add_rewrite_rule( 'sitemaps/'.$value.'-sitemap([0-9]+)?.xml$', 'index.php?seopress_cpt='.$value.'&seopress_paged='.$matches[2], 'top' );
720
+ }
721
+ }
722
+
723
+ //XML Author
724
+ if (seopress_xml_sitemap_author_enable_option() == 1) {
725
+ add_rewrite_rule( 'sitemaps/author.xml?$', 'index.php?seopress_author=1', 'top' );
726
+ }
727
+ }
728
+
729
+
730
+ function seopress_xml_sitemap_query_vars($vars) {
731
+ $vars[] = 'seopress_sitemap';
732
+ $vars[] = 'seopress_sitemap_xsl';
733
+ $vars[] = 'seopress_cpt';
734
+ $vars[] = 'seopress_paged';
735
+ $vars[] = 'seopress_author';
736
+ return $vars;
737
+ }
738
+
739
+ function seopress_xml_sitemap_change_template( $template ) {
740
+ if( get_query_var( 'seopress_sitemap' ) === '1' ) {
741
+ $seopress_sitemap_file = 'template-xml-sitemaps.php';
742
+ } elseif( get_query_var( 'seopress_sitemap_xsl' ) === '1' ) {
743
+ $seopress_sitemap_file = 'template-xml-sitemaps-xsl.php';
744
+ } elseif( get_query_var( 'seopress_author' ) === '1' ) {
745
+ $seopress_sitemap_file = 'template-xml-sitemaps-author.php';
746
+ } elseif (get_query_var( 'seopress_cpt') !== '' ) {
747
+ if (function_exists('seopress_xml_sitemap_post_types_list_option')
748
+ && seopress_xml_sitemap_post_types_list_option() !=''
749
+ && array_key_exists(get_query_var('seopress_cpt'),seopress_xml_sitemap_post_types_list_option())) {
750
+ $seopress_sitemap_file = 'template-xml-sitemaps-single.php';
751
+ } elseif (function_exists('seopress_xml_sitemap_taxonomies_list_option')
752
+ && seopress_xml_sitemap_taxonomies_list_option() !=''
753
+ && array_key_exists(get_query_var('seopress_cpt'),seopress_xml_sitemap_taxonomies_list_option())) {
754
+ $seopress_sitemap_file = 'template-xml-sitemaps-single-term.php';
755
+ }
756
+ }
757
+ if ( isset( $seopress_sitemap_file ) && file_exists( plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/' . $seopress_sitemap_file ) ) {
758
+ wp_ob_end_flush_all();
759
+ include( plugin_dir_path( __FILE__ ) . 'inc/functions/sitemap/' . $seopress_sitemap_file );
760
+ exit();
761
+ }
762
+
763
+ return $template;
764
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
765
  }
766
 
767
  ///////////////////////////////////////////////////////////////////////////////////////////////////
768
  // Remove Admin Bar with Content Analysis
769
  ///////////////////////////////////////////////////////////////////////////////////////////////////
770
  function seopress_remove_admin_bar() {
771
+ if ( isset($_GET['no_admin_bar'] ) && '1' === $_GET['no_admin_bar'] ) {
772
+ add_filter( 'show_admin_bar', '__return_false' );
773
+ }
774
  }
775
  add_action('plugins_loaded', 'seopress_remove_admin_bar');
776
 
778
  // Test abolute URLs (return true if absolute)
779
  ///////////////////////////////////////////////////////////////////////////////////////////////////
780
  function seopress_is_absolute($url) {
781
+ $pattern = "%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)(?:\.(?:[a-z\d\x{00a1}-\x{ffff}]+-?)*[a-z\d\x{00a1}-\x{ffff}]+)*(?:\.[a-z\x{00a1}-\x{ffff}]{2,6}))(?::\d+)?(?:[^\s]*)?$%iu";
782
 
783
+ return (bool) preg_match( $pattern, $url );
784
  }
785
 
786
  ///////////////////////////////////////////////////////////////////////////////////////////////////
787
  // Manage localized links
788
  ///////////////////////////////////////////////////////////////////////////////////////////////////
789
  function seopress_get_locale() {
790
+ switch ( get_user_locale( get_current_user_id() ) ) {
791
+ case "fr_FR":
792
+ case "fr_BE":
793
+ case "fr_CA":
794
+ case "fr_LU":
795
+ case "fr_MC":
796
+ case "fr_CH":
797
+ $locale_link = 'fr';
798
+ break;
799
+ default:
800
+ $locale_link = '';
801
+ break;
802
+ }
803
+ return $locale_link;
804
+ }
805
+
806
+ /**
807
+ * Generate Tooltip
808
+ * @since 3.8.2
809
+ * @param string $tooltip_title, $tooltip_desc, $tooltip_code
810
+ * @return string tooltip title, tooltip description, tooltip url
811
+ * @author Benjamin
812
+ */
813
+ function seopress_tooltip($tooltip_title, $tooltip_desc, $tooltip_code) {
814
+ $html =
815
+ '<span class="sp-tooltip"><span class="dashicons dashicons-editor-help"></span>
816
+ <span class="sp-tooltiptext">
817
+ <span class="sp-tooltip-headings">'.$tooltip_title.'</span>
818
+ <span class="sp-tooltip-desc">'.$tooltip_desc.'</span>
819
+ <span class="sp-tooltip-code">'.$tooltip_code.'</span>
820
+ </span>';
821
+
822
+ return $html;
823
+ }
824
+
825
+ /**
826
+ * Remove BOM
827
+ * @since 3.8.2
828
+ * @param mixed $text
829
+ * @return mixed $text
830
+ * @author Benjamin
831
+ */
832
+ function seopress_remove_utf8_bom($text) {
833
+ $bom = pack('H*','EFBBBF');
834
+ $text = preg_replace("/^$bom/", '', $text);
835
+ return $text;
836
+ }
837
+
838
+ /**
839
+ * Generate notification (Notifications Center)
840
+ * @since 3.8.2
841
+ * @param array $args
842
+ * @return string HTML notification
843
+ * @author Benjamin
844
+ */
845
+ function seopress_notification($args) {
846
+
847
+ if (!empty($args)) {
848
+ $id = isset( $args['id'] ) ? $args['id'] : NULL;
849
+ $title = isset( $args['title'] ) ? $args['title'] : NULL;
850
+ $desc = isset( $args['desc'] ) ? $args['desc'] : NULL;
851
+ $impact = isset( $args['impact'] ) ? $args['impact'] : [];
852
+ $link = isset( $args['link'] ) ? $args['link'] : NULL;
853
+ $deleteable = isset( $args['deleteable'] ) ? $args['deleteable'] : NULL;
854
+ $icon = isset( $args['icon'] ) ? $args['icon'] : NULL;
855
+
856
+ $class = '';
857
+ if (!empty($impact)) {
858
+ $class .= ' impact';
859
+ $class .= ' '.key($impact);
860
+ }
861
+
862
+ if ($deleteable === true) {
863
+ $class .= ' deleteable';
864
+ }
865
+
866
+ $html = '<div id="'.$id.'-alert" class="seopress-alert">';
867
+
868
+ if (!empty($impact)) {
869
+ $html .= '<span class="screen-reader-text">'.reset($impact).'</span>';
870
+ }
871
+
872
+ if (!empty($icon)) {
873
+ $html .= '<span class="dashicons '.$icon.'"></span>';
874
+ } else {
875
+ $html .= '<span class="dashicons dashicons-info"></span>';
876
+ }
877
+
878
+ $html .= '<div class="notice-left">
879
+ <p>'.$title.'</p>
880
+ <p>'.$desc.'</p>
881
+ ';
882
+
883
+ $href = '';
884
+ if (function_exists('seopress_get_locale')) {
885
+ if (seopress_get_locale() =='fr' && isset($link['fr'])) {
886
+ $href = ' href="'.$link['fr'].'"';
887
+ } else {
888
+ $href = ' href="'.$link['en'].'"';
889
+ }
890
+ }
891
+
892
+ $target = '';
893
+ if (isset($link['external']) && $link['external'] === true) {
894
+ $target = ' target="_blank"';
895
+ }
896
+
897
+ if (!empty($link) || $deleteable === true) {
898
+ $html .= '<div class="notice-right">';
899
+
900
+ if (!empty($link)) {
901
+ $html .= '<a class="button-primary"'.$href.$target.'>'.$link['title'].'</a>';
902
+ }
903
+ if ($deleteable === true) {
904
+ $html .= '<span name="notice-title-tag" id="'.$id.'" class="dashicons dashicons-no-alt remove-notice" data-notice="'.$id.'"></span>';
905
+ }
906
+
907
+ $html .= '</div>';
908
+ }
909
+ $html .= '</div></div>';
910
+ echo $html;
911
+ }
912
  }
913
+ /**
914
+ * Filter the capability to allow other roles to use the plugin
915
+ *
916
+ * @since 3.8.2
917
+ * @author Julio Potier
918
+ *
919
+ * @param (string) $cap
920
+ * @param (string) $context
921
+ * @return (string)
922
+ **/
923
+ function seopress_capability( $cap, $context = '' ) {
924
+ /**
925
+ * Filter the capability to allow other roles to use the plugin
926
+ *
927
+ * @since 3.8.2
928
+ * @author Julio Potier
929
+ *
930
+ * @param (string) $cap
931
+ * @param (string) $context
932
+ * @return (string)
933
+ **/
934
+ $newcap = apply_filters( 'seopress_capability', $cap, $context );
935
+ if ( ! current_user_can( $newcap ) ) {
936
+ return $cap;
937
+ }
938
+ return $newcap;
939
+ }
940
+
941
+ /**
942
+ * Check if the page is one of ours.
943
+ *
944
+ * @since 3.8.2
945
+ * @author Julio Potier
946
+ *
947
+ * @return (bool)
948
+ **/
949
+ function is_seopress_page() {
950
+ if ( ! is_admin() || ! isset( $_REQUEST['page'] ) ) {
951
+ return false;
952
+ }
953
+ return 0 === strpos( $_REQUEST['page'], 'seopress' );
954
+ }
955
+
956
+ /**
957
+ * Only add our notices on our pages
958
+ *
959
+ * @since 3.8.2
960
+ * @author Julio Potier
961
+ *
962
+ * @return (bool)
963
+ **/
964
+ add_action( 'in_admin_header', 'seopress_remove_other_notices' );
965
+ function seopress_remove_other_notices() {
966
+ if ( is_seopress_page() ) {
967
+ remove_all_actions( 'network_admin_notices' );
968
+ remove_all_actions( 'admin_notices' );
969
+ remove_all_actions( 'user_admin_notices' );
970
+ remove_all_actions( 'all_admin_notices' );
971
+ add_action( 'admin_notices', 'seopress_admin_notices' );
972
+ }
973
+ }
974
+
975
+ /**
976
+ * We replace the WP action by ours
977
+ *
978
+ * @since 3.8.2
979
+ * @author Julio Potier
980
+ *
981
+ * @return (bool)
982
+ **/
983
+ function seopress_admin_notices() {
984
+ do_action( 'seopress_admin_notices' );
985
+ }
986
+
987
+ /**
988
+ * Return the 7 days in correct order
989
+ *
990
+ * @since 3.8.2
991
+ * @author Julio Potier
992
+ *
993
+ * @return (bool)
994
+ **/
995
+ function seopress_get_days() {
996
+ $start_of_week = (int) get_option( 'start_of_week' );
997
+ return array_map(
998
+ function() use ( $start_of_week ) {
999
+ static $start_of_week;
1000
+ return ucfirst( date_i18n( 'l', strtotime( $start_of_week++ - date( 'w', 0 ) . ' day', 0 ) ) );
1001
+ },
1002
+ array_combine(
1003
+ array_merge(
1004
+ array_slice( range( 0, 6 ), $start_of_week, 7 ),
1005
+ array_slice( range( 0, 6 ), 0, $start_of_week )
1006
+ ),
1007
+ range( 0, 6 )
1008
+ )
1009
+ );
1010
+ }
1011
+
1012
+ /**
1013
+ * Check if a key exists in a multidimensional array
1014
+ *
1015
+ * @since 3.8.2
1016
+ * @author Benjamin Denis
1017
+ *
1018
+ * @return (bool)
1019
+ **/
1020
+ function seopress_if_key_exists(array $arr, $key) {
1021
+
1022
+ // is in base array?
1023
+ if (array_key_exists($key, $arr)) {
1024
+ return true;
1025
+ }
1026
+
1027
+ // check arrays contained in this array
1028
+ foreach ($arr as $element) {
1029
+ if (is_array($element)) {
1030
+ if (seopress_if_key_exists($element, $key)) {
1031
+ return true;
1032
+ }
1033
+ }
1034
+
1035
+ }
1036
+
1037
+ return false;
1038
+ }