SEOPress - Version 4.4

Version Description

(10/02/2021) = * NEW Complete code refactoring on Titles and metas feature * NEW Preview dynamic tags on post list columns * NEW Live preview when adding dynamic variables for Google Preview * NEW Add Local Business types to automatic schemas as new mapping option to avoid entering manually a business type (PRO) * NEW Support variable products for automatic product schema (PRO) * NEW Support Global Product Identifiers for variable products (PRO) * NEW Dashboard notification if Google Analytics is enabled without UA or GA4 ids * NEW White Label option to change the SEO menu name (PRO) * NEW Add post ID to automatic schemas as new mapping option (PRO) * INFO Remove jQuery for Google Analytics Enhanced Ecommerce (no more jQuery with GA tracking code ) * INFO Improve wizard assistant user interface * INFO Stop adding uppercase on the first letter of each word when automatically adding media attributes (eg: alt tag) * INFO Add new help tabs for Sitemaps and Social networks settings page to improve user experience * FIX Cornerstone compatibility issue with our content analysis feature * FIX Oxygen compatibility issue with our content analysis feature ("2 meta robots found") * FIX CSV broken link export with specific PHP configuration * FIX Social tags for term taxonomies * FIX White label: some SEOPress links weren't hidden * FIX WPML XML configuration file (wpml-config.xml) * FIX GA Enhanced Ecommerce check on status order for measuring purchases * FIX GA Enhanced Ecommerce add_to_cart event from archive product page

Download this release

Release Info

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

Code changes from version 4.3.0.2 to 4.4

Files changed (108) hide show
  1. assets/css/seopress-admin-bar.min.css +1 -1
  2. assets/css/seopress-setup.css +6 -0
  3. assets/css/seopress-setup.min.css +1 -1
  4. assets/img/help/google-knowledge-graph-social.png +0 -0
  5. assets/js/seopress-analytics.min.js +1 -1
  6. assets/js/seopress-block-editor.min.js +1 -1
  7. assets/js/seopress-cookies.min.js +1 -1
  8. assets/js/seopress-counters.js +903 -460
  9. assets/js/seopress-counters.min.js +1 -1
  10. assets/js/seopress-dashboard.js +89 -88
  11. assets/js/seopress-dashboard.min.js +1 -1
  12. assets/js/seopress-media-uploader.min.js +1 -1
  13. assets/js/seopress-migrate.min.js +1 -1
  14. assets/js/seopress-network-tabs.min.js +1 -1
  15. assets/js/seopress-sitemap-ajax.min.js +1 -1
  16. assets/js/seopress-sitemap-video.min.js +1 -1
  17. assets/js/seopress-tabs.min.js +1 -1
  18. assets/js/seopress-tabs2.js +155 -61
  19. assets/js/seopress-tabs2.min.js +1 -1
  20. assets/js/seopress-tabs3.min.js +1 -1
  21. assets/js/seopress-tabs4.min.js +1 -1
  22. assets/js/seopress-tabs5.min.js +1 -1
  23. assets/js/seopress-tabs6.min.js +1 -1
  24. assets/js/seopress-tabs7.min.js +1 -1
  25. assets/js/seopress-tabs8.min.js +1 -1
  26. assets/js/seopress-yoast-migrate.min.js +1 -1
  27. inc/admin/admin-metaboxes-content-analysis-form.php +0 -0
  28. inc/admin/admin-metaboxes-form.php +20 -11
  29. inc/admin/admin-metaboxes-get-content-analysis.php +0 -740
  30. inc/admin/admin-metaboxes-render-content-analysis.php +0 -70
  31. inc/admin/admin-metaboxes.php +535 -520
  32. inc/admin/admin-notifications-center.php +65 -0
  33. inc/admin/admin-term-metaboxes.php +24 -22
  34. inc/admin/admin-wizard.php +5 -1
  35. inc/admin/admin.php +180 -107
  36. inc/admin/ajax.php +9 -3
  37. inc/admin/page-builders/elementor/assets/js/text-letter-counter.js +126 -103
  38. inc/functions/options-advanced-admin.php +2 -206
  39. inc/functions/options-google-analytics-checkout.php +0 -85
  40. inc/functions/options-google-analytics-order.php +0 -55
  41. inc/functions/options-google-analytics.php +1 -8
  42. inc/functions/options-google-ecommerce.php +184 -182
  43. inc/functions/options-import-export.php +730 -728
  44. inc/functions/options-social.php +11 -0
  45. inc/functions/options-titles-metas.php +53 -25
  46. languages/wp-seopress-pt_BR.mo +0 -0
  47. languages/wp-seopress-pt_BR.po +0 -3493
  48. languages/wp-seopress.pot +3289 -3010
  49. readme.txt +30 -8
  50. seopress.php +31 -25
  51. src/Actions/Admin/ManageColumn.php +277 -0
  52. src/Actions/Ajax/PreviewMetaTitle.php +68 -0
  53. src/Actions/Front/GoogleAnalytics.php +30 -0
  54. src/Actions/Front/Metas/DescriptionMeta.php +270 -0
  55. src/Actions/Front/Metas/TitleMeta.php +263 -0
  56. src/Actions/Options/Init.php +2 -2
  57. src/Compose/UseTags.php +145 -0
  58. src/Core/Container/ContainerSeopress.php +6 -2
  59. src/Core/Kernel.php +43 -23
  60. src/ManualHooks/Thirds/WooCommerce/WooCommerceAnalytics.php +100 -0
  61. src/Models/AbstractCustomTagValue.php +13 -0
  62. src/Models/GetTagValue.php +11 -0
  63. src/Services/ContextPage.php +226 -0
  64. src/Services/Options/{Title.php → TitleOption.php} +41 -4
  65. src/Services/TagsToString.php +77 -0
  66. src/Services/WordPressData.php +34 -0
  67. src/Tags/ArchiveDate.php +0 -11
  68. src/Tags/ArchiveTitle.php +20 -0
  69. src/Tags/AuthorBio.php +38 -0
  70. src/Tags/CategoryDescription.php +34 -0
  71. src/Tags/CategoryTitle.php +29 -0
  72. src/Tags/CurrentPagination.php +34 -0
  73. src/Tags/Custom/CustomPostMeta.php +40 -0
  74. src/Tags/Custom/CustomTerm.php +50 -0
  75. src/Tags/CustomPostTypePlural.php +20 -0
  76. src/Tags/Date/ArchiveDate.php +20 -0
  77. src/Tags/Date/ArchiveDateDay.php +20 -0
  78. src/Tags/Date/ArchiveDateMonth.php +20 -0
  79. src/Tags/Date/ArchiveDateYear.php +20 -0
  80. src/Tags/Date/CurrentDate.php +17 -0
  81. src/Tags/Date/CurrentDay.php +17 -0
  82. src/Tags/Date/CurrentMonth.php +17 -0
  83. src/Tags/Date/CurrentMonthNum.php +17 -0
  84. src/Tags/Date/CurrentShortMonth.php +17 -0
  85. src/Tags/Date/CurrentTime.php +17 -0
  86. src/Tags/Date/CurrentYear.php +17 -0
  87. src/Tags/Date/PostDate.php +26 -0
  88. src/Tags/Date/PostModifiedDate.php +24 -0
  89. src/Tags/Page.php +41 -0
  90. src/Tags/PostAuthor.php +26 -1
  91. src/Tags/PostCategory.php +34 -0
  92. src/Tags/PostContent.php +53 -0
  93. src/Tags/PostExcerpt.php +52 -0
  94. src/Tags/PostTag.php +34 -0
  95. src/Tags/PostThumbnailUrl.php +33 -0
  96. src/Tags/PostTitle.php +20 -1
  97. src/Tags/PostUrl.php +32 -0
  98. src/Tags/SearchKeywords.php +32 -0
  99. src/Tags/Separator.php +16 -1
  100. src/Tags/SiteTagline.php +19 -0
  101. src/Tags/SiteTitle.php +9 -1
  102. src/Tags/TagDescription.php +36 -0
  103. src/Tags/TagTitle.php +30 -0
  104. src/Tags/Tagline.php +0 -11
  105. src/Tags/TargetKeyword.php +24 -0
  106. src/Tags/TermDescription.php +36 -0
  107. src/Tags/TermTitle.php +29 -0
  108. src/Tags/WooCommerce/SingleCategory.php +35 -0
assets/css/seopress-admin-bar.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}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?8v0bs0);src:url(../fonts/seopress.eot?8v0bs0#iefix) format('embedded-opentype'),url(../fonts/seopress.ttf?8v0bs0) format('truetype'),url(../fonts/seopress.woff?8v0bs0) format('woff'),url(../fonts/seopress.svg?8v0bs0#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important}.icon-seopress-seopress:before{content:"\e800";font:normal 14px/1 seopress;line-height:1.5rem}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex{background:red;color:#fff;padding:0 8px;float:right;margin-left:6px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level>a{display:inline-block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex .ab-icon::before{color:#eee;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots{display:block;background:#23292d}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots a{height:inherit;padding-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-seo{font-weight:700;border-bottom:1px solid currentColor;width:100%;display:block;margin-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex{display:block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .ab-icon,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .ab-icon{float:none;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .on::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .on::before{color:red}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .off::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .off::before{color:#46b450}
1
+ #adminmenu div.wp-menu-image.dashicons-admin-seopress::before,#seopress-header #seopress-admin h1::before{content:"\e800";font-family:seopress}#seopress-header #seopress-admin h1::before,.seopress-page-list .seopress-feature h3,.seopress-styles .seopress-option h1{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?8v0bs0);src:url(../fonts/seopress.eot?8v0bs0#iefix) format('embedded-opentype'),url(../fonts/seopress.ttf?8v0bs0) format('truetype'),url(../fonts/seopress.woff?8v0bs0) format('woff'),url(../fonts/seopress.svg?8v0bs0#seopress) format('svg');font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important}.icon-seopress-seopress:before{content:"\e800";font:normal 14px/1 seopress;line-height:1.5rem}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex{background:red;color:#fff;padding:0 8px;float:right;margin-left:6px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level>a{display:inline-block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_top_level .wrap-seopress-noindex .ab-icon::before{color:#eee;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots{display:block;background:#23292d}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots a{height:inherit;padding-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-seo{font-weight:700;border-bottom:1px solid currentColor;width:100%;display:block;margin-bottom:5px}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex{display:block}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .ab-icon,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .ab-icon{float:none;vertical-align:middle}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .on::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .on::before{color:red}#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-nofollow .off::before,#wpadminbar #wp-toolbar #wp-admin-bar-seopress_custom_sub_menu_meta_robots .wrap-seopress-cpt-noindex .off::before{color:#46b450}
assets/css/seopress-setup.css CHANGED
@@ -163,6 +163,12 @@ textarea:focus {
163
  text-align: left;
164
  }
165
 
 
 
 
 
 
 
166
  .seopress-setup-content a {
167
  color: #6259e6;
168
  }
163
  text-align: left;
164
  }
165
 
166
+ .seopress-setup-content .description {
167
+ font-size: 13px;
168
+ margin: 1em 0;
169
+ font-style: italic;
170
+ }
171
+
172
  .seopress-setup-content a {
173
  color: #6259e6;
174
  }
assets/css/seopress-setup.min.css CHANGED
@@ -1 +1 @@
1
- html{background-color:#f6f7f7;margin:0}body.seopress-setup{box-shadow:none;background:#f6f7f7;padding:0;margin:0;max-width:100%}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#6159e6;border-color:#6159e6;background:#fff;vertical-align:middle}.wp-core-ui .button-secondary:hover{color:#555d66;background:#fafafa;border-color:#999}.wp-core-ui select:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#6259e6;box-shadow:0 0 0 1px #6259e6;outline:2px solid transparent}.seopress-setup .sp-progress-bar{background-color:#6159e6}.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}.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:65px auto 24px;background:#fff;overflow:hidden;zoom:1;text-align:center;max-width:700px}.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:#2c3338;clear:none;font-weight:500}.seopress-setup-content p{margin:20px 0;font-size:1em;line-height:1.75em;color:#50575e}.seopress-setup-content .m0{margin:0}.seopress-setup-content table{font-size:1em;line-height:1.75em;color:#50575e;text-align:left}.seopress-setup-content a{color:#6259e6}.seopress-setup-content a:focus,.seopress-setup-content a:hover{color:#111}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{width:auto}.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 .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:10px 0 24px;margin:0;list-style:none outside;overflow:hidden;color:#ccc;width:100%;height:56px;border-bottom:1px solid #dcdcde;align-items:center;justify-content:center;background:#fff;display:inline-flex}.seopress-setup-steps li{width:100%;float:left;padding:0 0 1.5em;margin:0;text-align:center;position:relative;border-bottom:2px solid #ccc;line-height:24px;font-size:16px}.seopress-setup-steps li a{text-decoration:none;padding:1.5em;position:relative;z-index:1;color:#1d2327;line-height:24px;font-size:16px;transition:color .3s linear}.seopress-setup-steps li a:focus,.seopress-setup-steps li a:hover{color:#6159e6}.seopress-setup-steps li::before{content:"";border:3px solid #ccc;border-radius:100%;width:24px;height:24px;position:absolute;bottom:0;left:50%;margin-left:-15px;margin-bottom:-15px;background:#fff;font-family:Dashicons;font-size:24px;line-height:24px}.seopress-setup-steps li.active{color:#6259e6;font-weight:700;text-decoration:none;position:relative;z-index:1;color:#1d2327;line-height:24px}.seopress-setup-steps li.active::before{border-color:#6259e6}@keyframes fade{0%{border-color:#6259e600;left:-100%}100%{border-color:#6259e6;left:0}}.seopress-setup-steps li.active::after{content:"";position:absolute;bottom:-2px;left:0;animation-name:fade;animation-duration:2s;width:100%;animation-iteration-count:1;height:2px;background:#6259e6;z-index:-1}.seopress-setup-steps li.done{border-color:#6259e6;color:#6259e6;z-index:10}.seopress-setup-steps li.done::before{border-color:#6259e6;background:#6259e6;content:"\f147";color:#fff}.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;color:#fff}.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-services{border:1px solid #eee;padding:1em;margin:0 0 1em;list-style:none outside;border-radius:4px;overflow:hidden;text-align:left}.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:#50575e;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin:1rem 0}.seopress-wizard-service-item,.seopress-wizard-services-list-toggle:first-child{margin-top: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:#50575e;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:#50575e;font-size:13px;font-weight:500;margin-bottom:.5em;margin-top:.85em;display:inline-block;width:100%;text-align:left}.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:#50575e;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;text-align:left}.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;justify-content: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%;box-sizing:border-box}.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:768px){.seopress-setup .seopress-setup-content{margin:25px auto 24px}#seopress-logo img{max-width:80%}.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}.seopress-setup-steps li a{text-indent:-9999px;position:absolute;left:calc(50% - 24px);top:-10px}.seopress-setup-steps li span{display:none}}
1
+ html{background-color:#f6f7f7;margin:0}body.seopress-setup{box-shadow:none;background:#f6f7f7;padding:0;margin:0;max-width:100%}.wp-core-ui .button,.wp-core-ui .button-secondary{color:#6159e6;border-color:#6159e6;background:#fff;vertical-align:middle}.wp-core-ui .button-secondary:hover{color:#555d66;background:#fafafa;border-color:#999}.wp-core-ui select:focus,input[type=checkbox]:focus,input[type=color]:focus,input[type=date]:focus,input[type=datetime-local]:focus,input[type=datetime]:focus,input[type=email]:focus,input[type=month]:focus,input[type=number]:focus,input[type=password]:focus,input[type=radio]:focus,input[type=search]:focus,input[type=tel]:focus,input[type=text]:focus,input[type=time]:focus,input[type=url]:focus,input[type=week]:focus,select:focus,textarea:focus{border-color:#6259e6;box-shadow:0 0 0 1px #6259e6;outline:2px solid transparent}.seopress-setup .sp-progress-bar{background-color:#6159e6}.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}.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:65px auto 24px;background:#fff;overflow:hidden;zoom:1;text-align:center;max-width:700px}.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:#2c3338;clear:none;font-weight:500}.seopress-setup-content p{margin:20px 0;font-size:1em;line-height:1.75em;color:#50575e}.seopress-setup-content .m0{margin:0}.seopress-setup-content table{font-size:1em;line-height:1.75em;color:#50575e;text-align:left}.seopress-setup-content .description{font-size:13px;margin:1em 0;font-style:italic}.seopress-setup-content a{color:#6259e6}.seopress-setup-content a:focus,.seopress-setup-content a:hover{color:#111}.seopress-option #seopress-edd-license-btn,.seopress-option #seopress-refresh{width:auto}.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 .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:10px 0 24px;margin:0;list-style:none outside;overflow:hidden;color:#ccc;width:100%;height:56px;border-bottom:1px solid #dcdcde;align-items:center;justify-content:center;background:#fff;display:inline-flex}.seopress-setup-steps li{width:100%;float:left;padding:0 0 1.5em;margin:0;text-align:center;position:relative;border-bottom:2px solid #ccc;line-height:24px;font-size:16px}.seopress-setup-steps li a{text-decoration:none;padding:1.5em;position:relative;z-index:1;color:#1d2327;line-height:24px;font-size:16px;transition:color .3s linear}.seopress-setup-steps li a:focus,.seopress-setup-steps li a:hover{color:#6159e6}.seopress-setup-steps li::before{content:"";border:3px solid #ccc;border-radius:100%;width:24px;height:24px;position:absolute;bottom:0;left:50%;margin-left:-15px;margin-bottom:-15px;background:#fff;font-family:Dashicons;font-size:24px;line-height:24px}.seopress-setup-steps li.active{color:#6259e6;font-weight:700;text-decoration:none;position:relative;z-index:1;color:#1d2327;line-height:24px}.seopress-setup-steps li.active::before{border-color:#6259e6}@keyframes fade{0%{border-color:#6259e600;left:-100%}100%{border-color:#6259e6;left:0}}.seopress-setup-steps li.active::after{content:"";position:absolute;bottom:-2px;left:0;animation-name:fade;animation-duration:2s;width:100%;animation-iteration-count:1;height:2px;background:#6259e6;z-index:-1}.seopress-setup-steps li.done{border-color:#6259e6;color:#6259e6;z-index:10}.seopress-setup-steps li.done::before{border-color:#6259e6;background:#6259e6;content:"\f147";color:#fff}.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;color:#fff}.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-services{border:1px solid #eee;padding:1em;margin:0 0 1em;list-style:none outside;border-radius:4px;overflow:hidden;text-align:left}.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:#50575e;-webkit-box-align:center;-webkit-align-items:center;align-items:center;margin:1rem 0}.seopress-wizard-service-item,.seopress-wizard-services-list-toggle:first-child{margin-top: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:#50575e;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:#50575e;font-size:13px;font-weight:500;margin-bottom:.5em;margin-top:.85em;display:inline-block;width:100%;text-align:left}.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:#50575e;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;text-align:left}.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;justify-content: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%;box-sizing:border-box}.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:768px){.seopress-setup .seopress-setup-content{margin:25px auto 24px}#seopress-logo img{max-width:80%}.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}.seopress-setup-steps li a{text-indent:-9999px;position:absolute;left:calc(50% - 24px);top:-10px}.seopress-setup-steps li span{display:none}}
assets/img/help/google-knowledge-graph-social.png DELETED
Binary file
assets/js/seopress-analytics.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){jQuery(document.body).on("updated_cart_totals wc_cart_emptied removed_from_cart added_to_cart",(function(){$.ajax({method:"GET",url:seopressAjaxAnalytics.seopress_analytics,data:{action:"seopress_after_update_cart",_ajax_nonce:seopressAjaxAnalytics.seopress_nonce},success:function(data){jQuery("body").append(data.data)}})}))}));
1
+ jQuery(document).ready(function(e){jQuery(document.body).on("updated_cart_totals wc_cart_emptied removed_from_cart added_to_cart",function(){e.ajax({method:"GET",url:seopressAjaxAnalytics.seopress_analytics,data:{action:"seopress_after_update_cart",_ajax_nonce:seopressAjaxAnalytics.seopress_nonce},success:function(e){jQuery("body").append(e.data)}})})});
assets/js/seopress-block-editor.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){const{subscribe:subscribe,select:select}=wp.data;let hasSaved=!1;subscribe(()=>{var isAutosavingPost=wp.data.select("core/editor").isAutosavingPost(),isSavingMetaBoxes=wp.data.select("core/edit-post").isSavingMetaBoxes();!isSavingMetaBoxes||isAutosavingPost||hasSaved||$.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:$("#seopress-tabs").attr("data_id"),tax_name:$("#seopress-tabs").attr("data_tax"),origin:$("#seopress-tabs").attr("data_origin"),post_type:$("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:$("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){$(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),$(".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,void 0===s.data.meta_robots?meta_robots="":meta_robots=s.data.meta_robots[0];var data_arr={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},if_noindex;for(var key in data_arr)data_arr.length&&(key=data_arr[key].length>1?data_arr[key].slice(-1)[0]:data_arr[key][0]);meta_robots=meta_robots.toString(),$("#sp-advanced-alert").empty(),new RegExp("noindex").test(meta_robots)&&$("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),$("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),$("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),$("#seopress_titles_title_meta").attr("placeholder",s.data.title),$("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),$("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),$("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),data_arr.og_title&&($("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",data_arr.og_title[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(data_arr.og_title[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(data_arr.og_title[0])),data_arr.og_desc&&($("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",data_arr.og_desc[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(data_arr.og_desc[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(data_arr.og_desc[0])),data_arr.og_img&&($("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",data_arr.og_img[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",data_arr.og_img[0]),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",data_arr.og_img[0])),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),$("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name),data_arr.tw_title&&($("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",data_arr.tw_title[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(data_arr.tw_title[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(data_arr.tw_title[0])),data_arr.tw_desc&&($("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",data_arr.tw_desc[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(data_arr.tw_desc[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(data_arr.tw_desc[0])),data_arr.tw_img&&($("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",data_arr.tw_img[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",data_arr.tw_img[0]),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",data_arr.tw_img[0])),$("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),$("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),$("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),$(".analysis-score p").removeClass("loading")}}),hasSaved=!!isSavingMetaBoxes})}));
1
+ jQuery(document).ready(function(e){const{subscribe:t,select:s}=wp.data;let a=!1;t(()=>{var t=wp.data.select("core/editor").isAutosavingPost(),s=wp.data.select("core/edit-post").isSavingMetaBoxes();!s||t||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,void 0===t.data.meta_robots?meta_robots="":meta_robots=t.data.meta_robots[0];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]);meta_robots=meta_robots.toString(),e("#sp-advanced-alert").empty();var i=new RegExp("noindex");i.test(meta_robots)&&e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),s.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title[0])),s.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc[0])),s.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",s.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),s.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(s.tw_title[0])),s.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(s.tw_desc[0])),s.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",s.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(s.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading")}}),a=!!s})});
assets/js/seopress-cookies.min.js CHANGED
@@ -1 +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(){}))}));
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
@@ -1,490 +1,933 @@
1
  function sp_titles_counters() {
2
- var meta_title_val = jQuery("#seopress_titles_title_meta").val();
3
- var meta_title_placeholder = jQuery("#seopress_titles_title_meta").attr("placeholder");
4
-
5
- jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),
6
- meta_title_val.length > 0 ? (jQuery("#seopress_titles_title_counters").text(meta_title_val.length),
7
- jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_val))) : meta_title_placeholder.length && (jQuery("#seopress_titles_title_counters").text(meta_title_placeholder.length),
8
- jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_placeholder))),
9
-
10
- meta_title_val.length > 60 ? jQuery("#seopress_titles_title_counters").css("color", "red") : meta_title_placeholder.length > 60 && jQuery("#seopress_titles_title_counters").css("color", "red"),
11
- pixelTitle(meta_title_val) > 568 ? jQuery("#seopress_titles_title_pixel").css("color", "red") : pixelTitle(meta_title_placeholder) > 568 && jQuery("#seopress_titles_title_pixel").css("color", "red");
12
-
13
- if (meta_title_val.length) {
14
- var progress = Math.round(pixelTitle(meta_title_val)/568*100);
15
- } else {
16
- var progress = Math.round(pixelTitle(meta_title_placeholder)/568*100);
17
- }
18
-
19
- if (progress >= 100) {
20
- progress = 100;
21
- }
22
-
23
- jQuery('#seopress_titles_title_counters_progress').attr('aria-valuenow',progress),
24
- jQuery('#seopress_titles_title_counters_progress').text(progress +'%'),
25
- jQuery('#seopress_titles_title_counters_progress').css('width',progress +'%'),
26
-
27
- 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) {
28
- var meta_title_val = jQuery("#seopress_titles_title_meta").val();
29
- var meta_title_placeholder = jQuery("#seopress_titles_title_meta").attr("placeholder");
30
-
31
- jQuery("#seopress_titles_title_counters").css("color", "inherit"),
32
- jQuery("#seopress_titles_title_pixel").css("color", "inherit"),
33
-
34
- meta_title_val.length > 60 && jQuery("#seopress_titles_title_counters").css("color", "red"),
35
- pixelTitle(meta_title_val) > 568 && jQuery("#seopress_titles_title_pixel").css("color", "red");
36
-
37
- if (meta_title_val.length == 0) {
38
- meta_title_placeholder.length > 60 && jQuery("#seopress_titles_title_counters").css("color", "red"),
39
- pixelTitle(meta_title_placeholder) > 568 && jQuery("#seopress_titles_title_pixel").css("color", "red")
40
- }
41
-
42
- meta_title_val.length > 0 ? (jQuery("#seopress_titles_title_counters").text(meta_title_val.length),
43
- jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_val))) : meta_title_placeholder.length && (jQuery("#seopress_titles_title_counters").text(meta_title_placeholder.length),
44
- jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_placeholder))),
45
-
46
- meta_title_val.length > 0 ? (jQuery(".snippet-title-custom").text(e.target.value),
47
- jQuery(".snippet-title").css("display", "none"),
48
- jQuery(".snippet-title-custom").css("display", "block"),
49
- jQuery(".snippet-title-default").css("display", "none")) : 0 == meta_title_val.length && (jQuery(".snippet-title-default").css("display", "block"),
50
- jQuery(".snippet-title-custom").css("display", "none"), jQuery(".snippet-title").css("display", "none"));
51
-
52
- if (meta_title_val.length) {
53
- var progress = Math.round(pixelTitle(meta_title_val)/568*100);
54
- } else {
55
- var progress = Math.round(pixelTitle(meta_title_placeholder)/568*100);
56
- }
57
-
58
- if (progress >= 100) {
59
- progress = 100;
60
- }
61
-
62
- jQuery('#seopress_titles_title_counters_progress').attr('aria-valuenow',progress),
63
- jQuery('#seopress_titles_title_counters_progress').text(progress +'%'),
64
- jQuery('#seopress_titles_title_counters_progress').css('width',progress +'%')
65
- })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  }
67
 
68
  function sp_meta_desc_counters() {
69
- var meta_desc_val = jQuery("#seopress_titles_desc_meta").val();
70
- var meta_desc_placeholder = jQuery("#seopress_titles_desc_meta").attr("placeholder");
71
-
72
- jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),
73
-
74
- meta_desc_val.length > 0 ? (jQuery("#seopress_titles_desc_counters").text(meta_desc_val.length),
75
- jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_val))) : meta_desc_placeholder.length && (jQuery("#seopress_titles_desc_counters").text(meta_desc_placeholder.length),
76
- jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_placeholder))),
77
-
78
- meta_desc_val.length > 160 ? jQuery("#seopress_titles_desc_counters").css("color", "red") : meta_desc_placeholder.length > 160 && jQuery("#seopress_titles_desc_counters").css("color", "red"),
79
- pixelDesc(meta_desc_val) > 940 ? jQuery("#seopress_titles_desc_pixel").css("color", "red") : pixelDesc(meta_desc_placeholder) > 940 && jQuery("#seopress_titles_desc_pixel").css("color", "red");
80
-
81
- if (meta_desc_val.length) {
82
- var progress = Math.round(pixelDesc(meta_desc_val)/940*100);
83
- } else {
84
- var progress = Math.round(pixelDesc(meta_desc_placeholder)/940*100);
85
- }
86
-
87
- if (progress >= 100) {
88
- progress = 100;
89
- }
90
-
91
- jQuery('#seopress_titles_desc_counters_progress').attr('aria-valuenow',progress),
92
- jQuery('#seopress_titles_desc_counters_progress').text(progress +'%'),
93
- jQuery('#seopress_titles_desc_counters_progress').css('width',progress +'%'),
94
-
95
- jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on('keyup paste change click', function(e) {
96
- var meta_desc_val = jQuery("#seopress_titles_desc_meta").val();
97
- var meta_desc_placeholder = jQuery("#seopress_titles_desc_meta").attr("placeholder");
98
-
99
- jQuery("#seopress_titles_desc_counters").css("color", "inherit"),
100
- jQuery('#seopress_titles_desc_pixel').css('color', 'inherit'),
101
-
102
- meta_desc_val.length > 160 && jQuery("#seopress_titles_desc_counters").css("color", "red"),
103
- pixelDesc(meta_desc_val) > 940 && jQuery("#seopress_titles_desc_pixel").css("color", "red");
104
-
105
- if (meta_desc_val.length == 0) {
106
- meta_desc_placeholder.length > 160 && jQuery("#seopress_titles_desc_counters").css("color", "red"),
107
- pixelDesc(meta_desc_placeholder) > 940 && jQuery("#seopress_titles_desc_pixel").css("color", "red")
108
- }
109
-
110
- meta_desc_val.length > 0 ? (jQuery("#seopress_titles_desc_counters").text(meta_desc_val.length),
111
- jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_val))) : meta_desc_placeholder.length && (jQuery("#seopress_titles_desc_counters").text(meta_desc_placeholder.length),
112
- jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_placeholder))), meta_desc_val.length > 0 ? (jQuery(".snippet-description-custom").text(e.target.value),
113
- jQuery(".snippet-description").css("display", "none"),
114
- jQuery(".snippet-description-custom").css("display", "inline"),
115
- jQuery(".snippet-description-default").css("display", "none")) : 0 == meta_desc_val.length && (jQuery(".snippet-description-default").css("display", "inline"),
116
- jQuery(".snippet-description-custom").css("display", "none"),
117
- jQuery(".snippet-description").css("display", "none"));
118
-
119
- if (meta_desc_val.length) {
120
- var progress = Math.round(pixelDesc(meta_desc_val)/940*100);
121
- } else {
122
- var progress = Math.round(pixelDesc(meta_desc_placeholder)/940*100);
123
- }
124
-
125
- if (progress >= 100) {
126
- progress = 100;
127
- }
128
-
129
- jQuery('#seopress_titles_desc_counters_progress').attr('aria-valuenow',progress),
130
- jQuery('#seopress_titles_desc_counters_progress').text(progress +'%'),
131
- jQuery('#seopress_titles_desc_counters_progress').css('width',progress +'%')
132
-
133
- }), jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e) {
134
- var meta_desc_val = jQuery("#seopress_titles_desc_meta").val();
135
- var meta_desc_placeholder = jQuery("#seopress_titles_desc_meta").attr("placeholder");
136
-
137
- 0 == meta_desc_val.length && 0 == jQuery(".snippet-description-custom").val().length && (jQuery(".snippet-description-custom").text(e.target.value),
138
- jQuery(".snippet-description").css("display", "none"),
139
- jQuery(".snippet-description-custom").css("display", "inline"),
140
- jQuery(".snippet-description-default").css("display", "none"));
141
-
142
- if (meta_desc_val.length) {
143
- var progress = meta_desc_val.length;
144
- } else {
145
- var progress = meta_desc_placeholder.length;
146
- }
147
- if (progress >= 100) {
148
- progress = 100;
149
- }
150
-
151
- jQuery('#seopress_titles_desc_counters_progress').attr('aria-valuenow',progress),
152
- jQuery('#seopress_titles_desc_counters_progress').text(progress +'%'),
153
- jQuery('#seopress_titles_desc_counters_progress').css('width',progress +'%')
154
- })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
155
  }
156
 
157
  function pixelTitle(e) {
158
- inputText = e;
159
- font = "18px Arial";
160
-
161
- canvas = document.createElement("canvas");
162
- context = canvas.getContext("2d");
163
- context.font = font;
164
- width = context.measureText(inputText).width;
165
- formattedWidth = Math.ceil(width);
166
-
167
- return formattedWidth;
168
  }
169
 
170
  function pixelDesc(e) {
171
- inputText = e;
172
- font = "14px Arial";
173
-
174
- canvas = document.createElement("canvas");
175
- context = canvas.getContext("2d");
176
- context.font = font;
177
- width = context.measureText(inputText).width;
178
- formattedWidth = Math.ceil(width);
179
-
180
- return formattedWidth;
181
  }
182
 
183
  function sp_is_valid_url(string) {
184
- var res = string.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g);
185
- return (res !== null)
 
 
186
  }
187
 
188
  function sp_social_img(social_slug) {
189
- jQuery(".snippet-"+social_slug+"-img-alert").css("display", "none");
190
- var meta_img_val = jQuery('#seopress_social_'+social_slug+'_img_meta').val();
191
-
192
- if (meta_img_val =='') {
193
- var meta_img_val = jQuery('#seopress_social_'+social_slug+'_img_meta').attr('placeholder');
194
- }
195
-
196
- // Check valid URL
197
- if (sp_is_valid_url(meta_img_val) === true) {
198
- meta_img_val.length > 0 ? (jQuery('.snippet-'+social_slug+'-img-custom img').attr("src", meta_img_val),
199
- jQuery(".snippet-"+social_slug+"-img").css("display", "none"),
200
- jQuery(".snippet-"+social_slug+"-img-custom").css("display", "block"),
201
- jQuery(".snippet-"+social_slug+"-img-default").css("display", "none")) : 0 == meta_img_val.length && (jQuery(".snippet-"+social_slug+"-img-default").css("display", "block"),
202
- jQuery(".snippet-"+social_slug+"-img-custom").css("display", "none"), jQuery(".snippet-"+social_slug+"-img").css("display", "none"));
203
-
204
- if(meta_img_val.length > 0) {
205
- // Check file URL
206
- jQuery.get(meta_img_val).done(function() {
207
- // Extract filetype
208
- var meta_img_filetype = meta_img_val.split(/\#|\?/)[0].split('.').pop().trim();
209
- var types = ['jpg', 'jpeg', 'gif', 'png'];
210
-
211
- if(types.indexOf(meta_img_filetype) == -1) {
212
- jQuery(".snippet-"+social_slug+"-img-alert.alert1").css("display", "block");
213
- } else {
214
- // Extract image size
215
- var tmp_img = new Image();
216
- tmp_img.src = meta_img_val;
217
- jQuery(tmp_img).one('load',function(){
218
- pic_real_width = parseInt(tmp_img.width);
219
- pic_real_height = parseInt(tmp_img.height);
220
-
221
- // Default minimum size
222
- if (social_slug == 'fb') {
223
- min_width = 200,
224
- min_height = 200
225
- } else {
226
- min_width = 144,
227
- min_height = 144
228
- }
229
- if(pic_real_width < min_width || pic_real_height < min_height) {
230
- jQuery(".snippet-"+social_slug+"-img-alert.alert2").css("display", "block");
231
- }
232
- ratio_img = (pic_real_width / pic_real_height).toFixed(2);
233
- jQuery(".snippet-"+social_slug+"-img-alert.alert4").css("display", "block");
234
- jQuery(".snippet-"+social_slug+"-img-alert.alert4 span").text(ratio_img);
235
- });
236
- }
237
- }).fail(function() {
238
- jQuery(".snippet-"+social_slug+"-img-alert.alert3").css("display", "block");
239
- });
240
- }
241
- } else {
242
- jQuery(".snippet-"+social_slug+"-img-alert.alert5").css("display", "block");
243
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
244
  }
245
 
246
  function sp_social() {
247
- // FACEBOOK
248
- 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) {
249
- var meta_fb_title_val = jQuery("#seopress_social_fb_title_meta").val();
250
-
251
- meta_fb_title_val.length > 0 ? (jQuery(".snippet-fb-title-custom").text(e.target.value),
252
- jQuery(".snippet-fb-title").css("display", "none"),
253
- jQuery(".snippet-fb-title-custom").css("display", "block"),
254
- jQuery(".snippet-fb-title-default").css("display", "none")) : 0 == meta_fb_title_val.length && (jQuery(".snippet-fb-title-default").css("display", "block"),
255
- jQuery(".snippet-fb-title-custom").css("display", "none"), jQuery(".snippet-fb-title").css("display", "none"))
256
- })
257
-
258
- jQuery("#seopress_social_fb_desc_meta").on('keyup paste change click', function(e) {
259
- var meta_fb_desc_val = jQuery("#seopress_social_fb_desc_meta").val();
260
-
261
- meta_fb_desc_val.length > 0 ? (jQuery(".snippet-fb-description-custom").text(e.target.value),
262
- jQuery(".snippet-fb-description").css("display", "none"),
263
- jQuery(".snippet-fb-description-custom").css("display", "block"),
264
- jQuery(".snippet-fb-description-default").css("display", "none")) : 0 == meta_fb_desc_val.length && (jQuery(".snippet-fb-description-default").css("display", "block"),
265
- jQuery(".snippet-fb-description-custom").css("display", "none"), jQuery(".snippet-fb-description").css("display", "none"));
266
- })
267
-
268
- sp_social_img('fb');
269
- jQuery("#seopress_social_fb_img_meta").on('keyup paste change click', function() {
270
- sp_social_img('fb');
271
- })
272
-
273
- // TWITTER
274
- jQuery("#seopress_social_twitter_title_meta").on('keyup paste change click', function(e) {
275
- var meta_fb_title_val = jQuery("#seopress_social_twitter_title_meta").val();
276
-
277
- meta_fb_title_val.length > 0 ? (jQuery(".snippet-twitter-title-custom").text(e.target.value),
278
- jQuery(".snippet-twitter-title").css("display", "none"),
279
- jQuery(".snippet-twitter-title-custom").css("display", "block"),
280
- jQuery(".snippet-twitter-title-default").css("display", "none")) : 0 == meta_fb_title_val.length && (jQuery(".snippet-twitter-title-default").css("display", "block"),
281
- jQuery(".snippet-twitter-title-custom").css("display", "none"), jQuery(".snippet-twitter-title").css("display", "none"))
282
- })
283
-
284
- jQuery("#seopress_social_twitter_desc_meta").on('keyup paste change click', function(e) {
285
- var meta_fb_desc_val = jQuery("#seopress_social_twitter_desc_meta").val();
286
-
287
- meta_fb_desc_val.length > 0 ? (jQuery(".snippet-twitter-description-custom").text(e.target.value),
288
- jQuery(".snippet-twitter-description").css("display", "none"),
289
- jQuery(".snippet-twitter-description-custom").css("display", "block"),
290
- jQuery(".snippet-twitter-description-default").css("display", "none")) : 0 == meta_fb_desc_val.length && (jQuery(".snippet-twitter-description-default").css("display", "block"),
291
- jQuery(".snippet-twitter-description-custom").css("display", "none"), jQuery(".snippet-twitter-description").css("display", "none"));
292
- })
293
-
294
- sp_social_img('twitter');
295
- jQuery("#seopress_social_twitter_img_meta").on('keyup paste change click', function() {
296
- sp_social_img('twitter');
297
- })
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
298
  }
299
 
300
  //Content Analysis - Toggle
301
  function sp_ca_toggle() {
302
- var stop = false;
303
- jQuery( ".gr-analysis-title .btn-toggle" ).on('click',function(e) {
304
- if (stop) {
305
- event.stopImmediatePropagation();
306
- event.preventDefault();
307
- stop = false;
308
- }
309
- jQuery(this).toggleClass('open');
310
- jQuery(this).parent().parent().next('.gr-analysis-content').toggle();
311
- });
312
-
313
- //Show all
314
- jQuery( "#expand-all" ).on('click',function(e) {
315
- e.preventDefault();
316
- jQuery('.gr-analysis-content').show();
317
- });
318
- //Hide all
319
- jQuery( "#close-all" ).on('click',function(e) {
320
- e.preventDefault();
321
- jQuery('.gr-analysis-content').hide();
322
- });
323
  }
324
 
325
  //Tagify
326
- var input = document.querySelector('input[id=seopress_analysis_target_kw_meta]');
 
 
327
 
328
  var target_kw = new Tagify(input, {
329
- originalInputValueFormat: valuesArr => valuesArr.map(item => item.value).join(',')
330
- })
331
-
332
- function seopress_google_suggest(data){
333
-
334
- var raw_suggestions = String(data);
335
- var suggestions_array = raw_suggestions.split(',');
336
-
337
- var i;
338
- for (i = 0; i < suggestions_array.length; i++) {
339
- if (suggestions_array[i] != null && suggestions_array[i] != undefined && suggestions_array[i] !='' && suggestions_array[i] !='[object Object]') {
340
- document.getElementById('seopress_suggestions').innerHTML += '<li><a href=\"#\" class=\"sp-suggest-btn button button-small\">'+suggestions_array[i]+'</a></li>';
341
- }
342
- }
343
-
344
- jQuery('.sp-suggest-btn').click(function(e) {
345
- e.preventDefault();
346
-
347
- target_kw.addTags(jQuery(this).text());
348
- });
 
 
 
 
 
 
 
 
349
  }
350
 
351
- jQuery(document).ready(function(e) {
352
- //default state
353
- if (jQuery('#toggle-preview').attr('data-toggle') == '1') {
354
- jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview");
355
- } else {
356
- jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview");
357
- }
358
- jQuery('#toggle-preview').on('click', function() {
359
- jQuery('#toggle-preview').attr('data-toggle', jQuery('#toggle-preview').attr('data-toggle') == '1' ? '0' : '1');
360
- jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview");
361
- });
362
- function s() {
363
- e.ajax({
364
- method: "GET",
365
- url: seopressAjaxRealPreview.seopress_real_preview,
366
- data: {
367
- action: "seopress_do_real_preview",
368
- post_id: e("#seopress-tabs").attr("data_id"),
369
- tax_name: e("#seopress-tabs").attr("data_tax"),
370
- origin: e("#seopress-tabs").attr("data_origin"),
371
- post_type: e("#seopress_launch_analysis").attr("data_post_type"),
372
- seopress_analysis_target_kw: e("#seopress_analysis_target_kw_meta").val(),
373
- _ajax_nonce: seopressAjaxRealPreview.seopress_nonce
374
- },
375
- beforeSend: function() {
376
- e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),
377
- e(".analysis-score p").addClass('loading')
378
- },
379
- success: function(s) {
380
- typeof s.data.og_title ==="undefined" ? og_title = "" : og_title = s.data.og_title.values;
381
- typeof s.data.og_desc ==="undefined" ? og_desc = "" : og_desc = s.data.og_desc.values;
382
- typeof s.data.og_img ==="undefined" ? og_img = "" : og_img = s.data.og_img.values;
383
- typeof s.data.og_url ==="undefined" ? og_url = "" : og_url = s.data.og_url.host;
384
- typeof s.data.og_site_name ==="undefined" ? og_site_name = "" : og_site_name = s.data.og_site_name.values;
385
- typeof s.data.tw_title ==="undefined" ? tw_title = "" : tw_title = s.data.tw_title.values;
386
- typeof s.data.tw_desc ==="undefined" ? tw_desc = "" : tw_desc = s.data.tw_desc.values;
387
- typeof s.data.tw_img ==="undefined" ? tw_img = "" : tw_img = s.data.tw_img.values;
388
- typeof s.data.meta_robots ==="undefined" ? meta_robots = "" : meta_robots = s.data.meta_robots[0];
389
-
390
- var data_arr = {og_title : og_title,
391
- og_desc : og_desc,
392
- og_img : og_img,
393
- og_url : og_url,
394
- og_site_name : og_site_name,
395
- tw_title : tw_title,
396
- tw_desc : tw_desc,
397
- tw_img : tw_img
398
- };
399
-
400
- for (var key in data_arr) {
401
- if (data_arr.length) {
402
- if (data_arr[key].length > 1) {
403
- key = data_arr[key].slice(-1)[0];
404
- } else {
405
- key = data_arr[key][0];
406
- }
407
- }
408
- }
409
-
410
- // Meta Robots
411
- meta_robots = meta_robots.toString();
412
-
413
- e("#sp-advanced-alert").empty();
414
-
415
- var if_noindex = new RegExp('noindex');
416
-
417
- if(if_noindex.test(meta_robots)){
418
- e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>');
419
- }
420
-
421
- // Google Preview
422
- e("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),
423
- e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),
424
- e("#seopress_titles_title_meta").attr("placeholder", s.data.title),
425
- e("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),
426
- e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),
427
- e("#seopress_titles_desc_meta").attr("placeholder", s.data.meta_desc)
428
-
429
- // Facebook Preview
430
- if (data_arr.og_title) {
431
- e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder", data_arr.og_title[0]),
432
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(data_arr.og_title[0]),
433
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(data_arr.og_title[0])
434
- }
435
-
436
- if (data_arr.og_desc) {
437
- e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder", data_arr.og_desc[0]),
438
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(data_arr.og_desc[0]),
439
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(data_arr.og_desc[0])
440
- }
441
-
442
- if (data_arr.og_img) {
443
- e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder", data_arr.og_img[0]),
444
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src", data_arr.og_img[0]),
445
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src", data_arr.og_img[0])
446
- }
447
-
448
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),
449
- e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name)
450
-
451
- // Twitter Preview
452
- if (data_arr.tw_title) {
453
- e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder", data_arr.tw_title[0]),
454
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(data_arr.tw_title[0]),
455
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(data_arr.tw_title[0])
456
- }
457
-
458
- if (data_arr.tw_desc) {
459
- e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder", data_arr.tw_desc[0]),
460
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(data_arr.tw_desc[0]),
461
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(data_arr.tw_desc[0])
462
- }
463
-
464
- if (data_arr.tw_img) {
465
- e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder", data_arr.tw_img[0]),
466
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src", data_arr.tw_img[0]),
467
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src", data_arr.tw_img[0])
468
- }
469
-
470
- e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),
471
-
472
- e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder", s.data.canonical),
473
-
474
- e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1", '', sp_ca_toggle),
475
- e(".analysis-score p").removeClass('loading'),
476
-
477
- e(" #seopress_titles_title_counters_val").remove(),
478
- e(" #seopress_titles_desc_counters_val").remove(),
479
- sp_titles_counters(),
480
- sp_meta_desc_counters(),
481
- sp_social()
482
- }
483
- })
484
- }
485
- s(),
486
- e("#seopress_launch_analysis").on("click", function() {
487
- s()
488
- }),
489
- sp_ca_toggle()
490
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  function sp_titles_counters() {
2
+ const $ = jQuery;
3
+ let elementTitleMeta = $("#seopress_titles_title_meta");
4
+
5
+ if ($(".snippet-title-custom:visible").length > 0) {
6
+ elementTitleMeta = $(".snippet-title-custom");
7
+ } else if ($(".snippet-title:visible").length > 0) {
8
+ elementTitleMeta = $(".snippet-title");
9
+ } else if ($(".snippet-title-default:visible").length > 0) {
10
+ elementTitleMeta = $(".snippet-title-default");
11
+ }
12
+
13
+ var meta_title_val = elementTitleMeta.val();
14
+ var meta_title_placeholder = jQuery("#seopress_titles_title_meta").attr(
15
+ "placeholder"
16
+ );
17
+
18
+ jQuery("#seopress_titles_title_counters").after(
19
+ '<div id="seopress_titles_title_counters_val">/ 60</div>'
20
+ ),
21
+ meta_title_val.length > 0
22
+ ? (jQuery("#seopress_titles_title_counters").text(
23
+ meta_title_val.length
24
+ ),
25
+ jQuery("#seopress_titles_title_pixel").text(
26
+ pixelTitle(meta_title_val)
27
+ ))
28
+ : meta_title_placeholder.length &&
29
+ (jQuery("#seopress_titles_title_counters").text(
30
+ meta_title_placeholder.length
31
+ ),
32
+ jQuery("#seopress_titles_title_pixel").text(
33
+ pixelTitle(meta_title_placeholder)
34
+ )),
35
+ meta_title_val.length > 60
36
+ ? jQuery("#seopress_titles_title_counters").css("color", "red")
37
+ : meta_title_placeholder.length > 60 &&
38
+ jQuery("#seopress_titles_title_counters").css("color", "red"),
39
+ pixelTitle(meta_title_val) > 568
40
+ ? jQuery("#seopress_titles_title_pixel").css("color", "red")
41
+ : pixelTitle(meta_title_placeholder) > 568 &&
42
+ jQuery("#seopress_titles_title_pixel").css("color", "red");
43
+
44
+ if (meta_title_val.length) {
45
+ var progress = Math.round((pixelTitle(meta_title_val) / 568) * 100);
46
+ } else {
47
+ var progress = Math.round(
48
+ (pixelTitle(meta_title_placeholder) / 568) * 100
49
+ );
50
+ }
51
+
52
+ if (progress >= 100) {
53
+ progress = 100;
54
+ }
55
+
56
+ jQuery("#seopress_titles_title_counters_progress").attr(
57
+ "aria-valuenow",
58
+ progress
59
+ ),
60
+ jQuery("#seopress_titles_title_counters_progress").text(progress + "%"),
61
+ jQuery("#seopress_titles_title_counters_progress").css(
62
+ "width",
63
+ progress + "%"
64
+ ),
65
+ jQuery(
66
+ "#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep"
67
+ ).on("keyup paste change click", function (e) {
68
+ var meta_title_val = $("#seopress_titles_title_meta").val();
69
+ if ($(".snippet-title-custom:visible").length > 0) {
70
+ meta_title_val = $(".snippet-title-custom").text();
71
+ } else if ($(".snippet-title:visible").length > 0) {
72
+ meta_title_val = $(".snippet-title").text();
73
+ } else if ($(".snippet-title-default:visible").length > 0) {
74
+ meta_title_val = $(".snippet-title-default").text();
75
+ }
76
+
77
+ var meta_title_placeholder = jQuery(
78
+ "#seopress_titles_title_meta"
79
+ ).attr("placeholder");
80
+
81
+ jQuery("#seopress_titles_title_counters").css("color", "inherit"),
82
+ jQuery("#seopress_titles_title_pixel").css("color", "inherit"),
83
+ meta_title_val.length > 60 &&
84
+ jQuery("#seopress_titles_title_counters").css(
85
+ "color",
86
+ "red"
87
+ ),
88
+ pixelTitle(meta_title_val) > 568 &&
89
+ jQuery("#seopress_titles_title_pixel").css("color", "red");
90
+
91
+ if (meta_title_val.length == 0) {
92
+ meta_title_placeholder.length > 60 &&
93
+ jQuery("#seopress_titles_title_counters").css(
94
+ "color",
95
+ "red"
96
+ ),
97
+ pixelTitle(meta_title_placeholder) > 568 &&
98
+ jQuery("#seopress_titles_title_pixel").css(
99
+ "color",
100
+ "red"
101
+ );
102
+ }
103
+
104
+ meta_title_val.length > 0
105
+ ? (jQuery("#seopress_titles_title_counters").text(
106
+ meta_title_val.length
107
+ ),
108
+ jQuery("#seopress_titles_title_pixel").text(
109
+ pixelTitle(meta_title_val)
110
+ ))
111
+ : meta_title_placeholder.length &&
112
+ (jQuery("#seopress_titles_title_counters").text(
113
+ meta_title_placeholder.length
114
+ ),
115
+ jQuery("#seopress_titles_title_pixel").text(
116
+ pixelTitle(meta_title_placeholder)
117
+ ));
118
+ // meta_title_val.length > 0
119
+ // ? (jQuery(".snippet-title").css("display", "none"),
120
+ // jQuery(".snippet-title-default").css("display", "none"))
121
+ // : 0 == meta_title_val.length &&
122
+ // (jQuery(".snippet-title-default").css("display", "block"),
123
+ // jQuery(".snippet-title").css("display", "none"));
124
+
125
+ if (meta_title_val.length) {
126
+ var progress = Math.round(
127
+ (pixelTitle(meta_title_val) / 568) * 100
128
+ );
129
+ } else {
130
+ var progress = Math.round(
131
+ (pixelTitle(meta_title_placeholder) / 568) * 100
132
+ );
133
+ }
134
+
135
+ if (progress >= 100) {
136
+ progress = 100;
137
+ }
138
+
139
+ jQuery("#seopress_titles_title_counters_progress").attr(
140
+ "aria-valuenow",
141
+ progress
142
+ ),
143
+ jQuery("#seopress_titles_title_counters_progress").text(
144
+ progress + "%"
145
+ ),
146
+ jQuery("#seopress_titles_title_counters_progress").css(
147
+ "width",
148
+ progress + "%"
149
+ );
150
+ });
151
  }
152
 
153
  function sp_meta_desc_counters() {
154
+ var meta_desc_val = jQuery("#seopress_titles_desc_meta").val();
155
+ var meta_desc_placeholder = jQuery("#seopress_titles_desc_meta").attr(
156
+ "placeholder"
157
+ );
158
+
159
+ jQuery("#seopress_titles_desc_counters").after(
160
+ '<div id="seopress_titles_desc_counters_val">/ 160</div>'
161
+ ),
162
+ meta_desc_val.length > 0
163
+ ? (jQuery("#seopress_titles_desc_counters").text(
164
+ meta_desc_val.length
165
+ ),
166
+ jQuery("#seopress_titles_desc_pixel").text(
167
+ pixelDesc(meta_desc_val)
168
+ ))
169
+ : meta_desc_placeholder.length &&
170
+ (jQuery("#seopress_titles_desc_counters").text(
171
+ meta_desc_placeholder.length
172
+ ),
173
+ jQuery("#seopress_titles_desc_pixel").text(
174
+ pixelDesc(meta_desc_placeholder)
175
+ )),
176
+ meta_desc_val.length > 160
177
+ ? jQuery("#seopress_titles_desc_counters").css("color", "red")
178
+ : meta_desc_placeholder.length > 160 &&
179
+ jQuery("#seopress_titles_desc_counters").css("color", "red"),
180
+ pixelDesc(meta_desc_val) > 940
181
+ ? jQuery("#seopress_titles_desc_pixel").css("color", "red")
182
+ : pixelDesc(meta_desc_placeholder) > 940 &&
183
+ jQuery("#seopress_titles_desc_pixel").css("color", "red");
184
+
185
+ if (meta_desc_val.length) {
186
+ var progress = Math.round((pixelDesc(meta_desc_val) / 940) * 100);
187
+ } else {
188
+ var progress = Math.round(
189
+ (pixelDesc(meta_desc_placeholder) / 940) * 100
190
+ );
191
+ }
192
+
193
+ if (progress >= 100) {
194
+ progress = 100;
195
+ }
196
+
197
+ jQuery("#seopress_titles_desc_counters_progress").attr(
198
+ "aria-valuenow",
199
+ progress
200
+ ),
201
+ jQuery("#seopress_titles_desc_counters_progress").text(progress + "%"),
202
+ jQuery("#seopress_titles_desc_counters_progress").css(
203
+ "width",
204
+ progress + "%"
205
+ ),
206
+ jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on(
207
+ "keyup paste change click",
208
+ function (e) {
209
+ var meta_desc_val = jQuery("#seopress_titles_desc_meta").val();
210
+ var meta_desc_placeholder = jQuery(
211
+ "#seopress_titles_desc_meta"
212
+ ).attr("placeholder");
213
+
214
+ jQuery("#seopress_titles_desc_counters").css(
215
+ "color",
216
+ "inherit"
217
+ ),
218
+ jQuery("#seopress_titles_desc_pixel").css(
219
+ "color",
220
+ "inherit"
221
+ ),
222
+ meta_desc_val.length > 160 &&
223
+ jQuery("#seopress_titles_desc_counters").css(
224
+ "color",
225
+ "red"
226
+ ),
227
+ pixelDesc(meta_desc_val) > 940 &&
228
+ jQuery("#seopress_titles_desc_pixel").css(
229
+ "color",
230
+ "red"
231
+ );
232
+
233
+ if (meta_desc_val.length == 0) {
234
+ meta_desc_placeholder.length > 160 &&
235
+ jQuery("#seopress_titles_desc_counters").css(
236
+ "color",
237
+ "red"
238
+ ),
239
+ pixelDesc(meta_desc_placeholder) > 940 &&
240
+ jQuery("#seopress_titles_desc_pixel").css(
241
+ "color",
242
+ "red"
243
+ );
244
+ }
245
+
246
+ meta_desc_val.length > 0
247
+ ? (jQuery("#seopress_titles_desc_counters").text(
248
+ meta_desc_val.length
249
+ ),
250
+ jQuery("#seopress_titles_desc_pixel").text(
251
+ pixelDesc(meta_desc_val)
252
+ ))
253
+ : meta_desc_placeholder.length &&
254
+ (jQuery("#seopress_titles_desc_counters").text(
255
+ meta_desc_placeholder.length
256
+ ),
257
+ jQuery("#seopress_titles_desc_pixel").text(
258
+ pixelDesc(meta_desc_placeholder)
259
+ )),
260
+ meta_desc_val.length > 0
261
+ ? (jQuery(".snippet-description-custom").text(
262
+ e.target.value
263
+ ),
264
+ jQuery(".snippet-description").css("display", "none"),
265
+ jQuery(".snippet-description-custom").css(
266
+ "display",
267
+ "inline"
268
+ ),
269
+ jQuery(".snippet-description-default").css(
270
+ "display",
271
+ "none"
272
+ ))
273
+ : 0 == meta_desc_val.length &&
274
+ (jQuery(".snippet-description-default").css(
275
+ "display",
276
+ "inline"
277
+ ),
278
+ jQuery(".snippet-description-custom").css(
279
+ "display",
280
+ "none"
281
+ ),
282
+ jQuery(".snippet-description").css(
283
+ "display",
284
+ "none"
285
+ ));
286
+
287
+ if (meta_desc_val.length) {
288
+ var progress = Math.round(
289
+ (pixelDesc(meta_desc_val) / 940) * 100
290
+ );
291
+ } else {
292
+ var progress = Math.round(
293
+ (pixelDesc(meta_desc_placeholder) / 940) * 100
294
+ );
295
+ }
296
+
297
+ if (progress >= 100) {
298
+ progress = 100;
299
+ }
300
+
301
+ jQuery("#seopress_titles_desc_counters_progress").attr(
302
+ "aria-valuenow",
303
+ progress
304
+ ),
305
+ jQuery("#seopress_titles_desc_counters_progress").text(
306
+ progress + "%"
307
+ ),
308
+ jQuery("#seopress_titles_desc_counters_progress").css(
309
+ "width",
310
+ progress + "%"
311
+ );
312
+ }
313
+ ),
314
+ jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function (e) {
315
+ var meta_desc_val = jQuery("#seopress_titles_desc_meta").val();
316
+ var meta_desc_placeholder = jQuery(
317
+ "#seopress_titles_desc_meta"
318
+ ).attr("placeholder");
319
+
320
+ 0 == meta_desc_val.length &&
321
+ 0 == jQuery(".snippet-description-custom").val().length &&
322
+ (jQuery(".snippet-description-custom").text(e.target.value),
323
+ jQuery(".snippet-description").css("display", "none"),
324
+ jQuery(".snippet-description-custom").css("display", "inline"),
325
+ jQuery(".snippet-description-default").css("display", "none"));
326
+
327
+ if (meta_desc_val.length) {
328
+ var progress = meta_desc_val.length;
329
+ } else {
330
+ var progress = meta_desc_placeholder.length;
331
+ }
332
+ if (progress >= 100) {
333
+ progress = 100;
334
+ }
335
+
336
+ jQuery("#seopress_titles_desc_counters_progress").attr(
337
+ "aria-valuenow",
338
+ progress
339
+ ),
340
+ jQuery("#seopress_titles_desc_counters_progress").text(
341
+ progress + "%"
342
+ ),
343
+ jQuery("#seopress_titles_desc_counters_progress").css(
344
+ "width",
345
+ progress + "%"
346
+ );
347
+ });
348
  }
349
 
350
  function pixelTitle(e) {
351
+ inputText = e;
352
+ font = "18px Arial";
353
+
354
+ canvas = document.createElement("canvas");
355
+ context = canvas.getContext("2d");
356
+ context.font = font;
357
+ width = context.measureText(inputText).width;
358
+ formattedWidth = Math.ceil(width);
359
+
360
+ return formattedWidth;
361
  }
362
 
363
  function pixelDesc(e) {
364
+ inputText = e;
365
+ font = "14px Arial";
366
+
367
+ canvas = document.createElement("canvas");
368
+ context = canvas.getContext("2d");
369
+ context.font = font;
370
+ width = context.measureText(inputText).width;
371
+ formattedWidth = Math.ceil(width);
372
+
373
+ return formattedWidth;
374
  }
375
 
376
  function sp_is_valid_url(string) {
377
+ var res = string.match(
378
+ /(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g
379
+ );
380
+ return res !== null;
381
  }
382
 
383
  function sp_social_img(social_slug) {
384
+ jQuery(".snippet-" + social_slug + "-img-alert").css("display", "none");
385
+ var meta_img_val = jQuery(
386
+ "#seopress_social_" + social_slug + "_img_meta"
387
+ ).val();
388
+
389
+ if (meta_img_val == "") {
390
+ var meta_img_val = jQuery(
391
+ "#seopress_social_" + social_slug + "_img_meta"
392
+ ).attr("placeholder");
393
+ }
394
+
395
+ // Check valid URL
396
+ if (sp_is_valid_url(meta_img_val) === true) {
397
+ meta_img_val.length > 0
398
+ ? (jQuery(".snippet-" + social_slug + "-img-custom img").attr(
399
+ "src",
400
+ meta_img_val
401
+ ),
402
+ jQuery(".snippet-" + social_slug + "-img").css("display", "none"),
403
+ jQuery(".snippet-" + social_slug + "-img-custom").css(
404
+ "display",
405
+ "block"
406
+ ),
407
+ jQuery(".snippet-" + social_slug + "-img-default").css(
408
+ "display",
409
+ "none"
410
+ ))
411
+ : 0 == meta_img_val.length &&
412
+ (jQuery(".snippet-" + social_slug + "-img-default").css(
413
+ "display",
414
+ "block"
415
+ ),
416
+ jQuery(".snippet-" + social_slug + "-img-custom").css(
417
+ "display",
418
+ "none"
419
+ ),
420
+ jQuery(".snippet-" + social_slug + "-img").css(
421
+ "display",
422
+ "none"
423
+ ));
424
+
425
+ if (meta_img_val.length > 0) {
426
+ // Check file URL
427
+ jQuery
428
+ .get(meta_img_val)
429
+ .done(function () {
430
+ // Extract filetype
431
+ var meta_img_filetype = meta_img_val
432
+ .split(/\#|\?/)[0]
433
+ .split(".")
434
+ .pop()
435
+ .trim();
436
+ var types = ["jpg", "jpeg", "gif", "png"];
437
+
438
+ if (types.indexOf(meta_img_filetype) == -1) {
439
+ jQuery(
440
+ ".snippet-" + social_slug + "-img-alert.alert1"
441
+ ).css("display", "block");
442
+ } else {
443
+ // Extract image size
444
+ var tmp_img = new Image();
445
+ tmp_img.src = meta_img_val;
446
+ jQuery(tmp_img).one("load", function () {
447
+ pic_real_width = parseInt(tmp_img.width);
448
+ pic_real_height = parseInt(tmp_img.height);
449
+
450
+ // Default minimum size
451
+ if (social_slug == "fb") {
452
+ (min_width = 200), (min_height = 200);
453
+ } else {
454
+ (min_width = 144), (min_height = 144);
455
+ }
456
+ if (
457
+ pic_real_width < min_width ||
458
+ pic_real_height < min_height
459
+ ) {
460
+ jQuery(
461
+ ".snippet-" +
462
+ social_slug +
463
+ "-img-alert.alert2"
464
+ ).css("display", "block");
465
+ }
466
+ ratio_img = (
467
+ pic_real_width / pic_real_height
468
+ ).toFixed(2);
469
+ jQuery(
470
+ ".snippet-" + social_slug + "-img-alert.alert4"
471
+ ).css("display", "block");
472
+ jQuery(
473
+ ".snippet-" +
474
+ social_slug +
475
+ "-img-alert.alert4 span"
476
+ ).text(ratio_img);
477
+ });
478
+ }
479
+ })
480
+ .fail(function () {
481
+ jQuery(".snippet-" + social_slug + "-img-alert.alert3").css(
482
+ "display",
483
+ "block"
484
+ );
485
+ });
486
+ }
487
+ } else {
488
+ jQuery(".snippet-" + social_slug + "-img-alert.alert5").css(
489
+ "display",
490
+ "block"
491
+ );
492
+ }
493
  }
494
 
495
  function sp_social() {
496
+ // FACEBOOK
497
+ jQuery(
498
+ "#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep"
499
+ ).on("keyup paste change click", function (e) {
500
+ var meta_fb_title_val = jQuery("#seopress_social_fb_title_meta").val();
501
+
502
+ meta_fb_title_val.length > 0
503
+ ? (jQuery(".snippet-fb-title-custom").text(e.target.value),
504
+ jQuery(".snippet-fb-title").css("display", "none"),
505
+ jQuery(".snippet-fb-title-custom").css("display", "block"),
506
+ jQuery(".snippet-fb-title-default").css("display", "none"))
507
+ : 0 == meta_fb_title_val.length &&
508
+ (jQuery(".snippet-fb-title-default").css("display", "block"),
509
+ jQuery(".snippet-fb-title-custom").css("display", "none"),
510
+ jQuery(".snippet-fb-title").css("display", "none"));
511
+ });
512
+
513
+ jQuery("#seopress_social_fb_desc_meta").on(
514
+ "keyup paste change click",
515
+ function (e) {
516
+ var meta_fb_desc_val = jQuery(
517
+ "#seopress_social_fb_desc_meta"
518
+ ).val();
519
+
520
+ meta_fb_desc_val.length > 0
521
+ ? (jQuery(".snippet-fb-description-custom").text(
522
+ e.target.value
523
+ ),
524
+ jQuery(".snippet-fb-description").css("display", "none"),
525
+ jQuery(".snippet-fb-description-custom").css(
526
+ "display",
527
+ "block"
528
+ ),
529
+ jQuery(".snippet-fb-description-default").css(
530
+ "display",
531
+ "none"
532
+ ))
533
+ : 0 == meta_fb_desc_val.length &&
534
+ (jQuery(".snippet-fb-description-default").css(
535
+ "display",
536
+ "block"
537
+ ),
538
+ jQuery(".snippet-fb-description-custom").css(
539
+ "display",
540
+ "none"
541
+ ),
542
+ jQuery(".snippet-fb-description").css("display", "none"));
543
+ }
544
+ );
545
+
546
+ sp_social_img("fb");
547
+ jQuery("#seopress_social_fb_img_meta").on(
548
+ "keyup paste change click",
549
+ function () {
550
+ sp_social_img("fb");
551
+ }
552
+ );
553
+
554
+ // TWITTER
555
+ jQuery("#seopress_social_twitter_title_meta").on(
556
+ "keyup paste change click",
557
+ function (e) {
558
+ var meta_fb_title_val = jQuery(
559
+ "#seopress_social_twitter_title_meta"
560
+ ).val();
561
+
562
+ meta_fb_title_val.length > 0
563
+ ? (jQuery(".snippet-twitter-title-custom").text(e.target.value),
564
+ jQuery(".snippet-twitter-title").css("display", "none"),
565
+ jQuery(".snippet-twitter-title-custom").css(
566
+ "display",
567
+ "block"
568
+ ),
569
+ jQuery(".snippet-twitter-title-default").css(
570
+ "display",
571
+ "none"
572
+ ))
573
+ : 0 == meta_fb_title_val.length &&
574
+ (jQuery(".snippet-twitter-title-default").css(
575
+ "display",
576
+ "block"
577
+ ),
578
+ jQuery(".snippet-twitter-title-custom").css(
579
+ "display",
580
+ "none"
581
+ ),
582
+ jQuery(".snippet-twitter-title").css("display", "none"));
583
+ }
584
+ );
585
+
586
+ jQuery("#seopress_social_twitter_desc_meta").on(
587
+ "keyup paste change click",
588
+ function (e) {
589
+ var meta_fb_desc_val = jQuery(
590
+ "#seopress_social_twitter_desc_meta"
591
+ ).val();
592
+
593
+ meta_fb_desc_val.length > 0
594
+ ? (jQuery(".snippet-twitter-description-custom").text(
595
+ e.target.value
596
+ ),
597
+ jQuery(".snippet-twitter-description").css("display", "none"),
598
+ jQuery(".snippet-twitter-description-custom").css(
599
+ "display",
600
+ "block"
601
+ ),
602
+ jQuery(".snippet-twitter-description-default").css(
603
+ "display",
604
+ "none"
605
+ ))
606
+ : 0 == meta_fb_desc_val.length &&
607
+ (jQuery(".snippet-twitter-description-default").css(
608
+ "display",
609
+ "block"
610
+ ),
611
+ jQuery(".snippet-twitter-description-custom").css(
612
+ "display",
613
+ "none"
614
+ ),
615
+ jQuery(".snippet-twitter-description").css(
616
+ "display",
617
+ "none"
618
+ ));
619
+ }
620
+ );
621
+
622
+ sp_social_img("twitter");
623
+ jQuery("#seopress_social_twitter_img_meta").on(
624
+ "keyup paste change click",
625
+ function () {
626
+ sp_social_img("twitter");
627
+ }
628
+ );
629
  }
630
 
631
  //Content Analysis - Toggle
632
  function sp_ca_toggle() {
633
+ var stop = false;
634
+ jQuery(".gr-analysis-title .btn-toggle").on("click", function (e) {
635
+ if (stop) {
636
+ event.stopImmediatePropagation();
637
+ event.preventDefault();
638
+ stop = false;
639
+ }
640
+ jQuery(this).toggleClass("open");
641
+ jQuery(this).parent().parent().next(".gr-analysis-content").toggle();
642
+ });
643
+
644
+ //Show all
645
+ jQuery("#expand-all").on("click", function (e) {
646
+ e.preventDefault();
647
+ jQuery(".gr-analysis-content").show();
648
+ });
649
+ //Hide all
650
+ jQuery("#close-all").on("click", function (e) {
651
+ e.preventDefault();
652
+ jQuery(".gr-analysis-content").hide();
653
+ });
654
  }
655
 
656
  //Tagify
657
+ var input = document.querySelector(
658
+ "input[id=seopress_analysis_target_kw_meta]"
659
+ );
660
 
661
  var target_kw = new Tagify(input, {
662
+ originalInputValueFormat: (valuesArr) =>
663
+ valuesArr.map((item) => item.value).join(","),
664
+ });
665
+
666
+ function seopress_google_suggest(data) {
667
+ var raw_suggestions = String(data);
668
+ var suggestions_array = raw_suggestions.split(",");
669
+
670
+ var i;
671
+ for (i = 0; i < suggestions_array.length; i++) {
672
+ if (
673
+ suggestions_array[i] != null &&
674
+ suggestions_array[i] != undefined &&
675
+ suggestions_array[i] != "" &&
676
+ suggestions_array[i] != "[object Object]"
677
+ ) {
678
+ document.getElementById("seopress_suggestions").innerHTML +=
679
+ '<li><a href="#" class="sp-suggest-btn button button-small">' +
680
+ suggestions_array[i] +
681
+ "</a></li>";
682
+ }
683
+ }
684
+
685
+ jQuery(".sp-suggest-btn").click(function (e) {
686
+ e.preventDefault();
687
+
688
+ target_kw.addTags(jQuery(this).text());
689
+ });
690
  }
691
 
692
+ jQuery(document).ready(function (e) {
693
+ //default state
694
+ if (jQuery("#toggle-preview").attr("data-toggle") == "1") {
695
+ jQuery("#seopress_cpt .google-snippet-preview").addClass(
696
+ "mobile-preview"
697
+ );
698
+ } else {
699
+ jQuery("#seopress_cpt .google-snippet-preview").removeClass(
700
+ "mobile-preview"
701
+ );
702
+ }
703
+ jQuery("#toggle-preview").on("click", function () {
704
+ jQuery("#toggle-preview").attr(
705
+ "data-toggle",
706
+ jQuery("#toggle-preview").attr("data-toggle") == "1" ? "0" : "1"
707
+ );
708
+ jQuery("#seopress_cpt .google-snippet-preview").toggleClass(
709
+ "mobile-preview"
710
+ );
711
+ });
712
+ function s() {
713
+ e.ajax({
714
+ method: "GET",
715
+ url: seopressAjaxRealPreview.seopress_real_preview,
716
+ data: {
717
+ action: "seopress_do_real_preview",
718
+ post_id: e("#seopress-tabs").attr("data_id"),
719
+ tax_name: e("#seopress-tabs").attr("data_tax"),
720
+ origin: e("#seopress-tabs").attr("data_origin"),
721
+ post_type: e("#seopress_launch_analysis").attr(
722
+ "data_post_type"
723
+ ),
724
+ seopress_analysis_target_kw: e(
725
+ "#seopress_analysis_target_kw_meta"
726
+ ).val(),
727
+ _ajax_nonce: seopressAjaxRealPreview.seopress_nonce,
728
+ },
729
+ beforeSend: function () {
730
+ e(".analysis-score p span")
731
+ .fadeIn()
732
+ .text(seopressAjaxRealPreview.i18n.progress),
733
+ e(".analysis-score p").addClass("loading");
734
+ },
735
+ success: function (s) {
736
+ typeof s.data.og_title === "undefined"
737
+ ? (og_title = "")
738
+ : (og_title = s.data.og_title.values);
739
+ typeof s.data.og_desc === "undefined"
740
+ ? (og_desc = "")
741
+ : (og_desc = s.data.og_desc.values);
742
+ typeof s.data.og_img === "undefined"
743
+ ? (og_img = "")
744
+ : (og_img = s.data.og_img.values);
745
+ typeof s.data.og_url === "undefined"
746
+ ? (og_url = "")
747
+ : (og_url = s.data.og_url.host);
748
+ typeof s.data.og_site_name === "undefined"
749
+ ? (og_site_name = "")
750
+ : (og_site_name = s.data.og_site_name.values);
751
+ typeof s.data.tw_title === "undefined"
752
+ ? (tw_title = "")
753
+ : (tw_title = s.data.tw_title.values);
754
+ typeof s.data.tw_desc === "undefined"
755
+ ? (tw_desc = "")
756
+ : (tw_desc = s.data.tw_desc.values);
757
+ typeof s.data.tw_img === "undefined"
758
+ ? (tw_img = "")
759
+ : (tw_img = s.data.tw_img.values);
760
+ typeof s.data.meta_robots === "undefined"
761
+ ? (meta_robots = "")
762
+ : (meta_robots = s.data.meta_robots[0]);
763
+
764
+ var data_arr = {
765
+ og_title: og_title,
766
+ og_desc: og_desc,
767
+ og_img: og_img,
768
+ og_url: og_url,
769
+ og_site_name: og_site_name,
770
+ tw_title: tw_title,
771
+ tw_desc: tw_desc,
772
+ tw_img: tw_img,
773
+ };
774
+
775
+ for (var key in data_arr) {
776
+ if (data_arr.length) {
777
+ if (data_arr[key].length > 1) {
778
+ key = data_arr[key].slice(-1)[0];
779
+ } else {
780
+ key = data_arr[key][0];
781
+ }
782
+ }
783
+ }
784
+
785
+ // Meta Robots
786
+ meta_robots = meta_robots.toString();
787
+
788
+ e("#sp-advanced-alert").empty();
789
+
790
+ var if_noindex = new RegExp("noindex");
791
+
792
+ if (if_noindex.test(meta_robots)) {
793
+ e("#sp-advanced-alert").append(
794
+ '<span class="impact high" aria-hidden="true"></span>'
795
+ );
796
+ }
797
+
798
+ // Google Preview
799
+ e("#seopress_cpt .google-snippet-preview .snippet-title").html(
800
+ s.data.title
801
+ ),
802
+ e(
803
+ "#seopress_cpt .google-snippet-preview .snippet-title-default"
804
+ ).html(s.data.title),
805
+ e("#seopress_titles_title_meta").attr(
806
+ "placeholder",
807
+ s.data.title
808
+ ),
809
+ e(
810
+ "#seopress_cpt .google-snippet-preview .snippet-description"
811
+ ).html(s.data.meta_desc),
812
+ e(
813
+ "#seopress_cpt .google-snippet-preview .snippet-description-default"
814
+ ).html(s.data.meta_desc),
815
+ e("#seopress_titles_desc_meta").attr(
816
+ "placeholder",
817
+ s.data.meta_desc
818
+ );
819
+
820
+ // Facebook Preview
821
+ if (data_arr.og_title) {
822
+ e("#seopress_cpt #seopress_social_fb_title_meta").attr(
823
+ "placeholder",
824
+ data_arr.og_title[0]
825
+ ),
826
+ e(
827
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-title"
828
+ ).html(data_arr.og_title[0]),
829
+ e(
830
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default"
831
+ ).html(data_arr.og_title[0]);
832
+ }
833
+
834
+ if (data_arr.og_desc) {
835
+ e("#seopress_cpt #seopress_social_fb_desc_meta").attr(
836
+ "placeholder",
837
+ data_arr.og_desc[0]
838
+ ),
839
+ e(
840
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-description"
841
+ ).html(data_arr.og_desc[0]),
842
+ e(
843
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default"
844
+ ).html(data_arr.og_desc[0]);
845
+ }
846
+
847
+ if (data_arr.og_img) {
848
+ e("#seopress_cpt #seopress_social_fb_img_meta").attr(
849
+ "placeholder",
850
+ data_arr.og_img[0]
851
+ ),
852
+ e(
853
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-img img"
854
+ ).attr("src", data_arr.og_img[0]),
855
+ e(
856
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img"
857
+ ).attr("src", data_arr.og_img[0]);
858
+ }
859
+
860
+ e(
861
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-url"
862
+ ).html(data_arr.og_url),
863
+ e(
864
+ "#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name"
865
+ ).html(data_arr.og_site_name);
866
+
867
+ // Twitter Preview
868
+ if (data_arr.tw_title) {
869
+ e("#seopress_cpt #seopress_social_twitter_title_meta").attr(
870
+ "placeholder",
871
+ data_arr.tw_title[0]
872
+ ),
873
+ e(
874
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-title"
875
+ ).html(data_arr.tw_title[0]),
876
+ e(
877
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default"
878
+ ).html(data_arr.tw_title[0]);
879
+ }
880
+
881
+ if (data_arr.tw_desc) {
882
+ e("#seopress_cpt #seopress_social_twitter_desc_meta").attr(
883
+ "placeholder",
884
+ data_arr.tw_desc[0]
885
+ ),
886
+ e(
887
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-description"
888
+ ).html(data_arr.tw_desc[0]),
889
+ e(
890
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default"
891
+ ).html(data_arr.tw_desc[0]);
892
+ }
893
+
894
+ if (data_arr.tw_img) {
895
+ e("#seopress_cpt #seopress_social_twitter_img_meta").attr(
896
+ "placeholder",
897
+ data_arr.tw_img[0]
898
+ ),
899
+ e(
900
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img"
901
+ ).attr("src", data_arr.tw_img[0]),
902
+ e(
903
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img"
904
+ ).attr("src", data_arr.tw_img[0]);
905
+ }
906
+
907
+ e(
908
+ "#seopress_cpt .twitter-snippet-preview .snippet-twitter-url"
909
+ ).html(data_arr.og_url),
910
+ e("#seopress_cpt #seopress_robots_canonical_meta").attr(
911
+ "placeholder",
912
+ s.data.canonical
913
+ ),
914
+ e("#seopress-analysis-tabs").load(
915
+ " #seopress-analysis-tabs-1",
916
+ "",
917
+ sp_ca_toggle
918
+ ),
919
+ e(".analysis-score p").removeClass("loading"),
920
+ e(" #seopress_titles_title_counters_val").remove(),
921
+ e(" #seopress_titles_desc_counters_val").remove(),
922
+ sp_titles_counters(),
923
+ sp_meta_desc_counters(),
924
+ sp_social();
925
+ },
926
+ });
927
+ }
928
+ s(),
929
+ e("#seopress_launch_analysis").on("click", function () {
930
+ s();
931
+ }),
932
+ sp_ca_toggle();
933
+ });
assets/js/seopress-counters.min.js CHANGED
@@ -1 +1 @@
1
- function sp_titles_counters(){var meta_title_val=jQuery("#seopress_titles_title_meta").val(),meta_title_placeholder=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),meta_title_val.length>0?(jQuery("#seopress_titles_title_counters").text(meta_title_val.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_val))):meta_title_placeholder.length&&(jQuery("#seopress_titles_title_counters").text(meta_title_placeholder.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_placeholder))),meta_title_val.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):meta_title_placeholder.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(meta_title_val)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(meta_title_placeholder)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),meta_title_val.length)var progress=Math.round(pixelTitle(meta_title_val)/568*100);else var progress=Math.round(pixelTitle(meta_title_placeholder)/568*100);progress>=100&&(progress=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_title_counters_progress").text(progress+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",progress+"%"),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 meta_title_val=jQuery("#seopress_titles_title_meta").val(),meta_title_placeholder=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),meta_title_val.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(meta_title_val)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==meta_title_val.length&&(meta_title_placeholder.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(meta_title_placeholder)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),meta_title_val.length>0?(jQuery("#seopress_titles_title_counters").text(meta_title_val.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_val))):meta_title_placeholder.length&&(jQuery("#seopress_titles_title_counters").text(meta_title_placeholder.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(meta_title_placeholder))),meta_title_val.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==meta_title_val.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),meta_title_val.length)var progress=Math.round(pixelTitle(meta_title_val)/568*100);else var progress=Math.round(pixelTitle(meta_title_placeholder)/568*100);progress>=100&&(progress=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_title_counters_progress").text(progress+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",progress+"%")}))}function sp_meta_desc_counters(){var meta_desc_val=jQuery("#seopress_titles_desc_meta").val(),meta_desc_placeholder=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),meta_desc_val.length>0?(jQuery("#seopress_titles_desc_counters").text(meta_desc_val.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_val))):meta_desc_placeholder.length&&(jQuery("#seopress_titles_desc_counters").text(meta_desc_placeholder.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_placeholder))),meta_desc_val.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):meta_desc_placeholder.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(meta_desc_val)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(meta_desc_placeholder)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),meta_desc_val.length)var progress=Math.round(pixelDesc(meta_desc_val)/940*100);else var progress=Math.round(pixelDesc(meta_desc_placeholder)/940*100);progress>=100&&(progress=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_desc_counters_progress").text(progress+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",progress+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",(function(e){var meta_desc_val=jQuery("#seopress_titles_desc_meta").val(),meta_desc_placeholder=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),meta_desc_val.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(meta_desc_val)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==meta_desc_val.length&&(meta_desc_placeholder.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(meta_desc_placeholder)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),meta_desc_val.length>0?(jQuery("#seopress_titles_desc_counters").text(meta_desc_val.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_val))):meta_desc_placeholder.length&&(jQuery("#seopress_titles_desc_counters").text(meta_desc_placeholder.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(meta_desc_placeholder))),meta_desc_val.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==meta_desc_val.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),meta_desc_val.length)var progress=Math.round(pixelDesc(meta_desc_val)/940*100);else var progress=Math.round(pixelDesc(meta_desc_placeholder)/940*100);progress>=100&&(progress=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_desc_counters_progress").text(progress+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",progress+"%")})),jQuery("#excerpt, .editor-post-excerpt textarea").keyup((function(e){var meta_desc_val=jQuery("#seopress_titles_desc_meta").val(),meta_desc_placeholder=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==meta_desc_val.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),meta_desc_val.length)var progress=meta_desc_val.length;else var progress=meta_desc_placeholder.length;progress>=100&&(progress=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",progress),jQuery("#seopress_titles_desc_counters_progress").text(progress+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",progress+"%")}))}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_is_valid_url(string){var res;return null!==string.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g)}function sp_social_img(social_slug){var meta_img_val;if(jQuery(".snippet-"+social_slug+"-img-alert").css("display","none"),""==(meta_img_val=jQuery("#seopress_social_"+social_slug+"_img_meta").val()))var meta_img_val=jQuery("#seopress_social_"+social_slug+"_img_meta").attr("placeholder");!0===sp_is_valid_url(meta_img_val)?(meta_img_val.length>0?(jQuery(".snippet-"+social_slug+"-img-custom img").attr("src",meta_img_val),jQuery(".snippet-"+social_slug+"-img").css("display","none"),jQuery(".snippet-"+social_slug+"-img-custom").css("display","block"),jQuery(".snippet-"+social_slug+"-img-default").css("display","none")):0==meta_img_val.length&&(jQuery(".snippet-"+social_slug+"-img-default").css("display","block"),jQuery(".snippet-"+social_slug+"-img-custom").css("display","none"),jQuery(".snippet-"+social_slug+"-img").css("display","none")),meta_img_val.length>0&&jQuery.get(meta_img_val).done((function(){var meta_img_filetype=meta_img_val.split(/\#|\?/)[0].split(".").pop().trim(),types;if(-1==["jpg","jpeg","gif","png"].indexOf(meta_img_filetype))jQuery(".snippet-"+social_slug+"-img-alert.alert1").css("display","block");else{var tmp_img=new Image;tmp_img.src=meta_img_val,jQuery(tmp_img).one("load",(function(){pic_real_width=parseInt(tmp_img.width),pic_real_height=parseInt(tmp_img.height),"fb"==social_slug?(min_width=200,min_height=200):(min_width=144,min_height=144),(pic_real_width<min_width||pic_real_height<min_height)&&jQuery(".snippet-"+social_slug+"-img-alert.alert2").css("display","block"),ratio_img=(pic_real_width/pic_real_height).toFixed(2),jQuery(".snippet-"+social_slug+"-img-alert.alert4").css("display","block"),jQuery(".snippet-"+social_slug+"-img-alert.alert4 span").text(ratio_img)}))}})).fail((function(){jQuery(".snippet-"+social_slug+"-img-alert.alert3").css("display","block")}))):jQuery(".snippet-"+social_slug+"-img-alert.alert5").css("display","block")}function sp_social(){jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",(function(e){var meta_fb_title_val=jQuery("#seopress_social_fb_title_meta").val();meta_fb_title_val.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==meta_fb_title_val.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 meta_fb_desc_val=jQuery("#seopress_social_fb_desc_meta").val();meta_fb_desc_val.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==meta_fb_desc_val.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))})),sp_social_img("fb"),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",(function(){sp_social_img("fb")})),jQuery("#seopress_social_twitter_title_meta").on("keyup paste change click",(function(e){var meta_fb_title_val=jQuery("#seopress_social_twitter_title_meta").val();meta_fb_title_val.length>0?(jQuery(".snippet-twitter-title-custom").text(e.target.value),jQuery(".snippet-twitter-title").css("display","none"),jQuery(".snippet-twitter-title-custom").css("display","block"),jQuery(".snippet-twitter-title-default").css("display","none")):0==meta_fb_title_val.length&&(jQuery(".snippet-twitter-title-default").css("display","block"),jQuery(".snippet-twitter-title-custom").css("display","none"),jQuery(".snippet-twitter-title").css("display","none"))})),jQuery("#seopress_social_twitter_desc_meta").on("keyup paste change click",(function(e){var meta_fb_desc_val=jQuery("#seopress_social_twitter_desc_meta").val();meta_fb_desc_val.length>0?(jQuery(".snippet-twitter-description-custom").text(e.target.value),jQuery(".snippet-twitter-description").css("display","none"),jQuery(".snippet-twitter-description-custom").css("display","block"),jQuery(".snippet-twitter-description-default").css("display","none")):0==meta_fb_desc_val.length&&(jQuery(".snippet-twitter-description-default").css("display","block"),jQuery(".snippet-twitter-description-custom").css("display","none"),jQuery(".snippet-twitter-description").css("display","none"))})),sp_social_img("twitter"),jQuery("#seopress_social_twitter_img_meta").on("keyup paste change click",(function(){sp_social_img("twitter")}))}function sp_ca_toggle(){var stop=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",(function(e){stop&&(event.stopImmediatePropagation(),event.preventDefault(),stop=!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()}))}var input=document.querySelector("input[id=seopress_analysis_target_kw_meta]"),target_kw=new Tagify(input,{originalInputValueFormat:valuesArr=>valuesArr.map(item=>item.value).join(",")});function seopress_google_suggest(data){var raw_suggestions,suggestions_array=String(data).split(","),i;for(i=0;i<suggestions_array.length;i++)null!=suggestions_array[i]&&null!=suggestions_array[i]&&""!=suggestions_array[i]&&"[object Object]"!=suggestions_array[i]&&(document.getElementById("seopress_suggestions").innerHTML+='<li><a href="#" class="sp-suggest-btn button button-small">'+suggestions_array[i]+"</a></li>");jQuery(".sp-suggest-btn").click((function(e){e.preventDefault(),target_kw.addTags(jQuery(this).text())}))}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,void 0===s.data.meta_robots?meta_robots="":meta_robots=s.data.meta_robots[0];var data_arr={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},if_noindex;for(var key in data_arr)data_arr.length&&(key=data_arr[key].length>1?data_arr[key].slice(-1)[0]:data_arr[key][0]);meta_robots=meta_robots.toString(),e("#sp-advanced-alert").empty(),new RegExp("noindex").test(meta_robots)&&e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),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),data_arr.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",data_arr.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(data_arr.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(data_arr.og_title[0])),data_arr.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",data_arr.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(data_arr.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(data_arr.og_desc[0])),data_arr.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",data_arr.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",data_arr.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",data_arr.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(data_arr.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(data_arr.og_site_name),data_arr.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",data_arr.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(data_arr.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(data_arr.tw_title[0])),data_arr.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",data_arr.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(data_arr.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(data_arr.tw_desc[0])),data_arr.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",data_arr.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",data_arr.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",data_arr.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(data_arr.og_url),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()}));
1
+ function sp_titles_counters(){const e=jQuery;let t=e("#seopress_titles_title_meta");e(".snippet-title-custom:visible").length>0?t=e(".snippet-title-custom"):e(".snippet-title:visible").length>0?t=e(".snippet-title"):e(".snippet-title-default:visible").length>0&&(t=e(".snippet-title-default"));var s=t.val(),i=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):i.length&&(jQuery("#seopress_titles_title_counters").text(i.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(i))),s.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):i.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(i)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),s.length)var r=Math.round(pixelTitle(s)/568*100);else r=Math.round(pixelTitle(i)/568*100);r>=100&&(r=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_title_counters_progress").text(r+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",r+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(t){var s=e("#seopress_titles_title_meta").val();e(".snippet-title-custom:visible").length>0?s=e(".snippet-title-custom").text():e(".snippet-title:visible").length>0?s=e(".snippet-title").text():e(".snippet-title-default:visible").length>0&&(s=e(".snippet-title-default").text());var i=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&&(i.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(i)>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))):i.length&&(jQuery("#seopress_titles_title_counters").text(i.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(i))),s.length)var r=Math.round(pixelTitle(s)/568*100);else r=Math.round(pixelTitle(i)/568*100);r>=100&&(r=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_title_counters_progress").text(r+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",r+"%")})}function sp_meta_desc_counters(){var e=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(e))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var s=Math.round(pixelDesc(e)/940*100);else s=Math.round(pixelDesc(t)/940*100);s>=100&&(s=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",s),jQuery("#seopress_titles_desc_counters_progress").text(s+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",s+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==t.length&&(s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelDesc(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),t.length>0?(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(t))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelDesc(s))),t.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),t.length)var i=Math.round(pixelDesc(t)/940*100);else i=Math.round(pixelDesc(s)/940*100);i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var t=jQuery("#seopress_titles_desc_meta").val(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==t.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),t.length)var i=t.length;else i=s.length;i>=100&&(i=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",i),jQuery("#seopress_titles_desc_counters_progress").text(i+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",i+"%")})}function pixelTitle(e){return inputText=e,font="18px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function pixelDesc(e){return inputText=e,font="14px Arial",canvas=document.createElement("canvas"),context=canvas.getContext("2d"),context.font=font,width=context.measureText(inputText).width,formattedWidth=Math.ceil(width),formattedWidth}function sp_is_valid_url(e){var t=e.match(/(http(s)?:\/\/.)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/g);return null!==t}function sp_social_img(e){jQuery(".snippet-"+e+"-img-alert").css("display","none");var t=jQuery("#seopress_social_"+e+"_img_meta").val();if(""==t)t=jQuery("#seopress_social_"+e+"_img_meta").attr("placeholder");!0===sp_is_valid_url(t)?(t.length>0?(jQuery(".snippet-"+e+"-img-custom img").attr("src",t),jQuery(".snippet-"+e+"-img").css("display","none"),jQuery(".snippet-"+e+"-img-custom").css("display","block"),jQuery(".snippet-"+e+"-img-default").css("display","none")):0==t.length&&(jQuery(".snippet-"+e+"-img-default").css("display","block"),jQuery(".snippet-"+e+"-img-custom").css("display","none"),jQuery(".snippet-"+e+"-img").css("display","none")),t.length>0&&jQuery.get(t).done(function(){var s=t.split(/\#|\?/)[0].split(".").pop().trim(),i=["jpg","jpeg","gif","png"];if(-1==i.indexOf(s))jQuery(".snippet-"+e+"-img-alert.alert1").css("display","block");else{var r=new Image;r.src=t,jQuery(r).one("load",function(){pic_real_width=parseInt(r.width),pic_real_height=parseInt(r.height),"fb"==e?(min_width=200,min_height=200):(min_width=144,min_height=144),(pic_real_width<min_width||pic_real_height<min_height)&&jQuery(".snippet-"+e+"-img-alert.alert2").css("display","block"),ratio_img=(pic_real_width/pic_real_height).toFixed(2),jQuery(".snippet-"+e+"-img-alert.alert4").css("display","block"),jQuery(".snippet-"+e+"-img-alert.alert4 span").text(ratio_img)})}}).fail(function(){jQuery(".snippet-"+e+"-img-alert.alert3").css("display","block")})):jQuery(".snippet-"+e+"-img-alert.alert5").css("display","block")}function sp_social(){jQuery("#seopress_social_fb_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_title_meta").val();t.length>0?(jQuery(".snippet-fb-title-custom").text(e.target.value),jQuery(".snippet-fb-title").css("display","none"),jQuery(".snippet-fb-title-custom").css("display","block"),jQuery(".snippet-fb-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-title-default").css("display","block"),jQuery(".snippet-fb-title-custom").css("display","none"),jQuery(".snippet-fb-title").css("display","none"))}),jQuery("#seopress_social_fb_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_fb_desc_meta").val();t.length>0?(jQuery(".snippet-fb-description-custom").text(e.target.value),jQuery(".snippet-fb-description").css("display","none"),jQuery(".snippet-fb-description-custom").css("display","block"),jQuery(".snippet-fb-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-fb-description-default").css("display","block"),jQuery(".snippet-fb-description-custom").css("display","none"),jQuery(".snippet-fb-description").css("display","none"))}),sp_social_img("fb"),jQuery("#seopress_social_fb_img_meta").on("keyup paste change click",function(){sp_social_img("fb")}),jQuery("#seopress_social_twitter_title_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_title_meta").val();t.length>0?(jQuery(".snippet-twitter-title-custom").text(e.target.value),jQuery(".snippet-twitter-title").css("display","none"),jQuery(".snippet-twitter-title-custom").css("display","block"),jQuery(".snippet-twitter-title-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-title-default").css("display","block"),jQuery(".snippet-twitter-title-custom").css("display","none"),jQuery(".snippet-twitter-title").css("display","none"))}),jQuery("#seopress_social_twitter_desc_meta").on("keyup paste change click",function(e){var t=jQuery("#seopress_social_twitter_desc_meta").val();t.length>0?(jQuery(".snippet-twitter-description-custom").text(e.target.value),jQuery(".snippet-twitter-description").css("display","none"),jQuery(".snippet-twitter-description-custom").css("display","block"),jQuery(".snippet-twitter-description-default").css("display","none")):0==t.length&&(jQuery(".snippet-twitter-description-default").css("display","block"),jQuery(".snippet-twitter-description-custom").css("display","none"),jQuery(".snippet-twitter-description").css("display","none"))}),sp_social_img("twitter"),jQuery("#seopress_social_twitter_img_meta").on("keyup paste change click",function(){sp_social_img("twitter")})}function sp_ca_toggle(){var e=!1;jQuery(".gr-analysis-title .btn-toggle").on("click",function(t){e&&(event.stopImmediatePropagation(),event.preventDefault(),e=!1),jQuery(this).toggleClass("open"),jQuery(this).parent().parent().next(".gr-analysis-content").toggle()}),jQuery("#expand-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").show()}),jQuery("#close-all").on("click",function(e){e.preventDefault(),jQuery(".gr-analysis-content").hide()})}function seopress_google_suggest(e){var t,s=String(e),i=s.split(",");for(t=0;t<i.length;t++)null!=i[t]&&null!=i[t]&&""!=i[t]&&"[object Object]"!=i[t]&&(document.getElementById("seopress_suggestions").innerHTML+='<li><a href="#" class="sp-suggest-btn button button-small">'+i[t]+"</a></li>");jQuery(".sp-suggest-btn").click(function(e){e.preventDefault(),target_kw.addTags(jQuery(this).text())})}var input=document.querySelector("input[id=seopress_analysis_target_kw_meta]"),target_kw=new Tagify(input,{originalInputValueFormat:e=>e.map(e=>e.value).join(",")});jQuery(document).ready(function(e){function t(){e.ajax({method:"GET",url:seopressAjaxRealPreview.seopress_real_preview,data:{action:"seopress_do_real_preview",post_id:e("#seopress-tabs").attr("data_id"),tax_name:e("#seopress-tabs").attr("data_tax"),origin:e("#seopress-tabs").attr("data_origin"),post_type:e("#seopress_launch_analysis").attr("data_post_type"),seopress_analysis_target_kw:e("#seopress_analysis_target_kw_meta").val(),_ajax_nonce:seopressAjaxRealPreview.seopress_nonce},beforeSend:function(){e(".analysis-score p span").fadeIn().text(seopressAjaxRealPreview.i18n.progress),e(".analysis-score p").addClass("loading")},success:function(t){void 0===t.data.og_title?og_title="":og_title=t.data.og_title.values,void 0===t.data.og_desc?og_desc="":og_desc=t.data.og_desc.values,void 0===t.data.og_img?og_img="":og_img=t.data.og_img.values,void 0===t.data.og_url?og_url="":og_url=t.data.og_url.host,void 0===t.data.og_site_name?og_site_name="":og_site_name=t.data.og_site_name.values,void 0===t.data.tw_title?tw_title="":tw_title=t.data.tw_title.values,void 0===t.data.tw_desc?tw_desc="":tw_desc=t.data.tw_desc.values,void 0===t.data.tw_img?tw_img="":tw_img=t.data.tw_img.values,void 0===t.data.meta_robots?meta_robots="":meta_robots=t.data.meta_robots[0];var s={og_title:og_title,og_desc:og_desc,og_img:og_img,og_url:og_url,og_site_name:og_site_name,tw_title:tw_title,tw_desc:tw_desc,tw_img:tw_img};for(var i in s)s.length&&(i=s[i].length>1?s[i].slice(-1)[0]:s[i][0]);meta_robots=meta_robots.toString(),e("#sp-advanced-alert").empty();var r=new RegExp("noindex");r.test(meta_robots)&&e("#sp-advanced-alert").append('<span class="impact high" aria-hidden="true"></span>'),e("#seopress_cpt .google-snippet-preview .snippet-title").html(t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(t.data.title),e("#seopress_titles_title_meta").attr("placeholder",t.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(t.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(t.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",t.data.meta_desc),s.og_title&&(e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title").html(s.og_title[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-title-default").html(s.og_title[0])),s.og_desc&&(e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description").html(s.og_desc[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-description-default").html(s.og_desc[0])),s.og_img&&(e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img img").attr("src",s.og_img[0]),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-img-default img").attr("src",s.og_img[0])),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-url").html(s.og_url),e("#seopress_cpt .facebook-snippet-preview .snippet-fb-site-name").html(s.og_site_name),s.tw_title&&(e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title").html(s.tw_title[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-title-default").html(s.tw_title[0])),s.tw_desc&&(e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description").html(s.tw_desc[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-description-default").html(s.tw_desc[0])),s.tw_img&&(e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img img").attr("src",s.tw_img[0]),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-img-default img").attr("src",s.tw_img[0])),e("#seopress_cpt .twitter-snippet-preview .snippet-twitter-url").html(s.og_url),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",t.data.canonical),e("#seopress-analysis-tabs").load(" #seopress-analysis-tabs-1","",sp_ca_toggle),e(".analysis-score p").removeClass("loading"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters(),sp_social()}})}"1"==jQuery("#toggle-preview").attr("data-toggle")?jQuery("#seopress_cpt .google-snippet-preview").addClass("mobile-preview"):jQuery("#seopress_cpt .google-snippet-preview").removeClass("mobile-preview"),jQuery("#toggle-preview").on("click",function(){jQuery("#toggle-preview").attr("data-toggle","1"==jQuery("#toggle-preview").attr("data-toggle")?"0":"1"),jQuery("#seopress_cpt .google-snippet-preview").toggleClass("mobile-preview")}),t(),e("#seopress_launch_analysis").on("click",function(){t()}),sp_ca_toggle()});
assets/js/seopress-dashboard.js CHANGED
@@ -1,89 +1,90 @@
1
- jQuery(document).ready(function($) {
2
- //If no notices
3
- if (!$.trim( $("#seopress-notifications-center").html() )) {
4
- $('#seopress-notifications-center').remove();
5
- }
6
- const notices = [
7
- "notice-get-started",
8
- "notice-wizard",
9
- "notice-insights-wizard",
10
- "notice-tagdiv",
11
- "notice-divide-comments",
12
- "notice-review",
13
- "notice-trailingslash",
14
- "notice-posts-number",
15
- "notice-rss-use-excerpt",
16
- "notice-search-console",
17
- "notice-google-business",
18
- "notice-ssl",
19
- "notice-title-tag",
20
- "notice-enfold",
21
- "notice-themes",
22
- "notice-page-builders",
23
- "notice-go-pro",
24
- "notice-noindex"
25
- ]
26
- notices.forEach(function (item) {
27
- $('#'+item).on('click', function() {
28
- $('#'+item).attr('data-notice', $('#'+item).attr('data-notice') == '1' ? '0' : '1');
29
- $.ajax({
30
- method : 'POST',
31
- url : seopressAjaxHideNotices.seopress_hide_notices,
32
- data : {
33
- action: 'seopress_hide_notices',
34
- notice: item,
35
- notice_value: $('#'+item).attr('data-notice'),
36
- _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
37
- },
38
- success : function( data ) {
39
- $( '#seopress-notice-save' ).css('display', 'block');
40
- $( '#seopress-notice-save .html' ).html('Notice successfully removed');
41
- $( '#'+item+'-alert' ).fadeOut();
42
- $( '#seopress-notice-save' ).delay(3500).fadeOut();
43
- },
44
- });
45
- });
46
- });
 
47
 
48
- const features = [
49
- "titles",
50
- "xml-sitemap",
51
- "social",
52
- "google-analytics",
53
- "advanced",
54
- "local-business",
55
- "woocommerce",
56
- "edd",
57
- "dublin-core",
58
- "rich-snippets",
59
- "breadcrumbs",
60
- "robots",
61
- "news",
62
- "404",
63
- "bot",
64
- "rewrite",
65
- "white-label"
66
- ]
67
- features.forEach(function (item) {
68
- $('#toggle-'+item).on('click', function() {
69
- $('#toggle-'+item).attr('data-toggle', $('#toggle-'+item).attr('data-toggle') == '1' ? '0' : '1');
70
- $.ajax({
71
- method : 'POST',
72
- url : seopressAjaxToggleFeatures.seopress_toggle_features,
73
- data : {
74
- action: 'seopress_toggle_features',
75
- feature: 'toggle-'+item,
76
- feature_value: $('#toggle-'+item).attr('data-toggle'),
77
- _ajax_nonce: seopressAjaxToggleFeatures.seopress_nonce,
78
- },
79
- success : function( data ) {
80
- $( '#seopress-notice-save' ).css('display', 'block');
81
- $( '#seopress-notice-save .html' ).html(item + ' ' + seopressAjaxToggleFeatures.i18n);
82
- $( '#'+item+'-state' ).toggleClass('feature-state-on');
83
- $( '#'+item+'-state-default' ).toggleClass('feature-state-off');
84
- $( '#seopress-notice-save' ).delay(3500).fadeOut();
85
- },
86
- });
87
- });
88
- });
89
- });
1
+ jQuery(document).ready(function ($) {
2
+ //If no notices
3
+ if (!$.trim($("#seopress-notifications-center").html())) {
4
+ $('#seopress-notifications-center').remove();
5
+ }
6
+ const notices = [
7
+ "notice-get-started",
8
+ "notice-wizard",
9
+ "notice-insights-wizard",
10
+ "notice-tagdiv",
11
+ "notice-divide-comments",
12
+ "notice-review",
13
+ "notice-trailingslash",
14
+ "notice-posts-number",
15
+ "notice-rss-use-excerpt",
16
+ "notice-ga-ids",
17
+ "notice-search-console",
18
+ "notice-google-business",
19
+ "notice-ssl",
20
+ "notice-title-tag",
21
+ "notice-enfold",
22
+ "notice-themes",
23
+ "notice-page-builders",
24
+ "notice-go-pro",
25
+ "notice-noindex"
26
+ ]
27
+ notices.forEach(function (item) {
28
+ $('#' + item).on('click', function () {
29
+ $('#' + item).attr('data-notice', $('#' + item).attr('data-notice') == '1' ? '0' : '1');
30
+ $.ajax({
31
+ method: 'POST',
32
+ url: seopressAjaxHideNotices.seopress_hide_notices,
33
+ data: {
34
+ action: 'seopress_hide_notices',
35
+ notice: item,
36
+ notice_value: $('#' + item).attr('data-notice'),
37
+ _ajax_nonce: seopressAjaxHideNotices.seopress_nonce,
38
+ },
39
+ success: function (data) {
40
+ $('#seopress-notice-save').css('display', 'block');
41
+ $('#seopress-notice-save .html').html('Notice successfully removed');
42
+ $('#' + item + '-alert').fadeOut();
43
+ $('#seopress-notice-save').delay(3500).fadeOut();
44
+ },
45
+ });
46
+ });
47
+ });
48
 
49
+ const features = [
50
+ "titles",
51
+ "xml-sitemap",
52
+ "social",
53
+ "google-analytics",
54
+ "advanced",
55
+ "local-business",
56
+ "woocommerce",
57
+ "edd",
58
+ "dublin-core",
59
+ "rich-snippets",
60
+ "breadcrumbs",
61
+ "robots",
62
+ "news",
63
+ "404",
64
+ "bot",
65
+ "rewrite",
66
+ "white-label"
67
+ ]
68
+ features.forEach(function (item) {
69
+ $('#toggle-' + item).on('click', function () {
70
+ $('#toggle-' + item).attr('data-toggle', $('#toggle-' + item).attr('data-toggle') == '1' ? '0' : '1');
71
+ $.ajax({
72
+ method: 'POST',
73
+ url: seopressAjaxToggleFeatures.seopress_toggle_features,
74
+ data: {
75
+ action: 'seopress_toggle_features',
76
+ feature: 'toggle-' + item,
77
+ feature_value: $('#toggle-' + item).attr('data-toggle'),
78
+ _ajax_nonce: seopressAjaxToggleFeatures.seopress_nonce,
79
+ },
80
+ success: function (data) {
81
+ $('#seopress-notice-save').css('display', 'block');
82
+ $('#seopress-notice-save .html').html(item + ' ' + seopressAjaxToggleFeatures.i18n);
83
+ $('#' + item + '-state').toggleClass('feature-state-on');
84
+ $('#' + item + '-state-default').toggleClass('feature-state-off');
85
+ $('#seopress-notice-save').delay(3500).fadeOut();
86
+ },
87
+ });
88
+ });
89
+ });
90
+ });
assets/js/seopress-dashboard.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){$.trim($("#seopress-notifications-center").html())||$("#seopress-notifications-center").remove();const notices=["notice-get-started","notice-wizard","notice-insights-wizard","notice-tagdiv","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-enfold","notice-themes","notice-page-builders","notice-go-pro","notice-noindex"];notices.forEach((function(item){$("#"+item).on("click",(function(){$("#"+item).attr("data-notice","1"==$("#"+item).attr("data-notice")?"0":"1"),$.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:item,notice_value:$("#"+item).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(data){$("#seopress-notice-save").css("display","block"),$("#seopress-notice-save .html").html("Notice successfully removed"),$("#"+item+"-alert").fadeOut(),$("#seopress-notice-save").delay(3500).fadeOut()}})}))}));const features=["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"];features.forEach((function(item){$("#toggle-"+item).on("click",(function(){$("#toggle-"+item).attr("data-toggle","1"==$("#toggle-"+item).attr("data-toggle")?"0":"1"),$.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+item,feature_value:$("#toggle-"+item).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(data){$("#seopress-notice-save").css("display","block"),$("#seopress-notice-save .html").html(item+" "+seopressAjaxToggleFeatures.i18n),$("#"+item+"-state").toggleClass("feature-state-on"),$("#"+item+"-state-default").toggleClass("feature-state-off"),$("#seopress-notice-save").delay(3500).fadeOut()}})}))}))}));
1
+ jQuery(document).ready(function(e){e.trim(e("#seopress-notifications-center").html())||e("#seopress-notifications-center").remove();const t=["notice-get-started","notice-wizard","notice-insights-wizard","notice-tagdiv","notice-divide-comments","notice-review","notice-trailingslash","notice-posts-number","notice-rss-use-excerpt","notice-ga-ids","notice-search-console","notice-google-business","notice-ssl","notice-title-tag","notice-enfold","notice-themes","notice-page-builders","notice-go-pro","notice-noindex"];t.forEach(function(t){e("#"+t).on("click",function(){e("#"+t).attr("data-notice","1"==e("#"+t).attr("data-notice")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxHideNotices.seopress_hide_notices,data:{action:"seopress_hide_notices",notice:t,notice_value:e("#"+t).attr("data-notice"),_ajax_nonce:seopressAjaxHideNotices.seopress_nonce},success:function(s){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html("Notice successfully removed"),e("#"+t+"-alert").fadeOut(),e("#seopress-notice-save").delay(3500).fadeOut()}})})});const s=["titles","xml-sitemap","social","google-analytics","advanced","local-business","woocommerce","edd","dublin-core","rich-snippets","breadcrumbs","robots","news","404","bot","rewrite","white-label"];s.forEach(function(t){e("#toggle-"+t).on("click",function(){e("#toggle-"+t).attr("data-toggle","1"==e("#toggle-"+t).attr("data-toggle")?"0":"1"),e.ajax({method:"POST",url:seopressAjaxToggleFeatures.seopress_toggle_features,data:{action:"seopress_toggle_features",feature:"toggle-"+t,feature_value:e("#toggle-"+t).attr("data-toggle"),_ajax_nonce:seopressAjaxToggleFeatures.seopress_nonce},success:function(s){e("#seopress-notice-save").css("display","block"),e("#seopress-notice-save .html").html(t+" "+seopressAjaxToggleFeatures.i18n),e("#"+t+"-state").toggleClass("feature-state-on"),e("#"+t+"-state-default").toggleClass("feature-state-off"),e("#seopress-notice-save").delay(3500).fadeOut()}})})})});
assets/js/seopress-media-uploader.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var mediaUploader;$(".button.seopress_social_facebook_img_cpt").click((function(e){e.preventDefault();var url_field=$(this).parent().find("input[type=text]");(mediaUploader=wp.media.frames.file_frame=wp.media({multiple:!1})).on("select",(function(){attachment=mediaUploader.state().get("selection").first().toJSON(),$(url_field).val(attachment.url)})),mediaUploader.open()}));const array=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];array.forEach((function(item){var mediaUploader;$(item+"_upload").click((function(e){e.preventDefault(),mediaUploader?mediaUploader.open():((mediaUploader=wp.media.frames.file_frame=wp.media({multiple:!1})).on("select",(function(){attachment=mediaUploader.state().get("selection").first().toJSON(),$(item+"_meta").val(attachment.url),"#seopress_social_fb_img"==item&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==item&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter")})),mediaUploader.open())}))}))}));
1
+ jQuery(document).ready(function(e){var t;e(".button.seopress_social_facebook_img_cpt").click(function(i){i.preventDefault();var s=e(this).parent().find("input[type=text]");t=wp.media.frames.file_frame=wp.media({multiple:!1}),t.on("select",function(){attachment=t.state().get("selection").first().toJSON(),e(s).val(attachment.url)}),t.open()});const i=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];i.forEach(function(t){var i;e(t+"_upload").click(function(s){s.preventDefault(),i?i.open():(i=wp.media.frames.file_frame=wp.media({multiple:!1}),i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(t+"_meta").val(attachment.url),"#seopress_social_fb_img"==t&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==t&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter")}),i.open())})})});
assets/js/seopress-migrate.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){$("#select-wizard-redirects, #select-wizard-import").change((function(e){var select;e.preventDefault(),"none"==$(this).val()?$("#select-wizard-redirects option, #select-wizard-import option").each((function(){var ids_to_hide=$(this).val();$("#"+ids_to_hide).hide()})):($("#select-wizard-redirects option:selected, #select-wizard-import option:selected").each((function(){var ids_to_show=$(this).val();$("#"+ids_to_show).show()})),$("#select-wizard-redirects option:not(:selected), #select-wizard-import option:not(:selected)").each((function(){var ids_to_hide=$(this).val();$("#"+ids_to_hide).hide()})))})).trigger("change");const seo_plugins=["yoast","aio","seo-framework","rk","squirrly","seo-ultimate","wp-meta-seo","premium-seo-pack","wpseo","metadata"];seo_plugins.forEach((function(item){$("#seopress-"+item+"-migrate").on("click",(function(e){switch(e.preventDefault(),id=item,e.target.id){case"seopress-yoast-migrate":url=seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,action="seopress_yoast_migration",_ajax_nonce=seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce;break;case"seopress-aio-migrate":url=seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,action="seopress_aio_migration",_ajax_nonce=seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce;break;case"seopress-seo-framework-migrate":url=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,action="seopress_seo_framework_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce;break;case"seopress-rk-migrate":url=seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,action="seopress_rk_migration",_ajax_nonce=seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce;break;case"seopress-squirrly-migrate":url=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,action="seopress_squirrly_migration",_ajax_nonce=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce;break;case"seopress-seo-ultimate-migrate":url=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_seo_ultimate_migration,action="seopress_seo_ultimate_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_nonce;break;case"seopress-wp-meta-seo-migrate":url=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_wp_meta_seo_migration,action="seopress_wp_meta_seo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_nonce;break;case"seopress-premium-seo-pack-migrate":url=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_premium_seo_pack_migration,action="seopress_premium_seo_pack_migration",_ajax_nonce=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_nonce;break;case"seopress-wpseo-migrate":url=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_wpseo_migration,action="seopress_wpseo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_nonce;break;case"seopress-metadata-migrate":url=seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,action="seopress_metadata_export",_ajax_nonce=seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce}self.process_offset(0,self,url,action,_ajax_nonce,id)})),process_offset=function(offset,self,url,action,_ajax_nonce,id,post_export,term_export){i18n=seopressAjaxMigrate.i18n.migration,"metadata"==id&&(i18n=seopressAjaxMigrate.i18n.export),$.ajax({method:"POST",url:url,data:{action:action,offset:offset,post_export:post_export,term_export:term_export,_ajax_nonce:_ajax_nonce},success:function(data){"done"==data.data.offset?($("#seopress-"+id+"-migrate").removeAttr("disabled"),$(".spinner").css("visibility","hidden"),$("#"+id+"-migration-tool .log").html(i18n),""!=data.data.url&&$(location).attr("href",data.data.url)):self.process_offset(parseInt(data.data.offset),self,url,action,_ajax_nonce,id,data.data.post_export,data.data.term_export)}})},$("#seopress-"+item+"-migrate").on("click",(function(){$(this).attr("disabled","disabled"),$("#"+item+"-migration-tool .spinner").css("visibility","visible"),$("#"+item+"-migration-tool .spinner").css("float","none"),$("#"+item+"-migration-tool .log").html("")}))}))}));
1
+ jQuery(document).ready(function(e){e("#select-wizard-redirects, #select-wizard-import").change(function(s){s.preventDefault();var r=e(this).val();"none"==r?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");const s=["yoast","aio","seo-framework","rk","squirrly","seo-ultimate","wp-meta-seo","premium-seo-pack","wpseo","metadata"];s.forEach(function(s){e("#seopress-"+s+"-migrate").on("click",function(e){switch(e.preventDefault(),id=s,e.target.id){case"seopress-yoast-migrate":url=seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,action="seopress_yoast_migration",_ajax_nonce=seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce;break;case"seopress-aio-migrate":url=seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,action="seopress_aio_migration",_ajax_nonce=seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce;break;case"seopress-seo-framework-migrate":url=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,action="seopress_seo_framework_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce;break;case"seopress-rk-migrate":url=seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,action="seopress_rk_migration",_ajax_nonce=seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce;break;case"seopress-squirrly-migrate":url=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_squirrly_migration,action="seopress_squirrly_migration",_ajax_nonce=seopressAjaxMigrate.seopress_squirrly_migrate.seopress_nonce;break;case"seopress-seo-ultimate-migrate":url=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_seo_ultimate_migration,action="seopress_seo_ultimate_migration",_ajax_nonce=seopressAjaxMigrate.seopress_seo_ultimate_migrate.seopress_nonce;break;case"seopress-wp-meta-seo-migrate":url=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_wp_meta_seo_migration,action="seopress_wp_meta_seo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wp_meta_seo_migrate.seopress_nonce;break;case"seopress-premium-seo-pack-migrate":url=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_premium_seo_pack_migration,action="seopress_premium_seo_pack_migration",_ajax_nonce=seopressAjaxMigrate.seopress_premium_seo_pack_migrate.seopress_nonce;break;case"seopress-wpseo-migrate":url=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_wpseo_migration,action="seopress_wpseo_migration",_ajax_nonce=seopressAjaxMigrate.seopress_wpseo_migrate.seopress_nonce;break;case"seopress-metadata-migrate":url=seopressAjaxMigrate.seopress_metadata_csv.seopress_metadata_export,action="seopress_metadata_export",_ajax_nonce=seopressAjaxMigrate.seopress_metadata_csv.seopress_nonce}self.process_offset(0,self,url,action,_ajax_nonce,id)}),process_offset=function(s,r,a,o,t,i,_,p){i18n=seopressAjaxMigrate.i18n.migration,"metadata"==i&&(i18n=seopressAjaxMigrate.i18n.export),e.ajax({method:"POST",url:a,data:{action:o,offset:s,post_export:_,term_export:p,_ajax_nonce:t},success:function(s){"done"==s.data.offset?(e("#seopress-"+i+"-migrate").removeAttr("disabled"),e(".spinner").css("visibility","hidden"),e("#"+i+"-migration-tool .log").html(i18n),""!=s.data.url&&e(location).attr("href",s.data.url)):r.process_offset(parseInt(s.data.offset),r,a,o,t,i,s.data.post_export,s.data.term_export)}})},e("#seopress-"+s+"-migrate").on("click",function(){e(this).attr("disabled","disabled"),e("#"+s+"-migration-tool .spinner").css("visibility","visible"),e("#"+s+"-migration-tool .spinner").css("float","none"),e("#"+s+"-migration-tool .log").html("")})})});
assets/js/seopress-network-tabs.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var get_hash,clean_hash=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_robots_tab");"1"==clean_hash[1]?($("#tab_seopress_robots-tab").addClass("nav-tab-active"),$("#tab_seopress_robots").addClass("active")):"2"==clean_hash[1]?($("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),$("#tab_seopress_htaccess").addClass("active")):"3"==clean_hash[1]?($("#tab_seopress_white_label-tab").addClass("nav-tab-active"),$("#tab_seopress_white_label").addClass("active")):seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage.split("#tab=")+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage.split("#tab=")).addClass("active")):($("#tab_seopress_robots-tab").addClass("nav-tab-active"),$("#tab_seopress_robots").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),1==clean_hash[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==clean_hash[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==clean_hash[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$("#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(){$(".seopress_robots_file").val($(".seopress_robots_file").val()+"\n"+$(this).attr("data-tag"))})),$("#seopress-flush-permalinks2").on("click",(function(){$.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(data){window.location.reload(!0)}})})),$("#seopress-flush-permalinks2").on("click",(function(){$(this).attr("disabled","disabled"),$(".spinner").css("visibility","visible"),$(".spinner").css("float","none")}))}));
1
+ jQuery(document).ready(function(s){var e=window.location.hash,a=e.split("$");if("undefined"!=typeof sessionStorage){var t=sessionStorage.getItem("seopress_robots_tab");"1"==a[1]?(s("#tab_seopress_robots-tab").addClass("nav-tab-active"),s("#tab_seopress_robots").addClass("active")):"2"==a[1]?(s("#tab_seopress_htaccess-tab").addClass("nav-tab-active"),s("#tab_seopress_htaccess").addClass("active")):"3"==a[1]?(s("#tab_seopress_white_label-tab").addClass("nav-tab-active"),s("#tab_seopress_white_label").addClass("active")):t?(s("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+t.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(e){e.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==a[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_robots"):2==a[1]?sessionStorage.setItem("seopress_robots_tab","tab_seopress_htaccess"):3==a[1]?sessionStorage.setItem("seopress_white_label","tab_seopress_white_label"):sessionStorage.setItem("seopress_robots_tab",t),s("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),s("#"+t).addClass("active")}),s("#seopress-tag-robots-1, #seopress-tag-robots-2, #seopress-tag-robots-3, #seopress-tag-robots-4, #seopress-tag-robots-5, #seopress-tag-robots-6, #seopress-tag-robots-7").click(function(){s(".seopress_robots_file").val(s(".seopress_robots_file").val()+"\n"+s(this).attr("data-tag"))}),s("#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
assets/js/seopress-sitemap-ajax.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){$("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",(function(){$.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(data){window.location.reload(!0)}})})),$("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",(function(){$(this).attr("disabled","disabled"),$(".spinner").css("visibility","visible"),$(".spinner").css("float","none")}))}));
1
+ jQuery(document).ready(function(s){s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s.ajax({method:"GET",url:seopressAjaxResetPermalinks.seopress_ajax_permalinks,data:{action:"seopress_flush_permalinks",_ajax_nonce:seopressAjaxResetPermalinks.seopress_nonce},success:function(s){window.location.reload(!0)}})}),s("#seopress-flush-permalinks,#seopress-flush-permalinks2").on("click",function(){s(this).attr("disabled","disabled"),s(".spinner").css("visibility","visible"),s(".spinner").css("float","none")})});
assets/js/seopress-sitemap-video.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){function seopress_call_media_uploader(){var mediaUploader,thumb;$(".seopress_video_thumbnail_upload").click((function(e){e.preventDefault(),$btn=$(this),mediaUploader?mediaUploader.open():(thumb=$(this).prev(),(mediaUploader=wp.media.frames.file_frame=wp.media({multiple:!1})).on("select",(function(){var attachment=mediaUploader.state().get("selection").first().toJSON();$btn.prev().val(attachment.url)})),mediaUploader.open())}))}seopress_call_media_uploader();var template=$("#wrap-videos .video:last").clone(),stop=!1;function seopress_call_video_accordion(){$("#wrap-videos .video").accordion({collapsible:!0,active:!1,heightStyle:"panel"})}$("#wrap-videos .video h3").click((function(event){stop&&(event.stopImmediatePropagation(),event.preventDefault(),stop=!1)})),seopress_call_video_accordion();var sectionsCount=$("#wrap-videos").attr("data-count");$("#add-video").click((function(){sectionsCount++;var section=template.clone().find(":input").each((function(){var input_id=this.id,input_name=this.name,newId=this.id.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]");$(this).attr("name",input_name.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]")),$(this).hasClass("seopress_video_thumbnail_upload")||$(this).attr("value",""),$(this).is(":checkbox")?($(this).parent().attr("for",input_id.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]")),$(this).parent().attr("id",input_name.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]"))):$(this).hasClass("seopress_video_thumbnail_upload")||($(this).prev().attr("for",input_id.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]")),$(this).prev().attr("id",input_name.replace(/^(\w+)\[.*?\]/,"$1["+sectionsCount+"]"))),this.id=newId})).end().appendTo("#wrap-videos");return seopress_call_video_accordion(),$("#wrap-videos .video").accordion("destroy"),seopress_call_video_accordion(),$("[id^=__wp-uploader-id-]").each((function(){$(this).remove()})),seopress_call_media_uploader(),!1})),$("#wrap-videos").on("click",".remove-video",(function(){return $(this).fadeOut(300,(function(){return $(this).parent().parent().parent().parent().remove(),!1})),!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({multiple:!1}),t.on("select",function(){var e=t.state().get("selection").first().toJSON();$btn.prev().val(e.url)}),t.open())})}function i(){e("#wrap-videos .video").accordion({collapsible:!0,active:!1,heightStyle:"panel"})}t();var a=e("#wrap-videos .video:last").clone(),r=!1;e("#wrap-videos .video h3").click(function(e){r&&(e.stopImmediatePropagation(),e.preventDefault(),r=!1)}),i();var o=e("#wrap-videos").attr("data-count");e("#add-video").click(function(){o++;a.clone().find(":input").each(function(){var t=this.id,i=this.name,a=this.id.replace(/^(\w+)\[.*?\]/,"$1["+o+"]");e(this).attr("name",i.replace(/^(\w+)\[.*?\]/,"$1["+o+"]")),e(this).hasClass("seopress_video_thumbnail_upload")||e(this).attr("value",""),e(this).is(":checkbox")?(e(this).parent().attr("for",t.replace(/^(\w+)\[.*?\]/,"$1["+o+"]")),e(this).parent().attr("id",i.replace(/^(\w+)\[.*?\]/,"$1["+o+"]"))):e(this).hasClass("seopress_video_thumbnail_upload")||(e(this).prev().attr("for",t.replace(/^(\w+)\[.*?\]/,"$1["+o+"]")),e(this).prev().attr("id",i.replace(/^(\w+)\[.*?\]/,"$1["+o+"]"))),this.id=a}).end().appendTo("#wrap-videos");return i(),e("#wrap-videos .video").accordion("destroy"),i(),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.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_titles_tab");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_titles_home-tab").addClass("nav-tab-active"),$("#tab_seopress_titles_home").addClass("active"))}function sp_get_field_length(e){return e.val().length>0?meta=e.val()+" ":meta=e.val(),meta}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_titles_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$("#seopress-tag-site-title").click((function(){$("#seopress_titles_home_site_title").val(sp_get_field_length($("#seopress_titles_home_site_title"))+$("#seopress-tag-site-title").attr("data-tag"))})),$("#seopress-tag-site-title-author").click((function(){$("#seopress_titles_archive_post_author").val(sp_get_field_length($("#seopress_titles_archive_post_author"))+$("#seopress-tag-site-title-author").attr("data-tag"))})),$("#seopress-tag-site-title-date").click((function(){$("#seopress_titles_archives_date_title").val(sp_get_field_length($("#seopress_titles_archives_date_title"))+$("#seopress-tag-site-title-date").attr("data-tag"))})),$("#seopress-tag-site-title-search").click((function(){$("#seopress_titles_archives_search_title").val(sp_get_field_length($("#seopress_titles_archives_search_title"))+$("#seopress-tag-site-title-search").attr("data-tag"))})),$("#seopress-tag-site-title-404").click((function(){$("#seopress_titles_archives_404_title").val(sp_get_field_length($("#seopress_titles_archives_404_title"))+$("#seopress-tag-site-title-404").attr("data-tag"))})),$("#seopress-tag-site-desc").click((function(){$("#seopress_titles_home_site_title").val(sp_get_field_length($("#seopress_titles_home_site_title"))+$("#seopress-tag-site-desc").attr("data-tag"))})),$("#seopress-tag-meta-desc").click((function(){$("#seopress_titles_home_site_desc").val(sp_get_field_length($("#seopress_titles_home_site_desc"))+$("#seopress-tag-meta-desc").attr("data-tag"))})),$("#seopress-tag-post-author").click((function(){$("#seopress_titles_archive_post_author").val(sp_get_field_length($("#seopress_titles_archive_post_author"))+$("#seopress-tag-post-author").attr("data-tag"))})),$("#seopress-tag-archive-date").click((function(){$("#seopress_titles_archives_date_title").val(sp_get_field_length($("#seopress_titles_archives_date_title"))+$("#seopress-tag-archive-date").attr("data-tag"))})),$("#seopress-tag-search-keywords").click((function(){$("#seopress_titles_archives_search_title").val(sp_get_field_length($("#seopress_titles_archives_search_title"))+$("#seopress-tag-search-keywords").attr("data-tag"))})),$("#seopress-tag-site-sep").click((function(){$("#seopress_titles_home_site_title").val(sp_get_field_length($("#seopress_titles_home_site_title"))+$("#seopress-tag-site-sep").attr("data-tag"))})),$("#seopress-tag-sep-author").click((function(){$("#seopress_titles_archive_post_author").val(sp_get_field_length($("#seopress_titles_archive_post_author"))+$("#seopress-tag-sep-author").attr("data-tag"))})),$("#seopress-tag-sep-date").click((function(){$("#seopress_titles_archives_date_title").val(sp_get_field_length($("#seopress_titles_archives_date_title"))+$("#seopress-tag-sep-date").attr("data-tag"))})),$("#seopress-tag-sep-search").click((function(){$("#seopress_titles_archives_search_title").val(sp_get_field_length($("#seopress_titles_archives_search_title"))+$("#seopress-tag-sep-search").attr("data-tag"))})),$("#seopress-tag-sep-404").click((function(){$("#seopress_titles_archives_404_title").val(sp_get_field_length($("#seopress_titles_archives_404_title"))+$("#seopress-tag-sep-404").attr("data-tag"))})),$("#seopress-tag-post-title-bd-groups").click((function(){$("#seopress_titles_bp_groups_title").val(sp_get_field_length($("#seopress_titles_bp_groups_title"))+$("#seopress-tag-post-title-bd-groups").attr("data-tag"))})),$("#seopress-tag-sep-bd-groups").click((function(){$("#seopress_titles_bp_groups_title").val(sp_get_field_length($("#seopress_titles_bp_groups_title"))+$("#seopress-tag-sep-bd-groups").attr("data-tag"))})),$("#seopress-tag-site-title-bd-groups").click((function(){$("#seopress_titles_bp_groups_title").val(sp_get_field_length($("#seopress_titles_bp_groups_title"))+$("#seopress-tag-site-title-bd-groups").attr("data-tag"))})),$(".more-tags").click((function(){$("#contextual-help-link").click()}))}));
1
+ jQuery(document).ready(function(s){function t(s){return s.val().length>0?meta=s.val()+" ":meta=s.val(),meta}var e=s(location).attr("hash").split("#tab=")[1];if(void 0!==e)s("#"+e+"-tab").addClass("nav-tab-active"),s("#"+e).addClass("active");else if("undefined"!=typeof sessionStorage){var a=sessionStorage.getItem("seopress_titles_tab");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+"-tab").addClass("nav-tab-active"),s("#"+a).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(t(s("#seopress_titles_home_site_title"))+s("#seopress-tag-site-title").attr("data-tag"))}),s("#seopress-tag-site-title-author").click(function(){s("#seopress_titles_archive_post_author").val(t(s("#seopress_titles_archive_post_author"))+s("#seopress-tag-site-title-author").attr("data-tag"))}),s("#seopress-tag-site-title-date").click(function(){s("#seopress_titles_archives_date_title").val(t(s("#seopress_titles_archives_date_title"))+s("#seopress-tag-site-title-date").attr("data-tag"))}),s("#seopress-tag-site-title-search").click(function(){s("#seopress_titles_archives_search_title").val(t(s("#seopress_titles_archives_search_title"))+s("#seopress-tag-site-title-search").attr("data-tag"))}),s("#seopress-tag-site-title-404").click(function(){s("#seopress_titles_archives_404_title").val(t(s("#seopress_titles_archives_404_title"))+s("#seopress-tag-site-title-404").attr("data-tag"))}),s("#seopress-tag-site-desc").click(function(){s("#seopress_titles_home_site_title").val(t(s("#seopress_titles_home_site_title"))+s("#seopress-tag-site-desc").attr("data-tag"))}),s("#seopress-tag-meta-desc").click(function(){s("#seopress_titles_home_site_desc").val(t(s("#seopress_titles_home_site_desc"))+s("#seopress-tag-meta-desc").attr("data-tag"))}),s("#seopress-tag-post-author").click(function(){s("#seopress_titles_archive_post_author").val(t(s("#seopress_titles_archive_post_author"))+s("#seopress-tag-post-author").attr("data-tag"))}),s("#seopress-tag-archive-date").click(function(){s("#seopress_titles_archives_date_title").val(t(s("#seopress_titles_archives_date_title"))+s("#seopress-tag-archive-date").attr("data-tag"))}),s("#seopress-tag-search-keywords").click(function(){s("#seopress_titles_archives_search_title").val(t(s("#seopress_titles_archives_search_title"))+s("#seopress-tag-search-keywords").attr("data-tag"))}),s("#seopress-tag-site-sep").click(function(){s("#seopress_titles_home_site_title").val(t(s("#seopress_titles_home_site_title"))+s("#seopress-tag-site-sep").attr("data-tag"))}),s("#seopress-tag-sep-author").click(function(){s("#seopress_titles_archive_post_author").val(t(s("#seopress_titles_archive_post_author"))+s("#seopress-tag-sep-author").attr("data-tag"))}),s("#seopress-tag-sep-date").click(function(){s("#seopress_titles_archives_date_title").val(t(s("#seopress_titles_archives_date_title"))+s("#seopress-tag-sep-date").attr("data-tag"))}),s("#seopress-tag-sep-search").click(function(){s("#seopress_titles_archives_search_title").val(t(s("#seopress_titles_archives_search_title"))+s("#seopress-tag-sep-search").attr("data-tag"))}),s("#seopress-tag-sep-404").click(function(){s("#seopress_titles_archives_404_title").val(t(s("#seopress_titles_archives_404_title"))+s("#seopress-tag-sep-404").attr("data-tag"))}),s("#seopress-tag-post-title-bd-groups").click(function(){s("#seopress_titles_bp_groups_title").val(t(s("#seopress_titles_bp_groups_title"))+s("#seopress-tag-post-title-bd-groups").attr("data-tag"))}),s("#seopress-tag-sep-bd-groups").click(function(){s("#seopress_titles_bp_groups_title").val(t(s("#seopress_titles_bp_groups_title"))+s("#seopress-tag-sep-bd-groups").attr("data-tag"))}),s("#seopress-tag-site-title-bd-groups").click(function(){s("#seopress_titles_bp_groups_title").val(t(s("#seopress_titles_bp_groups_title"))+s("#seopress-tag-site-title-bd-groups").attr("data-tag"))}),s(".more-tags").click(function(){s("#contextual-help-link").click()})});
assets/js/seopress-tabs2.js CHANGED
@@ -1,74 +1,168 @@
1
- document.addEventListener('DOMContentLoaded', function(){
2
- const $ = jQuery
3
 
4
- $("#seopress-tabs .hidden").removeClass('hidden');
5
- $("#seopress-tabs").tabs();
6
 
 
 
 
 
 
 
 
 
7
 
8
- function sp_get_field_length(e) {
9
- if (e.val().length > 0) {
10
- meta = e.val() + ' ';
11
- } else {
12
- meta = e.val();
13
- }
14
- return meta;
15
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
- $('#seopress-tag-single-title').click(function() {
18
- $("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta")) + $('#seopress-tag-single-title').attr('data-tag'));
19
- });
20
- $('#seopress-tag-single-site-title').click(function() {
21
- $("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta")) + $('#seopress-tag-single-site-title').attr('data-tag'));
22
- });
23
- $('#seopress-tag-single-excerpt').click(function() {
24
- $("#seopress_titles_desc_meta").val(sp_get_field_length($("#seopress_titles_desc_meta")) + $('#seopress-tag-single-excerpt').attr('data-tag'));
25
- });
26
- $('#seopress-tag-single-sep').click(function() {
27
- $("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta")) + $('#seopress-tag-single-sep').attr('data-tag'));
28
- });
29
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
 
32
- let alreadyBind = false
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
- //All variables
35
- $('.seopress-tag-dropdown').each(function(item){
36
 
37
- const _self = $(this)
38
- $(this).on("click", function() {
 
 
 
39
 
40
- $(this).next('.sp-wrap-tag-variables-list').toggleClass('open');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
- $(this).next('.sp-wrap-tag-variables-list').find('li').on("click", function(e) {
43
-
44
- if(_self.hasClass("tag-title")){
45
- $("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta")) + $(this).attr('data-value'));
46
- $("#seopress_titles_title_meta").trigger('paste')
47
- }
48
- if(_self.hasClass("tag-description")){
49
- $("#seopress_titles_desc_meta").val(sp_get_field_length($("#seopress_titles_desc_meta")) + $(this).attr('data-value'));
50
- $("#seopress_titles_desc_meta").trigger('paste')
51
- }
52
- e.stopImmediatePropagation();
53
- });
54
 
 
 
 
 
55
 
56
- function closeItem (e){
57
-
58
- if($(e.target).hasClass("dashicons") || $(e.target).hasClass("seopress-tag-single-all")){
59
- return
60
- }
61
-
62
- alreadyBind = false
63
- $(document).off("click", closeItem)
64
- $('.sp-wrap-tag-variables-list').removeClass('open')
65
- }
66
-
67
- if(!alreadyBind){
68
- alreadyBind = true
69
- $(document).on("click", closeItem)
70
- }
71
-
72
- });
73
- })
74
- });
1
+ document.addEventListener("DOMContentLoaded", function () {
2
+ const $ = jQuery;
3
 
4
+ $("#seopress-tabs .hidden").removeClass("hidden");
5
+ $("#seopress-tabs").tabs();
6
 
7
+ function sp_get_field_length(e) {
8
+ if (e.val().length > 0) {
9
+ meta = e.val() + " ";
10
+ } else {
11
+ meta = e.val();
12
+ }
13
+ return meta;
14
+ }
15
 
16
+ /**
17
+ * Execute a function given a delay time
18
+ *
19
+ * @param {type} func
20
+ * @param {type} wait
21
+ * @param {type} immediate
22
+ * @returns {Function}
23
+ */
24
+ var debounce = function (func, wait, immediate) {
25
+ var timeout;
26
+ return function () {
27
+ var context = this,
28
+ args = arguments;
29
+ var later = function () {
30
+ timeout = null;
31
+ if (!immediate) func.apply(context, args);
32
+ };
33
+ var callNow = immediate && !timeout;
34
+ clearTimeout(timeout);
35
+ timeout = setTimeout(later, wait);
36
+ if (callNow) func.apply(context, args);
37
+ };
38
+ };
39
 
40
+ /**
41
+ * Get Preview meta title
42
+ */
43
+ $("#seopress_titles_title_meta").on(
44
+ "change paste keyup",
45
+ debounce(function (e) {
46
+ const template = $(this).val();
47
+ const termId = $("#seopress-tabs").data("term-id");
48
+ const homeId = $("#seopress-tabs").data("home-id");
 
 
 
49
 
50
+ $.ajax({
51
+ method: "GET",
52
+ url: seopressAjaxRealPreview.ajax_url,
53
+ data: {
54
+ action: "get_preview_meta_title",
55
+ template: template,
56
+ post_id: $("#seopress-tabs").attr("data_id"),
57
+ term_id: termId.length === 0 ? undefined : termId,
58
+ home_id: homeId.length === 0 ? undefined : homeId,
59
+ nonce: seopressAjaxRealPreview.get_preview_meta_title,
60
+ },
61
+ success: function (response) {
62
+ const { data } = response;
63
 
64
+ if (data.length > 0) {
65
+ $(".snippet-title").hide();
66
+ $(".snippet-title-default").hide();
67
+ $(".snippet-title-custom").text(data);
68
+ $(".snippet-title-custom").show();
69
+ if ($("#seopress_titles_title_counters").length > 0) {
70
+ $("#seopress_titles_title_counters").text(
71
+ data.length
72
+ );
73
+ }
74
+ if ($("#seopress_titles_title_pixel").length > 0) {
75
+ $("#seopress_titles_title_pixel").text(
76
+ pixelTitle(data)
77
+ );
78
+ }
79
+ } else {
80
+ $(".snippet-title").hide();
81
+ $(".snippet-title-custom").hide();
82
+ $(".snippet-title-default").show();
83
+ }
84
+ },
85
+ });
86
+ }, 300)
87
+ );
88
 
89
+ $("#seopress-tag-single-title").click(function () {
90
+ $("#seopress_titles_title_meta").val(
91
+ sp_get_field_length($("#seopress_titles_title_meta")) +
92
+ $("#seopress-tag-single-title").attr("data-tag")
93
+ );
94
+ $("#seopress_titles_title_meta").trigger("paste");
95
+ });
96
+ $("#seopress-tag-single-site-title").click(function () {
97
+ $("#seopress_titles_title_meta").val(
98
+ sp_get_field_length($("#seopress_titles_title_meta")) +
99
+ $("#seopress-tag-single-site-title").attr("data-tag")
100
+ );
101
+ $("#seopress_titles_title_meta").trigger("paste");
102
+ });
103
+ $("#seopress-tag-single-excerpt").click(function () {
104
+ $("#seopress_titles_desc_meta").val(
105
+ sp_get_field_length($("#seopress_titles_desc_meta")) +
106
+ $("#seopress-tag-single-excerpt").attr("data-tag")
107
+ );
108
+ $("#seopress_titles_title_meta").trigger("paste");
109
+ });
110
+ $("#seopress-tag-single-sep").click(function () {
111
+ $("#seopress_titles_title_meta").val(
112
+ sp_get_field_length($("#seopress_titles_title_meta")) +
113
+ $("#seopress-tag-single-sep").attr("data-tag")
114
+ );
115
+ $("#seopress_titles_title_meta").trigger("paste");
116
+ });
117
 
118
+ let alreadyBind = false;
 
119
 
120
+ //All variables
121
+ $(".seopress-tag-dropdown").each(function (item) {
122
+ const _self = $(this);
123
+ $(this).on("click", function () {
124
+ $(this).next(".sp-wrap-tag-variables-list").toggleClass("open");
125
 
126
+ $(this)
127
+ .next(".sp-wrap-tag-variables-list")
128
+ .find("li")
129
+ .on("click", function (e) {
130
+ if (_self.hasClass("tag-title")) {
131
+ $("#seopress_titles_title_meta").val(
132
+ sp_get_field_length(
133
+ $("#seopress_titles_title_meta")
134
+ ) + $(this).attr("data-value")
135
+ );
136
+ $("#seopress_titles_title_meta").trigger("paste");
137
+ }
138
+ if (_self.hasClass("tag-description")) {
139
+ $("#seopress_titles_desc_meta").val(
140
+ sp_get_field_length(
141
+ $("#seopress_titles_desc_meta")
142
+ ) + $(this).attr("data-value")
143
+ );
144
+ $("#seopress_titles_desc_meta").trigger("paste");
145
+ }
146
+ e.stopImmediatePropagation();
147
+ });
148
 
149
+ function closeItem(e) {
150
+ if (
151
+ $(e.target).hasClass("dashicons") ||
152
+ $(e.target).hasClass("seopress-tag-single-all")
153
+ ) {
154
+ return;
155
+ }
 
 
 
 
 
156
 
157
+ alreadyBind = false;
158
+ $(document).off("click", closeItem);
159
+ $(".sp-wrap-tag-variables-list").removeClass("open");
160
+ }
161
 
162
+ if (!alreadyBind) {
163
+ alreadyBind = true;
164
+ $(document).on("click", closeItem);
165
+ }
166
+ });
167
+ });
168
+ });
 
 
 
 
 
 
 
 
 
 
 
 
assets/js/seopress-tabs2.min.js CHANGED
@@ -1 +1 @@
1
- document.addEventListener("DOMContentLoaded",(function(){const $=jQuery;function sp_get_field_length(e){return e.val().length>0?meta=e.val()+" ":meta=e.val(),meta}$("#seopress-tabs .hidden").removeClass("hidden"),$("#seopress-tabs").tabs(),$("#seopress-tag-single-title").click((function(){$("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$("#seopress-tag-single-title").attr("data-tag"))})),$("#seopress-tag-single-site-title").click((function(){$("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$("#seopress-tag-single-site-title").attr("data-tag"))})),$("#seopress-tag-single-excerpt").click((function(){$("#seopress_titles_desc_meta").val(sp_get_field_length($("#seopress_titles_desc_meta"))+$("#seopress-tag-single-excerpt").attr("data-tag"))})),$("#seopress-tag-single-sep").click((function(){$("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$("#seopress-tag-single-sep").attr("data-tag"))}));let alreadyBind=!1;$(".seopress-tag-dropdown").each((function(item){const _self=$(this);$(this).on("click",(function(){function closeItem(e){$(e.target).hasClass("dashicons")||$(e.target).hasClass("seopress-tag-single-all")||(alreadyBind=!1,$(document).off("click",closeItem),$(".sp-wrap-tag-variables-list").removeClass("open"))}$(this).next(".sp-wrap-tag-variables-list").toggleClass("open"),$(this).next(".sp-wrap-tag-variables-list").find("li").on("click",(function(e){_self.hasClass("tag-title")&&($("#seopress_titles_title_meta").val(sp_get_field_length($("#seopress_titles_title_meta"))+$(this).attr("data-value")),$("#seopress_titles_title_meta").trigger("paste")),_self.hasClass("tag-description")&&($("#seopress_titles_desc_meta").val(sp_get_field_length($("#seopress_titles_desc_meta"))+$(this).attr("data-value")),$("#seopress_titles_desc_meta").trigger("paste")),e.stopImmediatePropagation()})),alreadyBind||(alreadyBind=!0,$(document).on("click",closeItem))}))}))}));
1
+ document.addEventListener("DOMContentLoaded",function(){function t(t){return t.val().length>0?meta=t.val()+" ":meta=t.val(),meta}const e=jQuery;e("#seopress-tabs .hidden").removeClass("hidden"),e("#seopress-tabs").tabs();var s=function(t,e,s){var i;return function(){var a=this,l=arguments,o=function(){i=null,s||t.apply(a,l)},r=s&&!i;clearTimeout(i),i=setTimeout(o,e),r&&t.apply(a,l)}};e("#seopress_titles_title_meta").on("change paste keyup",s(function(t){const s=e(this).val(),i=e("#seopress-tabs").data("term-id"),a=e("#seopress-tabs").data("home-id");e.ajax({method:"GET",url:seopressAjaxRealPreview.ajax_url,data:{action:"get_preview_meta_title",template:s,post_id:e("#seopress-tabs").attr("data_id"),term_id:0===i.length?void 0:i,home_id:0===a.length?void 0:a,nonce:seopressAjaxRealPreview.get_preview_meta_title},success:function(t){const{data:s}=t;s.length>0?(e(".snippet-title").hide(),e(".snippet-title-default").hide(),e(".snippet-title-custom").text(s),e(".snippet-title-custom").show(),e("#seopress_titles_title_counters").length>0&&e("#seopress_titles_title_counters").text(s.length),e("#seopress_titles_title_pixel").length>0&&e("#seopress_titles_title_pixel").text(pixelTitle(s))):(e(".snippet-title").hide(),e(".snippet-title-custom").hide(),e(".snippet-title-default").show())}})},300)),e("#seopress-tag-single-title").click(function(){e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e("#seopress-tag-single-title").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")}),e("#seopress-tag-single-site-title").click(function(){e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e("#seopress-tag-single-site-title").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")}),e("#seopress-tag-single-excerpt").click(function(){e("#seopress_titles_desc_meta").val(t(e("#seopress_titles_desc_meta"))+e("#seopress-tag-single-excerpt").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")}),e("#seopress-tag-single-sep").click(function(){e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e("#seopress-tag-single-sep").attr("data-tag")),e("#seopress_titles_title_meta").trigger("paste")});let i=!1;e(".seopress-tag-dropdown").each(function(s){const a=e(this);e(this).on("click",function(){function s(t){e(t.target).hasClass("dashicons")||e(t.target).hasClass("seopress-tag-single-all")||(i=!1,e(document).off("click",s),e(".sp-wrap-tag-variables-list").removeClass("open"))}e(this).next(".sp-wrap-tag-variables-list").toggleClass("open"),e(this).next(".sp-wrap-tag-variables-list").find("li").on("click",function(s){a.hasClass("tag-title")&&(e("#seopress_titles_title_meta").val(t(e("#seopress_titles_title_meta"))+e(this).attr("data-value")),e("#seopress_titles_title_meta").trigger("paste")),a.hasClass("tag-description")&&(e("#seopress_titles_desc_meta").val(t(e("#seopress_titles_desc_meta"))+e(this).attr("data-value")),e("#seopress_titles_desc_meta").trigger("paste")),s.stopImmediatePropagation()}),i||(i=!0,e(document).on("click",s))})})});
assets/js/seopress-tabs3.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_social_tab");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_social_knowledge-tab").addClass("nav-tab-active"),$("#tab_seopress_social_knowledge").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_social_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
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.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("seopress_xml_sitemap_tab");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_xml_sitemap_general-tab").addClass("nav-tab-active"),$("#tab_seopress_xml_sitemap_general").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("seopress_xml_sitemap_tab",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
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.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("tab_seopress_advanced_advanced");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_advanced_advanced-tab").addClass("nav-tab-active"),$("#tab_seopress_advanced_advanced").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_advanced_advanced",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
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.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("tab_seopress_google_analytics_enable");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_google_analytics_enable-tab").addClass("nav-tab-active"),$("#tab_seopress_google_analytics_enable").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_google_analytics_enable",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$(".seopress_admin_color_picker").wpColorPicker()}));
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 CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var get_hash,clean_hash=window.location.hash.split("$");if("undefined"!=typeof sessionStorage){var seopress_admin_tab_session_storage=sessionStorage.getItem("seopress_admin_tab");"1"==clean_hash[1]?($("#tab_seopress_notifications-tab").addClass("nav-tab-active"),$("#tab_seopress_notifications").addClass("active")):"2"==clean_hash[1]?($("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),$("#tab_seopress_seo_tools").addClass("active")):"3"==clean_hash[1]?($("#tab_seopress_links-tab").addClass("nav-tab-active"),$("#tab_seopress_links_tools").addClass("active")):seopress_admin_tab_session_storage?($("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_admin_tab_session_storage.split("#tab=")+"-tab").addClass("nav-tab-active"),$("#"+seopress_admin_tab_session_storage.split("#tab=")).addClass("active")):($("#tab_seopress_notifications-tab").addClass("nav-tab-active"),$("#tab_seopress_notifications").addClass("active"))}$("#seopress-admin-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-admin-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),1==clean_hash[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_notifications"):2==clean_hash[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==clean_hash[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_links_tools"):sessionStorage.setItem("seopress_admin_tab",hash),$("#seopress-admin-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")})),$("#seopress-reverse-submit").on("click",(function(){$.ajax({method:"GET",url:seopressAjaxReverse.seopress_request_reverse,data:{action:"seopress_request_reverse",_ajax_nonce:seopressAjaxReverse.seopress_nonce},success:function(data){window.location.reload(!0)}})})),$("#seopress-reverse-submit").on("click",(function(){$(this).attr("disabled","disabled"),$("#spinner-reverse.spinner").css("visibility","visible"),$("#spinner-reverse.spinner").css("float","none")}))}));
1
+ jQuery(document).ready(function(s){var e=window.location.hash,a=e.split("$");if("undefined"!=typeof sessionStorage){var t=sessionStorage.getItem("seopress_admin_tab");"1"==a[1]?(s("#tab_seopress_notifications-tab").addClass("nav-tab-active"),s("#tab_seopress_notifications").addClass("active")):"2"==a[1]?(s("#tab_seopress_seo_tools-tab").addClass("nav-tab-active"),s("#tab_seopress_seo_tools").addClass("active")):"3"==a[1]?(s("#tab_seopress_links-tab").addClass("nav-tab-active"),s("#tab_seopress_links_tools").addClass("active")):t?(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("#"+t.split("#tab=")+"-tab").addClass("nav-tab-active"),s("#"+t.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(e){e.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==a[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_notifications"):2==a[1]?sessionStorage.setItem("seopress_admin_tab","tab_seopress_seo_tools"):3==a[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.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){var hash=$(location).attr("hash").split("#tab=")[1];if(void 0!==hash)$("#"+hash+"-tab").addClass("nav-tab-active"),$("#"+hash).addClass("active");else if("undefined"!=typeof sessionStorage){var seopress_tab_session_storage=sessionStorage.getItem("tab_seopress_tool_settings");seopress_tab_session_storage?($("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+seopress_tab_session_storage+"-tab").addClass("nav-tab-active"),$("#"+seopress_tab_session_storage).addClass("active")):($("#tab_seopress_tool_settings-tab").addClass("nav-tab-active"),$("#tab_seopress_tool_settings").addClass("active"))}$("#seopress-tabs").find("a.nav-tab").click((function(e){e.preventDefault();var hash=$(this).attr("href").split("#tab=")[1];$("#seopress-tabs").find(".nav-tab.nav-tab-active").removeClass("nav-tab-active"),$("#"+hash+"-tab").addClass("nav-tab-active"),sessionStorage.setItem("tab_seopress_tool_settings",hash),$("#seopress-tabs").find(".seopress-tab.active").removeClass("active"),$("#"+hash).addClass("active")}))}));
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")})});
assets/js/seopress-yoast-migrate.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready((function($){$("#seopress-yoast-migrate").on("click",(function(e){e.preventDefault(),self.process_offset(0,self)})),process_offset=function(offset,self){$.ajax({method:"POST",url:seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,data:{action:"seopress_yoast_migration",offset:offset,_ajax_nonce:seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce},success:function(data){"done"==data.data.offset?($("#seopress-yoast-migrate").removeAttr("disabled"),$(".spinner").css("visibility","hidden"),$("#yoast-migration-tool .log").html(seopressAjaxMigrate.i18n)):self.process_offset(parseInt(data.data.offset),self)}})},$("#seopress-yoast-migrate").on("click",(function(){$(this).attr("disabled","disabled"),$("#yoast-migration-tool .spinner").css("visibility","visible"),$("#yoast-migration-tool .spinner").css("float","none"),$("#yoast-migration-tool .log").html("")})),$("#seopress-aio-migrate").on("click",(function(e2){e2.preventDefault(),self.process_offset2(0,self)})),process_offset2=function(offset2,self){$.ajax({method:"POST",url:seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,data:{action:"seopress_aio_migration",offset2:offset2,_ajax_nonce:seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce},success:function(data){"done"==data.data.offset2?($("#seopress-aio-migrate").removeAttr("disabled"),$(".spinner").css("visibility","hidden"),$("#aio-migration-tool .log").html(seopressAjaxMigrate.i18n)):self.process_offset2(parseInt(data.data.offset2),self)}})},$("#seopress-aio-migrate").on("click",(function(){$(this).attr("disabled","disabled"),$("#aio-migration-tool .spinner").css("visibility","visible"),$("#aio-migration-tool .spinner").css("float","none"),$("#aio-migration-tool .log").html("")})),$("#seopress-seo-framework-migrate").on("click",(function(e3){e3.preventDefault(),self.process_offset3(0,self)})),process_offset3=function(offset3,self){$.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,data:{action:"seopress_seo_framework_migration",offset3:offset3,_ajax_nonce:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce},success:function(data){"done"==data.data.offset3?($("#seopress-seo-framework-migrate").removeAttr("disabled"),$(".spinner").css("visibility","hidden"),$("#seo-framework-migration-tool .log").html(seopressAjaxMigrate.i18n)):self.process_offset3(parseInt(data.data.offset3),self)}})},$("#seopress-seo-framework-migrate").on("click",(function(){$(this).attr("disabled","disabled"),$("#seo-framework-migration-tool .spinner").css("visibility","visible"),$("#seo-framework-migration-tool .spinner").css("float","none"),$("#seo-framework-migration-tool .log").html("")})),$("#seopress-rk-migrate").on("click",(function(e4){e4.preventDefault(),self.process_offset4(0,self)})),process_offset4=function(offset4,self){$.ajax({method:"POST",url:seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,data:{action:"seopress_rk_migration",offset4:offset4,_ajax_nonce:seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce},success:function(data){"done"==data.data.offset4?($("#seopress-rk-migrate").removeAttr("disabled"),$(".spinner").css("visibility","hidden"),$("#rk-migration-tool .log").html(seopressAjaxMigrate.i18n)):self.process_offset4(parseInt(data.data.offset4),self)}})},$("#seopress-rk-migrate").on("click",(function(){$(this).attr("disabled","disabled"),$("#rk-migration-tool .spinner").css("visibility","visible"),$("#rk-migration-tool .spinner").css("float","none"),$("#rk-migration-tool .log").html("")}))}));
1
+ jQuery(document).ready(function(s){s("#seopress-yoast-migrate").on("click",function(s){s.preventDefault(),self.process_offset(0,self)}),process_offset=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_yoast_migrate.seopress_yoast_migration,data:{action:"seopress_yoast_migration",offset:e,_ajax_nonce:seopressAjaxMigrate.seopress_yoast_migrate.seopress_nonce},success:function(e){"done"==e.data.offset?(s("#seopress-yoast-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#yoast-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset(parseInt(e.data.offset),o)}})},s("#seopress-yoast-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#yoast-migration-tool .spinner").css("visibility","visible"),s("#yoast-migration-tool .spinner").css("float","none"),s("#yoast-migration-tool .log").html("")}),s("#seopress-aio-migrate").on("click",function(s){s.preventDefault(),self.process_offset2(0,self)}),process_offset2=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_aio_migrate.seopress_aio_migration,data:{action:"seopress_aio_migration",offset2:e,_ajax_nonce:seopressAjaxMigrate.seopress_aio_migrate.seopress_nonce},success:function(e){"done"==e.data.offset2?(s("#seopress-aio-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#aio-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset2(parseInt(e.data.offset2),o)}})},s("#seopress-aio-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#aio-migration-tool .spinner").css("visibility","visible"),s("#aio-migration-tool .spinner").css("float","none"),s("#aio-migration-tool .log").html("")}),s("#seopress-seo-framework-migrate").on("click",function(s){s.preventDefault(),self.process_offset3(0,self)}),process_offset3=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_seo_framework_migration,data:{action:"seopress_seo_framework_migration",offset3:e,_ajax_nonce:seopressAjaxMigrate.seopress_seo_framework_migrate.seopress_nonce},success:function(e){"done"==e.data.offset3?(s("#seopress-seo-framework-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#seo-framework-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset3(parseInt(e.data.offset3),o)}})},s("#seopress-seo-framework-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#seo-framework-migration-tool .spinner").css("visibility","visible"),s("#seo-framework-migration-tool .spinner").css("float","none"),s("#seo-framework-migration-tool .log").html("")}),s("#seopress-rk-migrate").on("click",function(s){s.preventDefault(),self.process_offset4(0,self)}),process_offset4=function(e,o){s.ajax({method:"POST",url:seopressAjaxMigrate.seopress_rk_migrate.seopress_rk_migration,data:{action:"seopress_rk_migration",offset4:e,_ajax_nonce:seopressAjaxMigrate.seopress_rk_migrate.seopress_nonce},success:function(e){"done"==e.data.offset4?(s("#seopress-rk-migrate").removeAttr("disabled"),s(".spinner").css("visibility","hidden"),s("#rk-migration-tool .log").html(seopressAjaxMigrate.i18n)):o.process_offset4(parseInt(e.data.offset4),o)}})},s("#seopress-rk-migrate").on("click",function(){s(this).attr("disabled","disabled"),s("#rk-migration-tool .spinner").css("visibility","visible"),s("#rk-migration-tool .spinner").css("float","none"),s("#rk-migration-tool .log").html("")})});
inc/admin/admin-metaboxes-content-analysis-form.php CHANGED
File without changes
inc/admin/admin-metaboxes-form.php CHANGED
@@ -5,6 +5,7 @@ global $typenow;
5
  global $pagenow;
6
 
7
  $data_tax = '';
 
8
 
9
  if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
10
  $current_id = get_the_id();
@@ -34,11 +35,17 @@ if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
34
  } elseif ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) {
35
  global $tag;
36
  $current_id = $tag->term_id;
 
37
  $origin = 'term';
38
  $data_tax = $tag->taxonomy;
39
  $title = $tag->name;
40
  }
41
 
 
 
 
 
 
42
  function seopress_redirections_value($seopress_redirections_value) {
43
  if ('' != $seopress_redirections_value) {
44
  return $seopress_redirections_value;
@@ -54,7 +61,7 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) {
54
  <div class="inside">';
55
  }
56
 
57
- echo '<div id="seopress-tabs" data_id="' . $current_id . '" data_origin="' . $origin . '" data_tax="' . $data_tax . '">';
58
 
59
  if ('seopress_404' != $typenow) {
60
  $seo_tabs['title-tab'] = '<li><a href="#tabs-1"><span class="dashicons dashicons-editor-table"></span>' . __('Titles settings', 'wp-seopress') . '</a></li>';
@@ -94,7 +101,7 @@ echo '<div id="seopress-tabs" data_id="' . $current_id . '" data_origin="' . $or
94
  if ('seopress_404' != $typenow) {
95
  if (array_key_exists('title-tab', $seo_tabs)) {
96
  echo '<div id="tabs-1">';
97
- if (is_plugin_active('woocommerce/woocommerce.php')) {
98
  $shop_page_id = wc_get_page_id('shop');
99
  if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
100
  if ($post && absint($shop_page_id) === absint($post->ID)) {
@@ -482,15 +489,17 @@ echo '<div id="seopress-tabs" data_id="' . $current_id . '" data_origin="' . $or
482
  }
483
  }
484
 
485
- if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
486
- $seopress_docs_link['support']['redirection'] = 'https://www.seopress.org/fr/support/guides/activer-redirections-301-surveillance-404/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
487
- } else {
488
- $seopress_docs_link['support']['redirection'] = 'https://www.seopress.org/support/guides/redirections/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
489
- } ?>
490
- <span class="seopress-help dashicons dashicons-external"></span>
491
- <a href="<?php echo $seopress_docs_link['support']['redirection']; ?>" target="_blank" class="seopress-help seopress-doc"><?php _e('Need help with your redirections? Read our guide.', 'wp-seopress'); ?></a>
492
- <?php echo '</p>
493
- </div>';
 
 
494
  }
495
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
496
  if (function_exists('seopress_get_toggle_option') && '1' == seopress_get_toggle_option('news')) {
5
  global $pagenow;
6
 
7
  $data_tax = '';
8
+ $termId = '';
9
 
10
  if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
11
  $current_id = get_the_id();
35
  } elseif ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) {
36
  global $tag;
37
  $current_id = $tag->term_id;
38
+ $termId = $tag->term_id;
39
  $origin = 'term';
40
  $data_tax = $tag->taxonomy;
41
  $title = $tag->name;
42
  }
43
 
44
+ $isHomeId = get_option('page_on_front');
45
+ if ('0' === $isHomeId) {
46
+ $isHomeId = '';
47
+ }
48
+
49
  function seopress_redirections_value($seopress_redirections_value) {
50
  if ('' != $seopress_redirections_value) {
51
  return $seopress_redirections_value;
61
  <div class="inside">';
62
  }
63
 
64
+ echo '<div id="seopress-tabs" data-home-id="' . $isHomeId . '" data-term-id="' . $termId . '" data_id="' . $current_id . '" data_origin="' . $origin . '" data_tax="' . $data_tax . '">';
65
 
66
  if ('seopress_404' != $typenow) {
67
  $seo_tabs['title-tab'] = '<li><a href="#tabs-1"><span class="dashicons dashicons-editor-table"></span>' . __('Titles settings', 'wp-seopress') . '</a></li>';
101
  if ('seopress_404' != $typenow) {
102
  if (array_key_exists('title-tab', $seo_tabs)) {
103
  echo '<div id="tabs-1">';
104
+ if (is_plugin_active('woocommerce/woocommerce.php') && function_exists('wc_get_page_id')) {
105
  $shop_page_id = wc_get_page_id('shop');
106
  if ('post-new.php' == $pagenow || 'post.php' == $pagenow) {
107
  if ($post && absint($shop_page_id) === absint($post->ID)) {
489
  }
490
  }
491
 
492
+ if ((function_exists('seopress_mu_white_label_help_links_option') && '1' !== seopress_mu_white_label_help_links_option()) || (function_exists('seopress_white_label_help_links_option') && '1' !== seopress_white_label_help_links_option())) {
493
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
494
+ $seopress_docs_link['support']['redirection'] = 'https://www.seopress.org/fr/support/guides/activer-redirections-301-surveillance-404/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
495
+ } else {
496
+ $seopress_docs_link['support']['redirection'] = 'https://www.seopress.org/support/guides/redirections/?utm_source=plugin&utm_medium=wp-admin&utm_campaign=seopress';
497
+ } ?>
498
+ <span class="seopress-help dashicons dashicons-external"></span>
499
+ <a href="<?php echo $seopress_docs_link['support']['redirection']; ?>" target="_blank" class="seopress-help seopress-doc"><?php _e('Need help with your redirections? Read our guide.', 'wp-seopress'); ?></a>
500
+ <?php echo '</p>';
501
+ }
502
+ echo '</div>';
503
  }
504
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
505
  if (function_exists('seopress_get_toggle_option') && '1' == seopress_get_toggle_option('news')) {
inc/admin/admin-metaboxes-get-content-analysis.php DELETED
@@ -1,740 +0,0 @@
1
- <?php
2
- defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
-
4
- //Analyzes
5
- $analyzes = array(
6
- 'schemas'=> array(
7
- 'title' => __('Structured data types','wp-seopress'),
8
- 'impact' => 'good',
9
- 'desc' => NULL
10
- ),
11
- 'old_post'=> array(
12
- 'title' => __('Last modified date','wp-seopress'),
13
- 'impact' => 'good',
14
- 'desc' => NULL
15
- ),
16
- 'words_counter'=> array(
17
- 'title' => __('Words counter','wp-seopress'),
18
- 'impact' => 'good',
19
- 'desc' => NULL
20
- ),
21
- 'keywords_density'=> array(
22
- 'title' => __('Keywords density','wp-seopress'),
23
- 'impact' => NULL,
24
- 'desc' => NULL
25
- ),
26
- 'keywords_permalink'=> array(
27
- 'title' => __('Keywords in permalink','wp-seopress'),
28
- 'impact' => NULL,
29
- 'desc' => NULL
30
- ),
31
- 'headings'=> array(
32
- 'title' => __('Headings','wp-seopress'),
33
- 'impact' => 'good',
34
- 'desc' => NULL
35
- ),
36
- 'meta_title'=> array(
37
- 'title' => __('Meta title','wp-seopress'),
38
- 'impact' => NULL,
39
- 'desc' => NULL
40
- ),
41
- 'meta_desc'=> array(
42
- 'title' => __('Meta description','wp-seopress'),
43
- 'impact' => NULL,
44
- 'desc' => NULL
45
- ),
46
- 'social'=> array(
47
- 'title' => __('Social meta tags','wp-seopress'),
48
- 'impact' => 'good',
49
- 'desc' => NULL
50
- ),
51
- 'robots'=> array(
52
- 'title' => __('Meta robots','wp-seopress'),
53
- 'impact' => 'good',
54
- 'desc' => NULL
55
- ),
56
- 'img_alt'=> array(
57
- 'title' => __('Alternative texts of images','wp-seopress'),
58
- 'impact' => 'good',
59
- 'desc' => NULL
60
- ),
61
- 'nofollow_links'=> array(
62
- 'title' => __('NoFollow Links','wp-seopress'),
63
- 'impact' => 'good',
64
- 'desc' => NULL
65
- ),
66
- 'outbound_links'=> array(
67
- 'title' => __('Outbound Links','wp-seopress'),
68
- 'impact' => 'good',
69
- 'desc' => NULL
70
- ),
71
- );
72
-
73
- //Schemas
74
- if (!empty($seopress_analysis_data['json']) || isset($seopress_analysis_data['json'])) {
75
- $desc = '<p>'.__('We found these schemas in the source code of this page:','wp-seopress').'</p>';
76
-
77
- $desc .= '<ul>';
78
- $json_ld = array_filter($seopress_analysis_data['json']);
79
- foreach(array_count_values($json_ld) as $key => $value) {
80
- $html = NULL;
81
- if ($value > 1) {
82
- $html = '<span class="impact high">'.__('duplicated schema - x','wp-seopress').$value.'</span>';
83
- $analyzes['schemas']['impact'] = 'high';
84
- }
85
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$key.$html.'</li>';
86
- }
87
- $desc .= '</ul>';
88
- $analyzes['schemas']['desc'] = $desc;
89
- } else {
90
- $analyzes['schemas']['impact'] = 'medium';
91
- $analyzes['schemas']['desc'] = '<p>'.__('No schemas found in the source code of this page.','wp-seopress').'</p>';
92
- }
93
-
94
- //Old post
95
- $desc = NULL;
96
- if( strtotime( $post->post_modified ) < strtotime('-365 days') ) {
97
- $analyzes['old_post']['impact'] = 'medium';
98
- $desc = '<p><span class="dashicons dashicons-no-alt"></span>'.__('This post is a little old!','wp-seopress').'</p>';
99
- } else {
100
- $desc = '<p><span class="dashicons dashicons-yes"></span>'.__('The last modified date of this article is less than 1 year. Cool!','wp-seopress').'</p>';
101
- }
102
- $desc .= '<p>'.__('Search engines love fresh content. Regularly update your articles without having to rewrite your content entirely and give them a boost in search rankings. We takes care of the technical part.','wp-seopress').'</p>';
103
- $analyzes['old_post']['desc'] = $desc;
104
-
105
- //Word counters
106
- $desc = NULL;
107
- if (isset($seopress_analysis_data['words_counter']) || isset($seopress_analysis_data['words_counter_unique'])) {
108
- $desc = '<p>'.__('Words counter is not a direct ranking factor. But, your content must be as qualitative as possible, with relevant and unique information. To fulfill these conditions, your article requires a minimum of paragraphs, so words.','wp-seopress').'</p>
109
- <ul>
110
- <li>'.$seopress_analysis_data['words_counter'].' '.__('words found.','wp-seopress').'</li>
111
- <li>'.$seopress_analysis_data['words_counter_unique'].' '.__('unique words found.','wp-seopress').'</li>';
112
-
113
- if ($seopress_analysis_data['words_counter'] >= 299) {
114
- $desc .= '<li><span class="dashicons dashicons-yes"></span>'.__('Your content is composed of more than 300 words, which is the minimum for a post.','wp-seopress').'</li>';
115
- } else {
116
- $desc .= '<li><span class="dashicons dashicons-no-alt"></span>'.__('Your content is too short. Add a few more paragraphs!','wp-seopress').'</li>';
117
- $analyzes['words_counter']['impact'] = 'medium';
118
- }
119
- $desc .= '</ul>';
120
-
121
- $analyzes['words_counter']['desc'] = $desc;
122
- } else {
123
- $analyzes['words_counter']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('No content? Add a few more paragraphs!','wp-seopress').'</p>';
124
- $analyzes['words_counter']['impact'] = 'high';
125
- }
126
-
127
- //Keywords density
128
- if (!empty($seopress_analysis_data['kws_density']['matches']) && isset($seopress_analysis_data['words_counter'])) {
129
- $target_kws_density = $seopress_analysis_data['kws_density']['matches'];
130
-
131
- $desc = '<ul>';
132
- foreach ($target_kws_density as $key => $value) {
133
- foreach ($value as $_key => $_value) {
134
- $kw_count = count($_value);
135
- }
136
- $kw_name = $key;
137
- $kw_density = round($kw_count/$seopress_analysis_data['words_counter']*100, 2);
138
- /* translators: %s target keyword %d count target keyword %s keyword density in % */
139
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times in your content, a keyword density of %s%%','wp-seopress'), $kw_name, $kw_count, $kw_density).'</li>';
140
- }
141
- $desc .= '</ul>';
142
- $desc .= '<p class="description">'.__('Learn more about <a href="https://www.youtube.com/watch?v=Rk4qgQdp2UA" target="_blank">keywords stuffing</a>.','wp-seopress').'</p>';
143
- $analyzes['keywords_density']['impact'] = 'good';
144
- $analyzes['keywords_density']['desc'] = $desc;
145
- } else {
146
- $analyzes['keywords_density']['desc'] = '<p>'.__('We were unable to calculate the density of your keywords. You probably haven‘t added any content or your target keywords were not find in your post content.','wp-seopress').'</p>';
147
- $analyzes['keywords_density']['impact'] = 'high';
148
- }
149
-
150
- //Keywords in permalink
151
- if (!empty($seopress_analysis_data['kws_permalink']['matches'])) {
152
- $desc = '<p><span class="dashicons dashicons-yes"></span>'.__('Cool, one of your target keyword is used in your permalink.','wp-seopress').'</p>';
153
-
154
- $target_kws_permalink = $seopress_analysis_data['kws_permalink']['matches'];
155
-
156
- $desc .= '<ul>';
157
- foreach ($target_kws_permalink as $key => $value) {
158
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$key.'</li>';
159
- }
160
- $desc .= '</ul>';
161
- $analyzes['keywords_permalink']['desc'] = $desc;
162
- $analyzes['keywords_permalink']['impact'] = 'good';
163
- } else {
164
- global $post;
165
- if (get_option( 'page_on_front' ) == $post->ID) {
166
- $analyzes['keywords_permalink']['desc'] = '<p><span class="dashicons dashicons-yes"></span>'.__('This is your homepage. This check doesn\'t apply here because there is no slug.','wp-seopress').'</p>';
167
- $analyzes['keywords_permalink']['impact'] = 'good';
168
- } else {
169
- $analyzes['keywords_permalink']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('You should add one of your target keyword in your permalink.','wp-seopress').'</p>';
170
- $analyzes['keywords_permalink']['impact'] = 'medium';
171
- }
172
- }
173
-
174
-
175
- //Headings
176
- //H1
177
- $desc = NULL;
178
- if (!empty($seopress_analysis_data['h1']['matches'])) {
179
- $desc .= '<h4>'.__('H1 (Heading 1)','wp-seopress').'</h4>';
180
-
181
- $count = $seopress_analysis_data['h1']['nomatches']['count'];
182
-
183
- $target_kws_h1 = $seopress_analysis_data['h1']['matches'];
184
-
185
- $all_h1 = $seopress_analysis_data['h1']['values'];
186
-
187
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 1 (H1).','wp-seopress').'</p>';
188
-
189
- $desc .= '<ul>';
190
-
191
- foreach ($target_kws_h1 as $key => $value) {
192
- foreach ($value as $_key => $_value) {
193
- $kw_count = count($value);
194
- }
195
- $kw_name = $key;
196
- /* translators: %s target keyword %d count target keyword */
197
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $kw_name, $kw_count).'</li>';
198
- }
199
-
200
- $desc .= '</ul>';
201
- if ($count > 1) {
202
- /* translators: %d: count heading 1 */
203
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d Heading 1 (H1) in your content.','wp-seopress'), $count).'</p>';
204
- $desc .= '<p>'.__('You should not use more than one H1 heading in your post content. The rule is simple: only one H1 for each web page. It is better for both SEO and accessibility. Below, the list:','wp-seopress').'</p>';
205
- $analyzes['headings']['impact'] = 'high';
206
- }
207
-
208
- if (!empty($all_h1)) {
209
- $desc .= '<ul>';
210
- foreach($all_h1 as $h1) {
211
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$h1.'</li>';
212
- }
213
- $desc .= '</ul>';
214
- }
215
- }
216
-
217
- //H2
218
- $desc .= '<h4>'.__('H2 (Heading 2)','wp-seopress').'</h4>';
219
- if (!empty($seopress_analysis_data['h2']['matches'])) {
220
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 2 (H2).','wp-seopress').'</p>';
221
- $desc .= '<ul>';
222
- $target_kws_h2 = $seopress_analysis_data['h2']['matches'];
223
- foreach ($target_kws_h2 as $key => $value) {
224
- foreach ($value as $_key => $_value) {
225
- $kw_count = count($value);
226
- }
227
- $kw_name = $key;
228
- /* translators: %s target keyword %d count target keyword */
229
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $kw_name, $kw_count).'</li>';
230
- }
231
- $desc .= '</ul>';
232
- } else {
233
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in Heading 2 (H2).','wp-seopress').'</p>';
234
- if ($analyzes['headings']['impact'] != 'high') {
235
- $analyzes['headings']['impact'] = 'medium';
236
- }
237
- }
238
-
239
- //H3
240
- $desc .= '<h4>'.__('H3 (Heading 3)','wp-seopress').'</h4>';
241
- if (!empty($seopress_analysis_data['h3']['matches'])) {
242
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in Heading 3 (H3).','wp-seopress').'</p>';
243
- $desc .= '<ul>';
244
- $target_kws_h3 = $seopress_analysis_data['h3']['matches'];
245
- foreach ($target_kws_h3 as $key => $value) {
246
- foreach ($value as $_key => $_value) {
247
- $kw_count = count($value);
248
- }
249
- $kw_name = $key;
250
- /* translators: %s target keyword %d count target keyword */
251
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $kw_name, $kw_count).'</li>';
252
- }
253
- $desc .= '</ul>';
254
- } else {
255
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in Heading 3 (H3).','wp-seopress').'</p>';
256
- if ($analyzes['headings']['impact'] != 'high') {
257
- $analyzes['headings']['impact'] = 'medium';
258
- }
259
- }
260
- $analyzes['headings']['desc'] = $desc;
261
-
262
- //Meta Title
263
- if ($seopress_titles_title !='') {
264
- $desc = NULL;
265
- if (!empty($seopress_analysis_data['meta_title']['matches'])) {
266
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in the Meta Title.','wp-seopress').'</p>';
267
- $desc .= '<ul>';
268
- $target_kws_title = $seopress_analysis_data['meta_title']['matches'];
269
- foreach ($target_kws_title as $key => $value) {
270
- foreach ($value as $_key => $_value) {
271
- $kw_count = count($_value);
272
- }
273
- $kw_name = $key;
274
- /* translators: %s target keyword %d count target keyword */
275
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $kw_name, $kw_count).'</li>';
276
- }
277
- $desc .= '</ul>';
278
- $analyzes['meta_title']['impact'] = 'good';
279
- } else {
280
- $analyzes['meta_title']['impact'] = 'medium';
281
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in the Meta Title.','wp-seopress').'</p>';
282
- }
283
-
284
- if (mb_strlen($seopress_titles_title) > 65 ) {
285
- $analyzes['meta_title']['impact'] = 'medium';
286
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your custom title is too long.','wp-seopress').'</p>';
287
- } else {
288
- $analyzes['meta_title']['impact'] = 'good';
289
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('The length of your title is correct','wp-seopress').'</p>';
290
- }
291
- $analyzes['meta_title']['desc'] = $desc;
292
- } else {
293
- $analyzes['meta_title']['impact'] = 'medium';
294
- $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>';
295
- }
296
-
297
- //Meta description
298
- if ($seopress_titles_desc !='') {
299
- $desc = NULL;
300
- if (!empty($seopress_analysis_data['meta_description']['matches'])) {
301
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('Target keywords were found in the Meta description.','wp-seopress').'</p>';
302
- $desc .= '<ul>';
303
- $target_kws_desc = $seopress_analysis_data['meta_description']['matches'];
304
- foreach ($target_kws_desc as $key => $value) {
305
- foreach ($value as $_key => $_value) {
306
- $kw_count = count($_value);
307
- }
308
- $kw_name = $key;
309
- /* translators: %s target keyword %d count target keyword */
310
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.sprintf(esc_html__('%s was found %d times.','wp-seopress'), $kw_name, $kw_count).'</li>';
311
- }
312
- $desc .= '</ul>';
313
- $analyzes['meta_desc']['impact'] = 'good';
314
- } else {
315
- $analyzes['meta_desc']['impact'] = 'medium';
316
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('None of your target keywords were found in the Meta description.','wp-seopress').'</p>';
317
- }
318
-
319
- if (mb_strlen($seopress_titles_desc) > 160 ) {
320
- $analyzes['meta_desc']['impact'] = 'medium';
321
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('You custom meta description is too long.','wp-seopress').'</p>';
322
- } else {
323
- $analyzes['meta_desc']['impact'] = 'good';
324
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('The length of your meta description is correct','wp-seopress').'</p>';
325
- }
326
- $analyzes['meta_desc']['desc'] = $desc;
327
- } else {
328
- $analyzes['meta_desc']['impact'] = 'medium';
329
- $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>';
330
- }
331
-
332
- //Social tags
333
- //og:title
334
- $desc = NULL;
335
-
336
- $desc .= '<h4>'.__('Open Graph Title','wp-seopress').'</h4>';
337
-
338
- if (!empty($seopress_analysis_data['og_title']['count'])) {
339
- $count = $seopress_analysis_data['og_title']['count'];
340
-
341
- $all_og_title = $seopress_analysis_data['og_title']['values'];
342
-
343
- if ($count > 1) {
344
- $analyzes['social']['impact'] = 'high';
345
- /* translators: %d count Open Graph Title */
346
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d og:title in your content.','wp-seopress'), $count).'</p>';
347
- $desc .= '<p>'.__('You should not use more than one og:title in your post content to avoid conflicts when sharing on social networks. Facebook will take the last og:title tag from your source code. Below, the list:','wp-seopress').'</p>';
348
- } elseif(empty($all_og_title[0])) { //If og:title empty
349
- $analyzes['social']['impact'] = 'high';
350
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Title tag is empty!','wp-seopress').'</p>';
351
- } else {
352
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found an Open Graph Title tag in your source code.','wp-seopress').'</p>';
353
- }
354
-
355
- if (!empty($all_og_title)) {
356
- $desc .= '<ul>';
357
- foreach($all_og_title as $og_title) {
358
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$og_title.'</li>';
359
- }
360
- $desc .= '</ul>';
361
- }
362
- } else {
363
- $analyzes['social']['impact'] = 'high';
364
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Title is missing!','wp-seopress').'</p>';
365
- }
366
-
367
- //og:description
368
- $desc .= '<h4>'.__('Open Graph Description','wp-seopress').'</h4>';
369
-
370
- if (!empty($seopress_analysis_data['og_desc']['count'])) {
371
-
372
- $count = $seopress_analysis_data['og_desc']['count'];
373
-
374
- $all_og_desc = isset($seopress_analysis_data['og_desc']['values']) ? $seopress_analysis_data['og_desc']['values'] : [];
375
-
376
- if ($count > 1) {
377
- $analyzes['social']['impact'] = 'high';
378
- /* translators: %d count Open Graph Description */
379
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d og:description in your content.','wp-seopress'), $count).'</p>';
380
- $desc .= '<p>'.__('You should not use more than one og:description in your post content to avoid conflicts when sharing on social networks. Facebook will take the last og:description tag from your source code. Below, the list:','wp-seopress').'</p>';
381
- } elseif(empty($all_og_desc[0])) { //If og:description empty
382
- $analyzes['social']['impact'] = 'high';
383
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Description tag is empty!','wp-seopress').'</p>';
384
- } else {
385
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found an Open Graph Description tag in your source code.','wp-seopress').'</p>';
386
- }
387
-
388
- if (!empty($all_og_desc)) {
389
- $desc .= '<ul>';
390
- foreach($all_og_desc as $og_desc) {
391
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$og_desc.'</li>';
392
- }
393
- $desc .= '</ul>';
394
- }
395
- } else {
396
- $analyzes['social']['impact'] = 'high';
397
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Description is missing!','wp-seopress').'</p>';
398
- }
399
-
400
- //og:image
401
- $desc .= '<h4>'.__('Open Graph Image','wp-seopress').'</h4>';
402
-
403
- if (!empty($seopress_analysis_data['og_img']['count'])) {
404
-
405
- $count = $seopress_analysis_data['og_img']['count'];
406
-
407
- $all_og_img = isset($seopress_analysis_data['og_img']['values']) ? $seopress_analysis_data['og_img']['values'] : [];
408
-
409
- if ($count > 0 && !empty($all_og_img[0])) {
410
- /* translators: %d count Open Graph Image */
411
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.sprintf(esc_html__('We found %d og:image in your content.','wp-seopress'), $count).'</p>';
412
- }
413
-
414
- //If og:image empty
415
- if ($count > 0 && empty($all_og_img[0])) {
416
- $analyzes['social']['impact'] = 'high';
417
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Image tag is empty!','wp-seopress').'</p>';
418
- }
419
-
420
- if (!empty($all_og_img)) {
421
- $desc .= '<ul>';
422
- foreach($all_og_img as $og_img) {
423
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$og_img.'</li>';
424
- }
425
- $desc .= '</ul>';
426
- }
427
- } else {
428
- $analyzes['social']['impact'] = 'high';
429
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Image is missing!','wp-seopress').'</p>';
430
- }
431
-
432
- //og:url
433
- $desc .= '<h4>'.__('Open Graph URL','wp-seopress').'</h4>';
434
-
435
- if (!empty($seopress_analysis_data['og_url']['count'])) {
436
-
437
- $count = $seopress_analysis_data['og_url']['count'];
438
-
439
- $all_og_url = $seopress_analysis_data['og_url']['values'];
440
-
441
- if ($count > 1) {
442
- $analyzes['social']['impact'] = 'high';
443
- /* translators: %d count Open Graph URL */
444
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d og:url in your content.','wp-seopress'), $count).'</p>';
445
- $desc .= '<p>'.__('You should not use more than one og:url in your post content to avoid conflicts when sharing on social networks. Facebook will take the last og:url tag from your source code. Below, the list:','wp-seopress').'</p>';
446
- } elseif(empty($all_og_url[0])) { //If og:url empty
447
- $analyzes['social']['impact'] = 'high';
448
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph URL tag is empty!','wp-seopress').'</p>';
449
- } else {
450
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found an Open Graph URL tag in your source code.','wp-seopress').'</p>';
451
- }
452
-
453
- if (!empty($all_og_url)) {
454
- $desc .= '<ul>';
455
- foreach($all_og_url as $og_url) {
456
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$og_url.'</li>';
457
- }
458
- $desc .= '</ul>';
459
- }
460
- } else {
461
- $analyzes['social']['impact'] = 'high';
462
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph URL is missing!','wp-seopress').'</p>';
463
- }
464
-
465
- //og:site_name
466
- $desc .= '<h4>'.__('Open Graph Site Name','wp-seopress').'</h4>';
467
-
468
- if (!empty($seopress_analysis_data['og_site_name']['count'])) {
469
-
470
- $count = $seopress_analysis_data['og_site_name']['count'];
471
-
472
- $all_og_site_name = $seopress_analysis_data['og_site_name']['values'];
473
-
474
- if ($count > 1) {
475
- $analyzes['social']['impact'] = 'high';
476
- /* translators: %d count Open Graph site name */
477
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d og:site_name in your content.','wp-seopress'), $count).'</p>';
478
- $desc .= '<p>'.__('You should not use more than one og:site_name in your post content to avoid conflicts when sharing on social networks. Facebook will take the last og:site_name tag from your source code. Below, the list:','wp-seopress').'</p>';
479
- } elseif(empty($all_og_site_name[0])) { //If og:site_name empty
480
- $analyzes['social']['impact'] = 'high';
481
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Site Name tag is empty!','wp-seopress').'</p>';
482
- } else {
483
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found an Open Graph Site Name tag in your source code.','wp-seopress').'</p>';
484
- }
485
-
486
- if (!empty($all_og_site_name)) {
487
- $desc .= '<ul>';
488
- foreach($all_og_site_name as $og_site_name) {
489
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$og_site_name.'</li>';
490
- }
491
- $desc .= '</ul>';
492
- }
493
- } else {
494
- $analyzes['social']['impact'] = 'high';
495
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Open Graph Site Name is missing!','wp-seopress').'</p>';
496
- }
497
-
498
- //twitter:title
499
- $desc .= '<h4>'.__('Twitter Title','wp-seopress').'</h4>';
500
-
501
- if (!empty($seopress_analysis_data['tw_title']['count'])) {
502
-
503
- $count = $seopress_analysis_data['tw_title']['count'];
504
-
505
- $all_tw_title = $seopress_analysis_data['tw_title']['values'];
506
-
507
- if ($count > 1) {
508
- $analyzes['social']['impact'] = 'high';
509
- /* translators: %d count Twitter Title */
510
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d twitter:title in your content.','wp-seopress'), $count).'</p>';
511
- $desc .= '<p>'.__('You should not use more than one twitter:title in your post content to avoid conflicts when sharing on social networks. Twitter will take the last twitter:title tag from your source code. Below, the list:','wp-seopress').'</p>';
512
- } elseif(empty($all_tw_title[0])) { //If twitter:title empty
513
- $analyzes['social']['impact'] = 'high';
514
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Twitter Title tag is empty!','wp-seopress').'</p>';
515
- } else {
516
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found a Twitter Title tag in your source code.','wp-seopress').'</p>';
517
- }
518
-
519
- if (!empty($all_tw_title)) {
520
- $desc .= '<ul>';
521
- foreach($all_tw_title as $tw_title) {
522
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$tw_title.'</li>';
523
- }
524
- $desc .= '</ul>';
525
- }
526
- } else {
527
- $analyzes['social']['impact'] = 'high';
528
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Twitter Title is missing!','wp-seopress').'</p>';
529
- }
530
-
531
- //twitter:description
532
- $desc .= '<h4>'.__('Twitter Description','wp-seopress').'</h4>';
533
-
534
- if (!empty($seopress_analysis_data['tw_desc']['count'])) {
535
-
536
- $count = $seopress_analysis_data['tw_desc']['count'];
537
-
538
- $all_tw_desc = isset($seopress_analysis_data['tw_desc']['values']) ? $seopress_analysis_data['tw_desc']['values'] : [];
539
-
540
- if ($count > 1) {
541
- $analyzes['social']['impact'] = 'high';
542
- /* translators: %d count Twitter Description */
543
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %d twitter:description in your content.','wp-seopress'), $count).'</p>';
544
- $desc .= '<p>'.__('You should not use more than one twitter:description in your post content to avoid conflicts when sharing on social networks. Twitter will take the last twitter:description tag from your source code. Below, the list:','wp-seopress').'</p>';
545
- } elseif(empty($all_tw_desc[0])) { //If twitter:description empty
546
- $analyzes['social']['impact'] = 'high';
547
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Twitter Description tag is empty!','wp-seopress').'</p>';
548
- } else {
549
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found a Twitter Description tag in your source code.','wp-seopress').'</p>';
550
- }
551
-
552
- if (!empty($all_tw_desc)) {
553
- $desc .= '<ul>';
554
- foreach($all_tw_desc as $tw_desc) {
555
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$tw_desc.'</li>';
556
- }
557
- $desc .= '</ul>';
558
- }
559
- } else {
560
- $analyzes['social']['impact'] = 'high';
561
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Twitter Description is missing!','wp-seopress').'</p>';
562
- }
563
-
564
- //twitter:image
565
- $desc .= '<h4>'.__('Twitter Image','wp-seopress').'</h4>';
566
-
567
- if (!empty($seopress_analysis_data['tw_img']['count'])) {
568
-
569
- $count = $seopress_analysis_data['tw_img']['count'];
570
-
571
- $all_tw_img = isset($seopress_analysis_data['tw_img']['values']) ? $seopress_analysis_data['tw_img']['values'] : [];
572
-
573
- if ($count > 0 && !empty($all_tw_img[0])) {
574
- /* translators: %d count Twitter Image */
575
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.sprintf(esc_html__('We found %d twitter:image in your content.','wp-seopress'), $count).'</p>';
576
- }
577
-
578
- //If twitter:image:src empty
579
- if ($count > 0 && empty($all_tw_img[0])) {
580
- $analyzes['social']['impact'] = 'high';
581
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Twitter Image tag is empty!','wp-seopress').'</p>';
582
- }
583
-
584
- if (!empty($all_tw_img)) {
585
- $desc .= '<ul>';
586
- foreach($all_tw_img as $tw_img) {
587
- $desc .= '<li><span class="dashicons dashicons-minus"></span>'.$tw_img.'</li>';
588
- }
589
- $desc .= '</ul>';
590
- }
591
- } else {
592
- $analyzes['social']['impact'] = 'high';
593
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('Your Twitter Image is missing!','wp-seopress').'</p>';
594
- }
595
- $analyzes['social']['desc'] = $desc;
596
-
597
- //Robots
598
- $desc = NULL;
599
- if (!empty($seopress_analysis_data['meta_robots'])) {
600
-
601
- $meta_robots = $seopress_analysis_data['meta_robots'];
602
-
603
- if (count($seopress_analysis_data['meta_robots']) > 1) {
604
- $analyzes['robots']['impact'] = 'high';
605
-
606
- $count_meta_robots = count($seopress_analysis_data['meta_robots']);
607
-
608
- /* translators: %d count meta robots tag */
609
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.sprintf(esc_html__('We found %s meta robots in your page. There is probably something wrong with your theme!','wp-seopress'), $count_meta_robots).'</p>';
610
- }
611
-
612
- if (preg_match('/noindex/', json_encode($meta_robots))) {
613
- $analyzes['robots']['impact'] = 'high';
614
- $desc .= '<p data-robots="noindex"><span class="dashicons dashicons-no-alt"></span>'.__('noindex is on! Search engines can\'t index this page.','wp-seopress').'</p>';
615
- } else {
616
- $desc .= '<p data-robots="index"><span class="dashicons dashicons-yes"></span>'.__('noindex is off. Search engines will index this page.','wp-seopress').'</p>';
617
- }
618
-
619
- if (preg_match('/nofollow/', json_encode($meta_robots))) {
620
- $analyzes['robots']['impact'] = 'high';
621
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('nofollow is on! Search engines can\'t follow your links on this page.','wp-seopress').'</p>';
622
- } else {
623
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('nofollow is off. Search engines will follow links on this page.','wp-seopress').'</p>';
624
- }
625
-
626
- if (preg_match('/noarchive/', json_encode($meta_robots))) {
627
- if ($analyzes['robots']['impact'] != 'high') {
628
- $analyzes['robots']['impact'] = 'medium';
629
- }
630
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('noarchive is on! Search engines will not cache your page.','wp-seopress').'</p>';
631
- } else {
632
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('noarchive is off. Search engines will probably cache your page.','wp-seopress').'</p>';
633
- }
634
-
635
- if (preg_match('/nosnippet/', json_encode($meta_robots))) {
636
- if ($analyzes['robots']['impact'] != 'high') {
637
- $analyzes['robots']['impact'] = 'medium';
638
- }
639
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('nosnippet is on! Search engines will not display a snippet of this page in search results.','wp-seopress').'</p>';
640
- } else {
641
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('nosnippet is off. Search engines will display a snippet of this page in search results.','wp-seopress').'</p>';
642
- }
643
- } else {
644
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('We found no meta robots on this page. It means, your page is index,follow. Search engines will index it, and follow links. ','wp-seopress').'</p>';
645
- }
646
-
647
- //Meta Google
648
- if (!empty($seopress_analysis_data['meta_google'])) {
649
- $meta_google = $seopress_analysis_data['meta_google'];
650
-
651
- if (preg_match('/noimageindex/', json_encode($meta_google))) {
652
- $analyzes['robots']['impact'] = 'high';
653
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('noimageindex is on! Google will not index your images on this page (but if someone makes a direct link to one of your image in this page, it will be indexed).','wp-seopress').'</p>';
654
- } else {
655
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('noimageindex is off. Google will index the images on this page.','wp-seopress').'</p>';
656
- }
657
-
658
- if (preg_match('/nositelinkssearchbox/', json_encode($meta_google))) {
659
- if ($analyzes['robots']['impact'] != 'high') {
660
- $analyzes['robots']['impact'] = 'medium';
661
- }
662
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('nositelinkssearchbox is on! Google will not display a sitelinks searchbox in search results.','wp-seopress').'</p>';
663
- } else {
664
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('nositelinkssearchbox is off. Google will probably display a sitelinks searchbox in search results.','wp-seopress').'</p>';
665
- }
666
- } else {
667
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('noimageindex is off. Google will index the images on this page.','wp-seopress').'</p>';
668
-
669
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('nositelinkssearchbox is off. Google will probably display a sitelinks searchbox in search results.','wp-seopress').'</p>';
670
- }
671
-
672
- $analyzes['robots']['desc'] = $desc;
673
-
674
- //Img alt
675
- if (!empty($seopress_analysis_data['img'])) {
676
- $images = isset($seopress_analysis_data['img']['images']) ? $seopress_analysis_data['img']['images'] : NULL;
677
-
678
- $desc = '<div class="wrap-analysis-img">';
679
-
680
- if (!empty($images)) {
681
- $analyzes['img_alt']['impact'] = 'high';
682
- $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>';
683
-
684
- //Standard images & galleries
685
- if (!empty($images)) {
686
- $desc .= '<ul class="attachments">';
687
- foreach($images as $img) {
688
- $desc .= '<li class="attachment"><img src="'.$img.'"/></li>';
689
- }
690
- $desc .= '</ul>';
691
- }
692
- } else {
693
- $desc .= '<p><span class="dashicons dashicons-yes"></span>'.__('All alternative tags are filled in. Good work!','wp-seopress').'</p>';
694
- }
695
- $desc .= '</div>';
696
-
697
- $analyzes['img_alt']['desc'] = $desc;
698
- } else {
699
- $analyzes['img_alt']['impact'] = 'medium';
700
- $analyzes['img_alt']['desc'] = '<p><span class="dashicons dashicons-no-alt"></span>'.__('We could not find any image in your content. Content with media is a plus for your SEO.','wp-seopress').'</p>';
701
- }
702
-
703
- //Nofollow links
704
- if (!empty($seopress_analysis_data['nofollow_links'])) {
705
- $count = count($seopress_analysis_data['nofollow_links']);
706
-
707
- /* translators: %d count nofollow attributes */
708
- $desc = '<p>'.sprintf( esc_html__( 'We found %d links with nofollow attribute in your page. Do not overuse nofollow attribute in links. Below, the list:', 'wp-seopress' ), $count ).'</p>';
709
- $desc .= '<ul>';
710
- foreach ($seopress_analysis_data['nofollow_links'] as $links) {
711
- foreach ($links as $href => $link) {
712
- $desc .= '<li><span class="dashicons dashicons-minus"></span><a href="'.$href.'" target="_blank">'.$link.'</a><span class="dashicons dashicons-external"></span></li>';
713
- }
714
- }
715
- $desc .= '</ul>';
716
- $analyzes['nofollow_links']['impact'] = 'low';
717
- $analyzes['nofollow_links']['desc'] = $desc;
718
- } else {
719
- $analyzes['nofollow_links']['desc'] = '<p><span class="dashicons dashicons-yes"></span>'.__('This page doesn\'t have any nofollow links.','wp-seopress').'</p>';
720
- }
721
-
722
- //Outbound links
723
- $desc = '<p>'.__('Internet is built on the principle of hyperlink. It is therefore perfectly normal to make links between different websites. However, avoid making links to low quality sites, SPAM... If you are not sure about the quality of a site, add the attribute "nofollow" to your link.').'</p>';
724
- if (!empty($seopress_analysis_data['outbound_links'])) {
725
- $count = count($seopress_analysis_data['outbound_links']);
726
-
727
- /* translators: %d count outbound links */
728
- $desc .= '<p>'.sprintf( __('We found %s outbound links in your page. Below, the list:', 'wp-seopress'), $count ).'</p>';
729
- $desc .= '<ul>';
730
- foreach ($seopress_analysis_data['outbound_links'] as $links) {
731
- foreach ($links as $href => $link) {
732
- $desc .= '<li><span class="dashicons dashicons-minus"></span><a href="'.$href.'" target="_blank">'.$link.'</a><span class="dashicons dashicons-external"></span></li>';
733
- }
734
- }
735
- $desc .= '</ul>';
736
- } else {
737
- $analyzes['outbound_links']['impact'] = 'medium';
738
- $desc .= '<p><span class="dashicons dashicons-no-alt"></span>'.__('This page doesn\'t have any outbound links.','wp-seopress').'</p>';
739
- }
740
- $analyzes['outbound_links']['desc'] = $desc;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/admin-metaboxes-render-content-analysis.php DELETED
@@ -1,70 +0,0 @@
1
- <?php
2
- defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
-
4
- $html = '<div id="seopress-analysis-tabs">
5
- <div id="seopress-analysis-tabs-1">';
6
- $html .= '<div class="analysis-score">';
7
- $impact = array_unique(array_values(wp_list_pluck($analyzes, 'impact')));
8
- $svg = '<svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
9
- <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
10
- <circle id="bar" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 101.788px;"></circle>
11
- </svg>';
12
- $tooltip = seopress_tooltip(__('Content analysis','wp-seopress'), __('<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</strong> yellow or green dots','wp-seopress'), '');
13
-
14
- if (!empty($impact)) {
15
- if (in_array('medium', $impact) || in_array('high', $impact)) {
16
- $html .= '<p class="notgood">'.$svg.'<span>'.__('Should be improved','wp-seopress').$tooltip.'</span></p>';
17
- $score = false;
18
- } else {
19
- $html .= '<p class="good">'.$svg.'<span>'.__('Good','wp-seopress').$tooltip.'</span></p>';
20
- $score = true;
21
- }
22
- } else {
23
- $score = false;
24
- }
25
-
26
- if (!empty($seopress_analysis_data)) {
27
- $seopress_analysis_data['score'] = $score;
28
- update_post_meta(get_the_ID(), '_seopress_analysis_data', $seopress_analysis_data);
29
- }
30
- $html .= '<span><a href="#" id="expand-all">'.__('Expand','wp-seopress').'</a> / <a href="#" id="close-all">'.__('Close','wp-seopress').'</a></span>
31
- </div>';
32
-
33
- if(!empty($analyzes)) {
34
- $order = [
35
- '1' => 'high',
36
- '2' => 'medium',
37
- '3' => 'low',
38
- '4' => 'good'
39
- ];
40
-
41
- usort($analyzes, function ($a, $b) use ($order) {
42
- $pos_a = array_search($a['impact'], $order);
43
- $pos_b = array_search($b['impact'], $order);
44
- return $pos_a - $pos_b;
45
- });
46
-
47
- foreach($analyzes as $key => $value) {
48
- $html .= '<div class="gr-analysis">';
49
- if (isset($value['title'])) {
50
- $html .= '<div class="gr-analysis-title">
51
- <h3>
52
- <button type="button" aria-expanded="true" class="btn-toggle">';
53
- if (isset($value['impact'])) {
54
- $html .= '<span class="impact '.$value['impact'].'" aria-hidden="true"></span>';
55
- }
56
- $html .= '<span class="sp-arrow" aria-hidden="true"></span>
57
- '.$value['title'].'
58
- </button>
59
- </h3>
60
- </div>';
61
- }
62
- if (isset($value['desc'])) {
63
- $html .= '<div class="gr-analysis-content">'. $value['desc'] .'</div>';
64
- }
65
- $html .= '</div>';
66
- }
67
- }
68
- $html .= '</div>
69
- </div>
70
- </div>';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/admin/admin-metaboxes.php CHANGED
@@ -1,562 +1,577 @@
1
  <?php
2
 
3
- defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
4
 
5
  ///////////////////////////////////////////////////////////////////////////////////////////////////
6
  //Restrict SEO metaboxes to user roles
7
  ///////////////////////////////////////////////////////////////////////////////////////////////////
8
  function seopress_advanced_security_metaboxe_role_hook_option() {
9
- $seopress_advanced_security_metaboxe_role_hook_option = get_option("seopress_advanced_option_name");
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
- }
 
17
  }
18
 
19
  function seopress_advanced_security_metaboxe_ca_role_hook_option() {
20
- $seopress_advanced_security_metaboxe_ca_role_hook_option = get_option("seopress_advanced_option_name");
21
- if ( ! empty ( $seopress_advanced_security_metaboxe_ca_role_hook_option ) ) {
22
- foreach ($seopress_advanced_security_metaboxe_ca_role_hook_option as $key => $seopress_advanced_security_metaboxe_ca_role_hook_value)
23
- $options[$key] = $seopress_advanced_security_metaboxe_ca_role_hook_value;
24
- if (isset($seopress_advanced_security_metaboxe_ca_role_hook_option['seopress_advanced_security_metaboxe_ca_role'])) {
25
- return $seopress_advanced_security_metaboxe_ca_role_hook_option['seopress_advanced_security_metaboxe_ca_role'];
26
- }
27
- }
 
28
  }
29
 
30
  ///////////////////////////////////////////////////////////////////////////////////////////////////
31
  //Check global settings
32
  ///////////////////////////////////////////////////////////////////////////////////////////////////
33
- if (!function_exists('seopress_titles_single_cpt_noindex_option')) {
34
- function seopress_titles_single_cpt_noindex_option() {
35
- global $post;
36
- $seopress_get_current_cpt = get_post_type($post);
37
-
38
- $seopress_titles_single_cpt_noindex_option = get_option("seopress_titles_option_name");
39
- if ( ! empty ( $seopress_titles_single_cpt_noindex_option ) ) {
40
- foreach ($seopress_titles_single_cpt_noindex_option as $key => $seopress_titles_single_cpt_noindex_value)
41
- $options[$key] = $seopress_titles_single_cpt_noindex_value;
42
- if (isset($seopress_titles_single_cpt_noindex_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['noindex'])) {
43
- return $seopress_titles_single_cpt_noindex_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['noindex'];
44
- }
45
- }
46
- }
 
47
  }
48
 
49
- if (!function_exists('seopress_titles_noindex_option')) {
50
- function seopress_titles_noindex_option() {
51
- $seopress_titles_noindex_option = get_option("seopress_titles_option_name");
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
- }
59
- }
 
60
  }
61
 
62
- if (!function_exists('seopress_titles_single_cpt_nofollow_option')) {
63
- function seopress_titles_single_cpt_nofollow_option() {
64
- global $post;
65
- $seopress_get_current_cpt = get_post_type($post);
66
-
67
- $seopress_titles_single_cpt_nofollow_option = get_option("seopress_titles_option_name");
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
- }
75
- }
 
76
  }
77
 
78
- if (!function_exists('seopress_titles_nofollow_option')) {
79
- function seopress_titles_nofollow_option() {
80
- $seopress_titles_nofollow_option = get_option("seopress_titles_option_name");
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
- }
88
- }
 
89
  }
90
 
91
- if (!function_exists('seopress_titles_noodp_option')) {
92
- function seopress_titles_noodp_option() {
93
- $seopress_titles_noodp_option = get_option("seopress_titles_option_name");
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
- }
101
- }
 
102
  }
103
 
104
- if (!function_exists('seopress_titles_noarchive_option')) {
105
- function seopress_titles_noarchive_option() {
106
- $seopress_titles_noarchive_option = get_option("seopress_titles_option_name");
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
- }
114
- }
 
115
  }
116
 
117
- if (!function_exists('seopress_titles_nosnippet_option')) {
118
- function seopress_titles_nosnippet_option() {
119
- $seopress_titles_nosnippet_option = get_option("seopress_titles_option_name");
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
- }
127
- }
 
128
  }
129
 
130
- if (!function_exists('seopress_titles_noimageindex_option')) {
131
- function seopress_titles_noimageindex_option() {
132
- $seopress_titles_noimageindex_option = get_option("seopress_titles_option_name");
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
- }
140
- }
 
141
  }
142
 
143
  ///////////////////////////////////////////////////////////////////////////////////////////////////
144
  //Display metabox in Custom Post Type
145
  ///////////////////////////////////////////////////////////////////////////////////////////////////
146
  function seopress_display_seo_metaboxe() {
147
- add_action('add_meta_boxes','seopress_init_metabox');
148
- function seopress_init_metabox(){
149
- if (function_exists('seopress_advanced_appearance_metaboxe_position_option')) {
150
- $seopress_advanced_appearance_metaboxe_position_option = seopress_advanced_appearance_metaboxe_position_option();
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);
164
- }
165
- }
166
- add_meta_box('seopress_cpt', __('SEO','wp-seopress'), 'seopress_cpt', 'seopress_404', '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
- //Tagify
184
- wp_enqueue_script( 'seopress-tagify-js', plugins_url( 'assets/js/tagify.min.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, true );
185
- wp_register_style('seopress-tagify', plugins_url('assets/css/tagify.min.css', dirname( dirname( __FILE__ ) ) ), [], SEOPRESS_VERSION);
186
- wp_enqueue_style('seopress-tagify');
187
-
188
- //Register Google Snippet Preview / Content Analysis JS
189
- 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, true );
190
-
191
- //If Gutenberg ON
192
- if ( function_exists( 'get_current_screen' ) ) {
193
- $get_current_screen = get_current_screen();
194
- if ( isset( $get_current_screen->is_block_editor ) ) {
195
- if ( $get_current_screen->is_block_editor ) {
196
- wp_enqueue_script( 'seopress-block-editor-js', plugins_url( 'assets/js/seopress-block-editor' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, true );
197
- }
198
- }
199
- }
200
-
201
- 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 );
202
-
203
- $seopress_real_preview = array(
204
- 'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
205
- 'seopress_real_preview' => admin_url('admin-ajax.php'),
206
- 'i18n' => [ 'progress' => __( 'Analysis in progress...', 'wp-seopress' ) ]
207
- );
208
- wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
209
-
210
- wp_enqueue_script( 'seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader' . $prefix . '.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, false );
211
- wp_enqueue_media();
212
- }
213
-
214
- $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
215
- $seopress_titles_desc = get_post_meta($post->ID,'_seopress_titles_desc',true);
216
-
217
- $disabled['robots_index'] ='';
218
- if (seopress_titles_single_cpt_noindex_option() || seopress_titles_noindex_option() || post_password_required($post->ID) ===true) {
219
- $seopress_robots_index = 'yes';
220
- $disabled['robots_index'] = 'disabled';
221
- } else {
222
- $seopress_robots_index = get_post_meta($post->ID,'_seopress_robots_index',true);
223
-
224
- }
225
-
226
- $disabled['robots_follow'] ='';
227
- if (seopress_titles_single_cpt_nofollow_option() || seopress_titles_nofollow_option()) {
228
- $seopress_robots_follow = 'yes';
229
- $disabled['robots_follow'] = 'disabled';
230
- } else {
231
- $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
232
- }
233
-
234
- $disabled['robots_odp'] ='';
235
- if (seopress_titles_noodp_option()) {
236
- $seopress_robots_odp = 'yes';
237
- $disabled['robots_odp'] = 'disabled';
238
- } else {
239
- $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
240
- }
241
-
242
- $disabled['archive'] ='';
243
- if (seopress_titles_noarchive_option()) {
244
- $seopress_robots_archive = 'yes';
245
- $disabled['archive'] = 'disabled';
246
- } else {
247
- $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
248
- }
249
-
250
- $disabled['snippet'] ='';
251
- if (seopress_titles_nosnippet_option()) {
252
- $seopress_robots_snippet = 'yes';
253
- $disabled['snippet'] = 'disabled';
254
- } else {
255
- $seopress_robots_snippet = get_post_meta($post->ID,'_seopress_robots_snippet',true);
256
- }
257
-
258
- $disabled['imageindex'] ='';
259
- if (seopress_titles_noimageindex_option()) {
260
- $seopress_robots_imageindex = 'yes';
261
- $disabled['imageindex'] = 'disabled';
262
- } else {
263
- $seopress_robots_imageindex = get_post_meta($post->ID,'_seopress_robots_imageindex',true);
264
- }
265
-
266
- $seopress_robots_canonical = get_post_meta($post->ID,'_seopress_robots_canonical',true);
267
- $seopress_robots_primary_cat = get_post_meta($post->ID,'_seopress_robots_primary_cat',true);
268
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
269
- $seopress_robots_breadcrumbs = get_post_meta($post->ID,'_seopress_robots_breadcrumbs',true);
270
- }
271
- $seopress_social_fb_title = get_post_meta($post->ID,'_seopress_social_fb_title',true);
272
- $seopress_social_fb_desc = get_post_meta($post->ID,'_seopress_social_fb_desc',true);
273
- $seopress_social_fb_img = get_post_meta($post->ID,'_seopress_social_fb_img',true);
274
- $seopress_social_twitter_title = get_post_meta($post->ID,'_seopress_social_twitter_title',true);
275
- $seopress_social_twitter_desc = get_post_meta($post->ID,'_seopress_social_twitter_desc',true);
276
- $seopress_social_twitter_img = get_post_meta($post->ID,'_seopress_social_twitter_img',true);
277
- $seopress_redirections_enabled = get_post_meta($post->ID,'_seopress_redirections_enabled',true);
278
- $seopress_redirections_type = get_post_meta($post->ID,'_seopress_redirections_type',true);
279
- $seopress_redirections_value = get_post_meta($post->ID,'_seopress_redirections_value',true);
280
- $seopress_redirections_param = get_post_meta($post->ID,'_seopress_redirections_param',true);
281
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
282
- $seopress_news_disabled = get_post_meta($post->ID,'_seopress_news_disabled',true);
283
- $seopress_video_disabled = get_post_meta($post->ID,'_seopress_video_disabled',true);
284
- $seopress_video = get_post_meta($post->ID,'_seopress_video');
285
- }
286
-
287
- require_once ( dirname( __FILE__ ) . '/admin-dyn-variables-helper.php'); //Dynamic variables
288
- require_once ( dirname( __FILE__ ) . '/admin-metaboxes-form.php'); //Metaboxe HTML
289
- }
290
-
291
- add_action('save_post','seopress_save_metabox', 10, 2);
292
- function seopress_save_metabox($post_id, $post){
293
- //Nonce
294
- if ( !isset( $_POST['seopress_cpt_nonce'] ) || !wp_verify_nonce( $_POST['seopress_cpt_nonce'], plugin_basename( __FILE__ ) ) )
295
- return $post_id;
296
-
297
- //Post type object
298
- $post_type = get_post_type_object( $post->post_type );
299
-
300
- //Check permission
301
- if ( !current_user_can( $post_type->cap->edit_post, $post_id ) )
302
- return $post_id;
303
-
304
- if ( 'attachment' !== get_post_type($post_id)) {
305
- $seo_tabs = array();
306
- $seo_tabs = json_decode(stripslashes(htmlspecialchars_decode($_POST['seo_tabs'])));
307
-
308
- if (in_array('title-tab', $seo_tabs)) {
309
- if(isset($_POST['seopress_titles_title'])){
310
- update_post_meta($post_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
311
- }
312
- if(isset($_POST['seopress_titles_desc'])){
313
- update_post_meta($post_id, '_seopress_titles_desc', esc_html($_POST['seopress_titles_desc']));
314
- }
315
- }
316
- if (in_array('advanced-tab', $seo_tabs)) {
317
- if( isset( $_POST[ 'seopress_robots_index' ] ) ) {
318
- update_post_meta( $post_id, '_seopress_robots_index', 'yes' );
319
- } else {
320
- delete_post_meta( $post_id, '_seopress_robots_index', '' );
321
- }
322
- if( isset( $_POST[ 'seopress_robots_follow' ] ) ) {
323
- update_post_meta( $post_id, '_seopress_robots_follow', 'yes' );
324
- } else {
325
- delete_post_meta( $post_id, '_seopress_robots_follow', '' );
326
- }
327
- if( isset( $_POST[ 'seopress_robots_odp' ] ) ) {
328
- update_post_meta( $post_id, '_seopress_robots_odp', 'yes' );
329
- } else {
330
- delete_post_meta( $post_id, '_seopress_robots_odp', '' );
331
- }
332
- if( isset( $_POST[ 'seopress_robots_imageindex' ] ) ) {
333
- update_post_meta( $post_id, '_seopress_robots_imageindex', 'yes' );
334
- } else {
335
- delete_post_meta( $post_id, '_seopress_robots_imageindex', '' );
336
- }
337
- if( isset( $_POST[ 'seopress_robots_archive' ] ) ) {
338
- update_post_meta( $post_id, '_seopress_robots_archive', 'yes' );
339
- } else {
340
- delete_post_meta( $post_id, '_seopress_robots_archive', '' );
341
- }
342
- if( isset( $_POST[ 'seopress_robots_snippet' ] ) ) {
343
- update_post_meta( $post_id, '_seopress_robots_snippet', 'yes' );
344
- } else {
345
- delete_post_meta( $post_id, '_seopress_robots_snippet', '' );
346
- }
347
- if(isset($_POST['seopress_robots_canonical'])){
348
- update_post_meta($post_id, '_seopress_robots_canonical', esc_html($_POST['seopress_robots_canonical']));
349
- }
350
- if(isset($_POST['seopress_robots_primary_cat'])){
351
- update_post_meta($post_id, '_seopress_robots_primary_cat', esc_html($_POST['seopress_robots_primary_cat']));
352
- }
353
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
354
- if(isset($_POST['seopress_robots_breadcrumbs'])){
355
- update_post_meta($post_id, '_seopress_robots_breadcrumbs', esc_html($_POST['seopress_robots_breadcrumbs']));
356
- }
357
- }
358
- }
359
- if (in_array('social-tab', $seo_tabs)) {
360
- if(isset($_POST['seopress_social_fb_title'])){
361
- update_post_meta($post_id, '_seopress_social_fb_title', esc_html($_POST['seopress_social_fb_title']));
362
- }
363
- if(isset($_POST['seopress_social_fb_desc'])){
364
- update_post_meta($post_id, '_seopress_social_fb_desc', esc_html($_POST['seopress_social_fb_desc']));
365
- }
366
- if(isset($_POST['seopress_social_fb_img'])){
367
- update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
368
- }
369
- if(isset($_POST['seopress_social_twitter_title'])){
370
- update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
371
- }
372
- if(isset($_POST['seopress_social_twitter_desc'])){
373
- update_post_meta($post_id, '_seopress_social_twitter_desc', esc_html($_POST['seopress_social_twitter_desc']));
374
- }
375
- if(isset($_POST['seopress_social_twitter_img'])){
376
- update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
377
- }
378
- }
379
- if (in_array('redirect-tab', $seo_tabs)) {
380
- if(isset($_POST['seopress_redirections_type'])){
381
- update_post_meta($post_id, '_seopress_redirections_type', $_POST['seopress_redirections_type']);
382
- }
383
- if(isset($_POST['seopress_redirections_value'])){
384
- update_post_meta($post_id, '_seopress_redirections_value', esc_html($_POST['seopress_redirections_value']));
385
- }
386
- if(isset($_POST['seopress_redirections_param'])){
387
- update_post_meta($post_id, '_seopress_redirections_param', esc_html($_POST['seopress_redirections_param']));
388
- }
389
- if( isset( $_POST[ 'seopress_redirections_enabled' ] ) ) {
390
- update_post_meta( $post_id, '_seopress_redirections_enabled', 'yes' );
391
- } else {
392
- delete_post_meta( $post_id, '_seopress_redirections_enabled', '' );
393
- }
394
- }
395
- if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
396
- if (in_array('news-tab', $seo_tabs)) {
397
- if( isset( $_POST[ 'seopress_news_disabled' ] ) ) {
398
- update_post_meta( $post_id, '_seopress_news_disabled', 'yes' );
399
- } else {
400
- delete_post_meta( $post_id, '_seopress_news_disabled', '' );
401
- }
402
- }
403
- if (in_array('video-tab', $seo_tabs)) {
404
- if( isset( $_POST[ 'seopress_video_disabled' ] ) ) {
405
- update_post_meta( $post_id, '_seopress_video_disabled', 'yes' );
406
- } else {
407
- delete_post_meta( $post_id, '_seopress_video_disabled', '' );
408
- }
409
- if(isset($_POST['seopress_video'])){
410
- update_post_meta($post_id, '_seopress_video', $_POST['seopress_video']);
411
- }
412
- }
413
- }
414
- }
415
- }
 
 
416
  }
417
 
418
  function seopress_display_ca_metaboxe() {
419
- add_action('add_meta_boxes','seopress_init_ca_metabox');
420
- function seopress_init_ca_metabox(){
421
- if (function_exists('seopress_advanced_appearance_metaboxe_position_option')) {
422
- $seopress_advanced_appearance_metaboxe_position_option = seopress_advanced_appearance_metaboxe_position_option();
423
- } else {
424
- $seopress_advanced_appearance_metaboxe_position_option = 'default';
425
- }
426
- if (function_exists('seopress_get_post_types')) {
427
-
428
- $seopress_get_post_types = seopress_get_post_types();
429
-
430
- $seopress_get_post_types = apply_filters('seopress_metaboxe_content_analysis', $seopress_get_post_types);
431
-
432
- if (!empty($seopress_get_post_types)) {
433
- foreach ($seopress_get_post_types as $key => $value) {
434
- add_meta_box('seopress_content_analysis', __('Content analysis','wp-seopress'), 'seopress_content_analysis', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
435
- }
436
- }
437
- }
438
- }
439
-
440
- function seopress_content_analysis($post) {
441
- $prefix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
442
- wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_content_analysis_nonce' );
443
-
444
- //Tagify
445
- wp_enqueue_script( 'seopress-tagify-js', plugins_url( 'assets/js/tagify.min.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, true );
446
- wp_register_style('seopress-tagify', plugins_url('assets/css/tagify.min.css', dirname( dirname( __FILE__ ) ) ), [], SEOPRESS_VERSION);
447
- wp_enqueue_style('seopress-tagify');
448
-
449
- 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 );
450
- $seopress_real_preview = array(
451
- 'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
452
- 'seopress_real_preview' => admin_url('admin-ajax.php'),
453
- 'i18n' => array('progress' => __('Analysis in progress...','wp-seopress'))
454
- );
455
- wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
456
-
457
- $seopress_analysis_target_kw = get_post_meta($post->ID,'_seopress_analysis_target_kw',true);
458
- $seopress_analysis_data = get_post_meta($post->ID,'_seopress_analysis_data', true);
459
- $seopress_titles_title = get_post_meta($post->ID,'_seopress_titles_title',true);
460
- $seopress_titles_desc = get_post_meta($post->ID,'_seopress_titles_desc',true);
461
-
462
- if (seopress_titles_single_cpt_noindex_option() || seopress_titles_noindex_option() || post_password_required($post->ID) ===true) {
463
- $seopress_robots_index = 'yes';
464
- } else {
465
- $seopress_robots_index = get_post_meta($post->ID,'_seopress_robots_index',true);
466
- }
467
-
468
- if (seopress_titles_single_cpt_nofollow_option() || seopress_titles_nofollow_option()) {
469
- $seopress_robots_follow = 'yes';
470
- } else {
471
- $seopress_robots_follow = get_post_meta($post->ID,'_seopress_robots_follow',true);
472
- }
473
-
474
- if (seopress_titles_noodp_option()) {
475
- $seopress_robots_odp = 'yes';
476
- } else {
477
- $seopress_robots_odp = get_post_meta($post->ID,'_seopress_robots_odp',true);
478
- }
479
-
480
- if (seopress_titles_noarchive_option()) {
481
- $seopress_robots_archive = 'yes';
482
- } else {
483
- $seopress_robots_archive = get_post_meta($post->ID,'_seopress_robots_archive',true);
484
- }
485
-
486
- if (seopress_titles_nosnippet_option()) {
487
- $seopress_robots_snippet = 'yes';
488
- } else {
489
- $seopress_robots_snippet = get_post_meta($post->ID,'_seopress_robots_snippet',true);
490
- }
491
-
492
- if (seopress_titles_noimageindex_option()) {
493
- $seopress_robots_imageindex = 'yes';
494
- } else {
495
- $seopress_robots_imageindex = get_post_meta($post->ID,'_seopress_robots_imageindex',true);
496
- }
497
-
498
- require_once ( dirname( __FILE__ ) . '/admin-metaboxes-content-analysis-form.php'); //Metaboxe HTML
499
- }
500
-
501
- add_action('save_post','seopress_save_ca_metabox', 10, 2);
502
- function seopress_save_ca_metabox($post_id, $post){
503
- //Nonce
504
- if ( !isset( $_POST['seopress_content_analysis_nonce'] ) || !wp_verify_nonce( $_POST['seopress_content_analysis_nonce'], plugin_basename( __FILE__ ) ) )
505
- return $post_id;
506
-
507
- //Post type object
508
- $post_type = get_post_type_object( $post->post_type );
509
-
510
- //Check permission
511
- if ( !current_user_can( $post_type->cap->edit_post, $post_id ) )
512
- return $post_id;
513
-
514
- if ( 'attachment' !== get_post_type($post_id)) {
515
- if(isset($_POST['seopress_analysis_target_kw'])){
516
- update_post_meta($post_id, '_seopress_analysis_target_kw', esc_html($_POST['seopress_analysis_target_kw']));
517
- }
518
- }
519
- }
520
-
521
- //Save metabox values in elementor
522
- add_action('save_post', 'seopress_update_elementor_fields', 999, 2);
523
- function seopress_update_elementor_fields( $post_id, $post ) {
524
- do_action( 'seopress/page-builders/elementor/save_meta', $post_id );
525
- }
 
 
 
526
  }
527
 
528
  if (is_user_logged_in()) {
529
- if(is_super_admin()) {
530
- echo seopress_display_seo_metaboxe();
531
- echo seopress_display_ca_metaboxe();
532
- } else {
533
- global $wp_roles;
534
-
535
- //Get current user role
536
- if(isset(wp_get_current_user()->roles[0])) {
537
- $seopress_user_role = wp_get_current_user()->roles[0];
538
-
539
- //If current user role matchs values from Security settings then apply -- SEO Metaboxe
540
- if (function_exists('seopress_advanced_security_metaboxe_role_hook_option') && seopress_advanced_security_metaboxe_role_hook_option() !='') {
541
- if( array_key_exists( $seopress_user_role, seopress_advanced_security_metaboxe_role_hook_option())) {
542
- //do nothing
543
- } else {
544
- echo seopress_display_seo_metaboxe();
545
- }
546
- } else {
547
- echo seopress_display_seo_metaboxe();
548
- }
549
-
550
- //If current user role matchs values from Security settings then apply -- SEO Content Analysis
551
- if (function_exists('seopress_advanced_security_metaboxe_ca_role_hook_option') && seopress_advanced_security_metaboxe_ca_role_hook_option() !='') {
552
- if( array_key_exists( $seopress_user_role, seopress_advanced_security_metaboxe_ca_role_hook_option())) {
553
- //do nothing
554
- } else {
555
- echo seopress_display_ca_metaboxe();
556
- }
557
- } else {
558
- echo seopress_display_ca_metaboxe();
559
- }
560
- }
561
- }
562
  }
1
  <?php
2
 
3
+ defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
  ///////////////////////////////////////////////////////////////////////////////////////////////////
6
  //Restrict SEO metaboxes to user roles
7
  ///////////////////////////////////////////////////////////////////////////////////////////////////
8
  function seopress_advanced_security_metaboxe_role_hook_option() {
9
+ $seopress_advanced_security_metaboxe_role_hook_option = get_option('seopress_advanced_option_name');
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
+ }
14
+ if (isset($seopress_advanced_security_metaboxe_role_hook_option['seopress_advanced_security_metaboxe_role'])) {
15
+ return $seopress_advanced_security_metaboxe_role_hook_option['seopress_advanced_security_metaboxe_role'];
16
+ }
17
+ }
18
  }
19
 
20
  function seopress_advanced_security_metaboxe_ca_role_hook_option() {
21
+ $seopress_advanced_security_metaboxe_ca_role_hook_option = get_option('seopress_advanced_option_name');
22
+ if ( ! empty($seopress_advanced_security_metaboxe_ca_role_hook_option)) {
23
+ foreach ($seopress_advanced_security_metaboxe_ca_role_hook_option as $key => $seopress_advanced_security_metaboxe_ca_role_hook_value) {
24
+ $options[$key] = $seopress_advanced_security_metaboxe_ca_role_hook_value;
25
+ }
26
+ if (isset($seopress_advanced_security_metaboxe_ca_role_hook_option['seopress_advanced_security_metaboxe_ca_role'])) {
27
+ return $seopress_advanced_security_metaboxe_ca_role_hook_option['seopress_advanced_security_metaboxe_ca_role'];
28
+ }
29
+ }
30
  }
31
 
32
  ///////////////////////////////////////////////////////////////////////////////////////////////////
33
  //Check global settings
34
  ///////////////////////////////////////////////////////////////////////////////////////////////////
35
+ if ( ! function_exists('seopress_titles_single_cpt_noindex_option')) {
36
+ function seopress_titles_single_cpt_noindex_option() {
37
+ global $post;
38
+ $seopress_get_current_cpt = get_post_type($post);
39
+
40
+ $seopress_titles_single_cpt_noindex_option = get_option('seopress_titles_option_name');
41
+ if ( ! empty($seopress_titles_single_cpt_noindex_option)) {
42
+ foreach ($seopress_titles_single_cpt_noindex_option as $key => $seopress_titles_single_cpt_noindex_value) {
43
+ $options[$key] = $seopress_titles_single_cpt_noindex_value;
44
+ }
45
+ if (isset($seopress_titles_single_cpt_noindex_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['noindex'])) {
46
+ return $seopress_titles_single_cpt_noindex_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['noindex'];
47
+ }
48
+ }
49
+ }
50
  }
51
 
52
+ if ( ! function_exists('seopress_titles_noindex_option')) {
53
+ function seopress_titles_noindex_option() {
54
+ $seopress_titles_noindex_option = get_option('seopress_titles_option_name');
55
+ if ( ! empty($seopress_titles_noindex_option)) {
56
+ foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value) {
57
+ $options[$key] = $seopress_titles_noindex_value;
58
+ }
59
+ if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
60
+ return $seopress_titles_noindex_option['seopress_titles_noindex'];
61
+ }
62
+ }
63
+ }
64
  }
65
 
66
+ if ( ! function_exists('seopress_titles_single_cpt_nofollow_option')) {
67
+ function seopress_titles_single_cpt_nofollow_option() {
68
+ global $post;
69
+ $seopress_get_current_cpt = get_post_type($post);
70
+
71
+ $seopress_titles_single_cpt_nofollow_option = get_option('seopress_titles_option_name');
72
+ if ( ! empty($seopress_titles_single_cpt_nofollow_option)) {
73
+ foreach ($seopress_titles_single_cpt_nofollow_option as $key => $seopress_titles_single_cpt_nofollow_value) {
74
+ $options[$key] = $seopress_titles_single_cpt_nofollow_value;
75
+ }
76
+ if (isset($seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'])) {
77
+ return $seopress_titles_single_cpt_nofollow_option['seopress_titles_single_titles'][$seopress_get_current_cpt]['nofollow'];
78
+ }
79
+ }
80
+ }
81
  }
82
 
83
+ if ( ! function_exists('seopress_titles_nofollow_option')) {
84
+ function seopress_titles_nofollow_option() {
85
+ $seopress_titles_nofollow_option = get_option('seopress_titles_option_name');
86
+ if ( ! empty($seopress_titles_nofollow_option)) {
87
+ foreach ($seopress_titles_nofollow_option as $key => $seopress_titles_nofollow_value) {
88
+ $options[$key] = $seopress_titles_nofollow_value;
89
+ }
90
+ if (isset($seopress_titles_nofollow_option['seopress_titles_nofollow'])) {
91
+ return $seopress_titles_nofollow_option['seopress_titles_nofollow'];
92
+ }
93
+ }
94
+ }
95
  }
96
 
97
+ if ( ! function_exists('seopress_titles_noodp_option')) {
98
+ function seopress_titles_noodp_option() {
99
+ $seopress_titles_noodp_option = get_option('seopress_titles_option_name');
100
+ if ( ! empty($seopress_titles_noodp_option)) {
101
+ foreach ($seopress_titles_noodp_option as $key => $seopress_titles_noodp_value) {
102
+ $options[$key] = $seopress_titles_noodp_value;
103
+ }
104
+ if (isset($seopress_titles_noodp_option['seopress_titles_noodp'])) {
105
+ return $seopress_titles_noodp_option['seopress_titles_noodp'];
106
+ }
107
+ }
108
+ }
109
  }
110
 
111
+ if ( ! function_exists('seopress_titles_noarchive_option')) {
112
+ function seopress_titles_noarchive_option() {
113
+ $seopress_titles_noarchive_option = get_option('seopress_titles_option_name');
114
+ if ( ! empty($seopress_titles_noarchive_option)) {
115
+ foreach ($seopress_titles_noarchive_option as $key => $seopress_titles_noarchive_value) {
116
+ $options[$key] = $seopress_titles_noarchive_value;
117
+ }
118
+ if (isset($seopress_titles_noarchive_option['seopress_titles_noarchive'])) {
119
+ return $seopress_titles_noarchive_option['seopress_titles_noarchive'];
120
+ }
121
+ }
122
+ }
123
  }
124
 
125
+ if ( ! function_exists('seopress_titles_nosnippet_option')) {
126
+ function seopress_titles_nosnippet_option() {
127
+ $seopress_titles_nosnippet_option = get_option('seopress_titles_option_name');
128
+ if ( ! empty($seopress_titles_nosnippet_option)) {
129
+ foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value) {
130
+ $options[$key] = $seopress_titles_nosnippet_value;
131
+ }
132
+ if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
133
+ return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
134
+ }
135
+ }
136
+ }
137
  }
138
 
139
+ if ( ! function_exists('seopress_titles_noimageindex_option')) {
140
+ function seopress_titles_noimageindex_option() {
141
+ $seopress_titles_noimageindex_option = get_option('seopress_titles_option_name');
142
+ if ( ! empty($seopress_titles_noimageindex_option)) {
143
+ foreach ($seopress_titles_noimageindex_option as $key => $seopress_titles_noimageindex_value) {
144
+ $options[$key] = $seopress_titles_noimageindex_value;
145
+ }
146
+ if (isset($seopress_titles_noimageindex_option['seopress_titles_noimageindex'])) {
147
+ return $seopress_titles_noimageindex_option['seopress_titles_noimageindex'];
148
+ }
149
+ }
150
+ }
151
  }
152
 
153
  ///////////////////////////////////////////////////////////////////////////////////////////////////
154
  //Display metabox in Custom Post Type
155
  ///////////////////////////////////////////////////////////////////////////////////////////////////
156
  function seopress_display_seo_metaboxe() {
157
+ add_action('add_meta_boxes', 'seopress_init_metabox');
158
+ function seopress_init_metabox() {
159
+ if (function_exists('seopress_advanced_appearance_metaboxe_position_option')) {
160
+ $seopress_advanced_appearance_metaboxe_position_option = seopress_advanced_appearance_metaboxe_position_option();
161
+ } else {
162
+ $seopress_advanced_appearance_metaboxe_position_option = 'default';
163
+ }
164
+
165
+ if (function_exists('seopress_get_post_types')) {
166
+ $seopress_get_post_types = seopress_get_post_types();
167
+
168
+ $seopress_get_post_types = apply_filters('seopress_metaboxe_seo', $seopress_get_post_types);
169
+
170
+ if ( ! empty($seopress_get_post_types)) {
171
+ foreach ($seopress_get_post_types as $key => $value) {
172
+ add_meta_box('seopress_cpt', __('SEO', 'wp-seopress'), 'seopress_cpt', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
173
+ }
174
+ }
175
+ add_meta_box('seopress_cpt', __('SEO', 'wp-seopress'), 'seopress_cpt', 'seopress_404', 'normal', $seopress_advanced_appearance_metaboxe_position_option);
176
+ }
177
+ }
178
+
179
+ function seopress_cpt($post) {
180
+ global $typenow;
181
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
182
+ wp_nonce_field(plugin_basename(__FILE__), 'seopress_cpt_nonce');
183
+
184
+ //init
185
+ $disabled = [];
186
+
187
+ wp_enqueue_script('seopress-cpt-tabs-js', plugins_url('assets/js/seopress-tabs2' . $prefix . '.js', dirname(dirname(__FILE__))), ['jquery-ui-tabs'], SEOPRESS_VERSION);
188
+
189
+ if ('seopress_404' != $typenow) {
190
+ wp_enqueue_script('jquery-ui-accordion');
191
+
192
+ //Tagify
193
+ wp_enqueue_script('seopress-tagify-js', plugins_url('assets/js/tagify.min.js', dirname(dirname(__FILE__))), ['jquery'], SEOPRESS_VERSION, true);
194
+ wp_register_style('seopress-tagify', plugins_url('assets/css/tagify.min.css', dirname(dirname(__FILE__))), [], SEOPRESS_VERSION);
195
+ wp_enqueue_style('seopress-tagify');
196
+
197
+ //Register Google Snippet Preview / Content Analysis JS
198
+ 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, true);
199
+
200
+ //If Gutenberg ON
201
+ if (function_exists('get_current_screen')) {
202
+ $get_current_screen = get_current_screen();
203
+ if (isset($get_current_screen->is_block_editor)) {
204
+ if ($get_current_screen->is_block_editor) {
205
+ wp_enqueue_script('seopress-block-editor-js', plugins_url('assets/js/seopress-block-editor' . $prefix . '.js', dirname(dirname(__FILE__))), ['jquery'], SEOPRESS_VERSION, true);
206
+ }
207
+ }
208
+ }
209
+
210
+ 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);
211
+
212
+ $seopress_real_preview = [
213
+ 'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'), // @deprecated 4.4.0
214
+ 'seopress_real_preview' => admin_url('admin-ajax.php'), // @deprecated 4.4.0
215
+ 'i18n' => ['progress' => __('Analysis in progress...', 'wp-seopress')],
216
+ 'ajax_url' => admin_url('admin-ajax.php'),
217
+ 'get_preview_meta_title' => wp_create_nonce('get_preview_meta_title'),
218
+ ];
219
+ wp_localize_script('seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview);
220
+
221
+ wp_enqueue_script('seopress-media-uploader-js', plugins_url('assets/js/seopress-media-uploader' . $prefix . '.js', dirname(dirname(__FILE__))), ['jquery'], SEOPRESS_VERSION, false);
222
+ wp_enqueue_media();
223
+ }
224
+
225
+ $seopress_titles_title = get_post_meta($post->ID, '_seopress_titles_title', true);
226
+ $seopress_titles_desc = get_post_meta($post->ID, '_seopress_titles_desc', true);
227
+
228
+ $disabled['robots_index'] ='';
229
+ if (seopress_titles_single_cpt_noindex_option() || seopress_titles_noindex_option() || true === post_password_required($post->ID)) {
230
+ $seopress_robots_index = 'yes';
231
+ $disabled['robots_index'] = 'disabled';
232
+ } else {
233
+ $seopress_robots_index = get_post_meta($post->ID, '_seopress_robots_index', true);
234
+ }
235
+
236
+ $disabled['robots_follow'] ='';
237
+ if (seopress_titles_single_cpt_nofollow_option() || seopress_titles_nofollow_option()) {
238
+ $seopress_robots_follow = 'yes';
239
+ $disabled['robots_follow'] = 'disabled';
240
+ } else {
241
+ $seopress_robots_follow = get_post_meta($post->ID, '_seopress_robots_follow', true);
242
+ }
243
+
244
+ $disabled['robots_odp'] ='';
245
+ if (seopress_titles_noodp_option()) {
246
+ $seopress_robots_odp = 'yes';
247
+ $disabled['robots_odp'] = 'disabled';
248
+ } else {
249
+ $seopress_robots_odp = get_post_meta($post->ID, '_seopress_robots_odp', true);
250
+ }
251
+
252
+ $disabled['archive'] ='';
253
+ if (seopress_titles_noarchive_option()) {
254
+ $seopress_robots_archive = 'yes';
255
+ $disabled['archive'] = 'disabled';
256
+ } else {
257
+ $seopress_robots_archive = get_post_meta($post->ID, '_seopress_robots_archive', true);
258
+ }
259
+
260
+ $disabled['snippet'] ='';
261
+ if (seopress_titles_nosnippet_option()) {
262
+ $seopress_robots_snippet = 'yes';
263
+ $disabled['snippet'] = 'disabled';
264
+ } else {
265
+ $seopress_robots_snippet = get_post_meta($post->ID, '_seopress_robots_snippet', true);
266
+ }
267
+
268
+ $disabled['imageindex'] ='';
269
+ if (seopress_titles_noimageindex_option()) {
270
+ $seopress_robots_imageindex = 'yes';
271
+ $disabled['imageindex'] = 'disabled';
272
+ } else {
273
+ $seopress_robots_imageindex = get_post_meta($post->ID, '_seopress_robots_imageindex', true);
274
+ }
275
+
276
+ $seopress_robots_canonical = get_post_meta($post->ID, '_seopress_robots_canonical', true);
277
+ $seopress_robots_primary_cat = get_post_meta($post->ID, '_seopress_robots_primary_cat', true);
278
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
279
+ $seopress_robots_breadcrumbs = get_post_meta($post->ID, '_seopress_robots_breadcrumbs', true);
280
+ }
281
+ $seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
282
+ $seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
283
+ $seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
284
+ $seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
285
+ $seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
286
+ $seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
287
+ $seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
288
+ $seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
289
+ $seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
290
+ $seopress_redirections_param = get_post_meta($post->ID, '_seopress_redirections_param', true);
291
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
292
+ $seopress_news_disabled = get_post_meta($post->ID, '_seopress_news_disabled', true);
293
+ $seopress_video_disabled = get_post_meta($post->ID, '_seopress_video_disabled', true);
294
+ $seopress_video = get_post_meta($post->ID, '_seopress_video');
295
+ }
296
+
297
+ require_once dirname(__FILE__) . '/admin-dyn-variables-helper.php'; //Dynamic variables
298
+ require_once dirname(__FILE__) . '/admin-metaboxes-form.php'; //Metaboxe HTML
299
+ }
300
+
301
+ add_action('save_post', 'seopress_save_metabox', 10, 2);
302
+ function seopress_save_metabox($post_id, $post) {
303
+ //Nonce
304
+ if ( ! isset($_POST['seopress_cpt_nonce']) || ! wp_verify_nonce($_POST['seopress_cpt_nonce'], plugin_basename(__FILE__))) {
305
+ return $post_id;
306
+ }
307
+
308
+ //Post type object
309
+ $post_type = get_post_type_object($post->post_type);
310
+
311
+ //Check permission
312
+ if ( ! current_user_can($post_type->cap->edit_post, $post_id)) {
313
+ return $post_id;
314
+ }
315
+
316
+ if ('attachment' !== get_post_type($post_id)) {
317
+ $seo_tabs = [];
318
+ $seo_tabs = json_decode(stripslashes(htmlspecialchars_decode($_POST['seo_tabs'])));
319
+
320
+ if (in_array('title-tab', $seo_tabs)) {
321
+ if (isset($_POST['seopress_titles_title'])) {
322
+ update_post_meta($post_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
323
+ }
324
+ if (isset($_POST['seopress_titles_desc'])) {
325
+ update_post_meta($post_id, '_seopress_titles_desc', esc_html($_POST['seopress_titles_desc']));
326
+ }
327
+ }
328
+ if (in_array('advanced-tab', $seo_tabs)) {
329
+ if (isset($_POST['seopress_robots_index'])) {
330
+ update_post_meta($post_id, '_seopress_robots_index', 'yes');
331
+ } else {
332
+ delete_post_meta($post_id, '_seopress_robots_index', '');
333
+ }
334
+ if (isset($_POST['seopress_robots_follow'])) {
335
+ update_post_meta($post_id, '_seopress_robots_follow', 'yes');
336
+ } else {
337
+ delete_post_meta($post_id, '_seopress_robots_follow', '');
338
+ }
339
+ if (isset($_POST['seopress_robots_odp'])) {
340
+ update_post_meta($post_id, '_seopress_robots_odp', 'yes');
341
+ } else {
342
+ delete_post_meta($post_id, '_seopress_robots_odp', '');
343
+ }
344
+ if (isset($_POST['seopress_robots_imageindex'])) {
345
+ update_post_meta($post_id, '_seopress_robots_imageindex', 'yes');
346
+ } else {
347
+ delete_post_meta($post_id, '_seopress_robots_imageindex', '');
348
+ }
349
+ if (isset($_POST['seopress_robots_archive'])) {
350
+ update_post_meta($post_id, '_seopress_robots_archive', 'yes');
351
+ } else {
352
+ delete_post_meta($post_id, '_seopress_robots_archive', '');
353
+ }
354
+ if (isset($_POST['seopress_robots_snippet'])) {
355
+ update_post_meta($post_id, '_seopress_robots_snippet', 'yes');
356
+ } else {
357
+ delete_post_meta($post_id, '_seopress_robots_snippet', '');
358
+ }
359
+ if (isset($_POST['seopress_robots_canonical'])) {
360
+ update_post_meta($post_id, '_seopress_robots_canonical', esc_html($_POST['seopress_robots_canonical']));
361
+ }
362
+ if (isset($_POST['seopress_robots_primary_cat'])) {
363
+ update_post_meta($post_id, '_seopress_robots_primary_cat', esc_html($_POST['seopress_robots_primary_cat']));
364
+ }
365
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
366
+ if (isset($_POST['seopress_robots_breadcrumbs'])) {
367
+ update_post_meta($post_id, '_seopress_robots_breadcrumbs', esc_html($_POST['seopress_robots_breadcrumbs']));
368
+ }
369
+ }
370
+ }
371
+ if (in_array('social-tab', $seo_tabs)) {
372
+ if (isset($_POST['seopress_social_fb_title'])) {
373
+ update_post_meta($post_id, '_seopress_social_fb_title', esc_html($_POST['seopress_social_fb_title']));
374
+ }
375
+ if (isset($_POST['seopress_social_fb_desc'])) {
376
+ update_post_meta($post_id, '_seopress_social_fb_desc', esc_html($_POST['seopress_social_fb_desc']));
377
+ }
378
+ if (isset($_POST['seopress_social_fb_img'])) {
379
+ update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
380
+ }
381
+ if (isset($_POST['seopress_social_twitter_title'])) {
382
+ update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
383
+ }
384
+ if (isset($_POST['seopress_social_twitter_desc'])) {
385
+ update_post_meta($post_id, '_seopress_social_twitter_desc', esc_html($_POST['seopress_social_twitter_desc']));
386
+ }
387
+ if (isset($_POST['seopress_social_twitter_img'])) {
388
+ update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
389
+ }
390
+ }
391
+ if (in_array('redirect-tab', $seo_tabs)) {
392
+ if (isset($_POST['seopress_redirections_type'])) {
393
+ update_post_meta($post_id, '_seopress_redirections_type', $_POST['seopress_redirections_type']);
394
+ }
395
+ if (isset($_POST['seopress_redirections_value'])) {
396
+ update_post_meta($post_id, '_seopress_redirections_value', esc_html($_POST['seopress_redirections_value']));
397
+ }
398
+ if (isset($_POST['seopress_redirections_param'])) {
399
+ update_post_meta($post_id, '_seopress_redirections_param', esc_html($_POST['seopress_redirections_param']));
400
+ }
401
+ if (isset($_POST['seopress_redirections_enabled'])) {
402
+ update_post_meta($post_id, '_seopress_redirections_enabled', 'yes');
403
+ } else {
404
+ delete_post_meta($post_id, '_seopress_redirections_enabled', '');
405
+ }
406
+ }
407
+ if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
408
+ if (in_array('news-tab', $seo_tabs)) {
409
+ if (isset($_POST['seopress_news_disabled'])) {
410
+ update_post_meta($post_id, '_seopress_news_disabled', 'yes');
411
+ } else {
412
+ delete_post_meta($post_id, '_seopress_news_disabled', '');
413
+ }
414
+ }
415
+ if (in_array('video-tab', $seo_tabs)) {
416
+ if (isset($_POST['seopress_video_disabled'])) {
417
+ update_post_meta($post_id, '_seopress_video_disabled', 'yes');
418
+ } else {
419
+ delete_post_meta($post_id, '_seopress_video_disabled', '');
420
+ }
421
+ if (isset($_POST['seopress_video'])) {
422
+ update_post_meta($post_id, '_seopress_video', $_POST['seopress_video']);
423
+ }
424
+ }
425
+ }
426
+ }
427
+ }
428
  }
429
 
430
  function seopress_display_ca_metaboxe() {
431
+ add_action('add_meta_boxes', 'seopress_init_ca_metabox');
432
+ function seopress_init_ca_metabox() {
433
+ if (function_exists('seopress_advanced_appearance_metaboxe_position_option')) {
434
+ $seopress_advanced_appearance_metaboxe_position_option = seopress_advanced_appearance_metaboxe_position_option();
435
+ } else {
436
+ $seopress_advanced_appearance_metaboxe_position_option = 'default';
437
+ }
438
+ if (function_exists('seopress_get_post_types')) {
439
+ $seopress_get_post_types = seopress_get_post_types();
440
+
441
+ $seopress_get_post_types = apply_filters('seopress_metaboxe_content_analysis', $seopress_get_post_types);
442
+
443
+ if ( ! empty($seopress_get_post_types)) {
444
+ foreach ($seopress_get_post_types as $key => $value) {
445
+ add_meta_box('seopress_content_analysis', __('Content analysis', 'wp-seopress'), 'seopress_content_analysis', $key, 'normal', $seopress_advanced_appearance_metaboxe_position_option);
446
+ }
447
+ }
448
+ }
449
+ }
450
+
451
+ function seopress_content_analysis($post) {
452
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
453
+ wp_nonce_field(plugin_basename(__FILE__), 'seopress_content_analysis_nonce');
454
+
455
+ //Tagify
456
+ wp_enqueue_script('seopress-tagify-js', plugins_url('assets/js/tagify.min.js', dirname(dirname(__FILE__))), ['jquery'], SEOPRESS_VERSION, true);
457
+ wp_register_style('seopress-tagify', plugins_url('assets/css/tagify.min.css', dirname(dirname(__FILE__))), [], SEOPRESS_VERSION);
458
+ wp_enqueue_style('seopress-tagify');
459
+
460
+ 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);
461
+ $seopress_real_preview = [
462
+ 'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
463
+ 'seopress_real_preview' => admin_url('admin-ajax.php'),
464
+ 'i18n' => ['progress' => __('Analysis in progress...', 'wp-seopress')],
465
+ 'ajax_url' => admin_url('admin-ajax.php'),
466
+ 'get_preview_meta_title' => wp_create_nonce('get_preview_meta_title'),
467
+ ];
468
+ wp_localize_script('seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview);
469
+
470
+ $seopress_analysis_target_kw = get_post_meta($post->ID, '_seopress_analysis_target_kw', true);
471
+ $seopress_analysis_data = get_post_meta($post->ID, '_seopress_analysis_data', true);
472
+ $seopress_titles_title = get_post_meta($post->ID, '_seopress_titles_title', true);
473
+ $seopress_titles_desc = get_post_meta($post->ID, '_seopress_titles_desc', true);
474
+
475
+ if (seopress_titles_single_cpt_noindex_option() || seopress_titles_noindex_option() || true === post_password_required($post->ID)) {
476
+ $seopress_robots_index = 'yes';
477
+ } else {
478
+ $seopress_robots_index = get_post_meta($post->ID, '_seopress_robots_index', true);
479
+ }
480
+
481
+ if (seopress_titles_single_cpt_nofollow_option() || seopress_titles_nofollow_option()) {
482
+ $seopress_robots_follow = 'yes';
483
+ } else {
484
+ $seopress_robots_follow = get_post_meta($post->ID, '_seopress_robots_follow', true);
485
+ }
486
+
487
+ if (seopress_titles_noodp_option()) {
488
+ $seopress_robots_odp = 'yes';
489
+ } else {
490
+ $seopress_robots_odp = get_post_meta($post->ID, '_seopress_robots_odp', true);
491
+ }
492
+
493
+ if (seopress_titles_noarchive_option()) {
494
+ $seopress_robots_archive = 'yes';
495
+ } else {
496
+ $seopress_robots_archive = get_post_meta($post->ID, '_seopress_robots_archive', true);
497
+ }
498
+
499
+ if (seopress_titles_nosnippet_option()) {
500
+ $seopress_robots_snippet = 'yes';
501
+ } else {
502
+ $seopress_robots_snippet = get_post_meta($post->ID, '_seopress_robots_snippet', true);
503
+ }
504
+
505
+ if (seopress_titles_noimageindex_option()) {
506
+ $seopress_robots_imageindex = 'yes';
507
+ } else {
508
+ $seopress_robots_imageindex = get_post_meta($post->ID, '_seopress_robots_imageindex', true);
509
+ }
510
+
511
+ require_once dirname(__FILE__) . '/admin-metaboxes-content-analysis-form.php'; //Metaboxe HTML
512
+ }
513
+
514
+ add_action('save_post', 'seopress_save_ca_metabox', 10, 2);
515
+ function seopress_save_ca_metabox($post_id, $post) {
516
+ //Nonce
517
+ if ( ! isset($_POST['seopress_content_analysis_nonce']) || ! wp_verify_nonce($_POST['seopress_content_analysis_nonce'], plugin_basename(__FILE__))) {
518
+ return $post_id;
519
+ }
520
+
521
+ //Post type object
522
+ $post_type = get_post_type_object($post->post_type);
523
+
524
+ //Check permission
525
+ if ( ! current_user_can($post_type->cap->edit_post, $post_id)) {
526
+ return $post_id;
527
+ }
528
+
529
+ if ('attachment' !== get_post_type($post_id)) {
530
+ if (isset($_POST['seopress_analysis_target_kw'])) {
531
+ update_post_meta($post_id, '_seopress_analysis_target_kw', esc_html($_POST['seopress_analysis_target_kw']));
532
+ }
533
+ }
534
+ }
535
+
536
+ //Save metabox values in elementor
537
+ add_action('save_post', 'seopress_update_elementor_fields', 999, 2);
538
+ function seopress_update_elementor_fields($post_id, $post) {
539
+ do_action('seopress/page-builders/elementor/save_meta', $post_id);
540
+ }
541
  }
542
 
543
  if (is_user_logged_in()) {
544
+ if (is_super_admin()) {
545
+ echo seopress_display_seo_metaboxe();
546
+ echo seopress_display_ca_metaboxe();
547
+ } else {
548
+ global $wp_roles;
549
+
550
+ //Get current user role
551
+ if (isset(wp_get_current_user()->roles[0])) {
552
+ $seopress_user_role = wp_get_current_user()->roles[0];
553
+
554
+ //If current user role matchs values from Security settings then apply -- SEO Metaboxe
555
+ if (function_exists('seopress_advanced_security_metaboxe_role_hook_option') && '' != seopress_advanced_security_metaboxe_role_hook_option()) {
556
+ if (array_key_exists($seopress_user_role, seopress_advanced_security_metaboxe_role_hook_option())) {
557
+ //do nothing
558
+ } else {
559
+ echo seopress_display_seo_metaboxe();
560
+ }
561
+ } else {
562
+ echo seopress_display_seo_metaboxe();
563
+ }
564
+
565
+ //If current user role matchs values from Security settings then apply -- SEO Content Analysis
566
+ if (function_exists('seopress_advanced_security_metaboxe_ca_role_hook_option') && '' != seopress_advanced_security_metaboxe_ca_role_hook_option()) {
567
+ if (array_key_exists($seopress_user_role, seopress_advanced_security_metaboxe_ca_role_hook_option())) {
568
+ //do nothing
569
+ } else {
570
+ echo seopress_display_ca_metaboxe();
571
+ }
572
+ } else {
573
+ echo seopress_display_ca_metaboxe();
574
+ }
575
+ }
576
+ }
577
  }
inc/admin/admin-notifications-center.php CHANGED
@@ -605,6 +605,71 @@
605
  }
606
  }
607
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
608
  function seopress_get_hidden_notices_review_option() {
609
  $seopress_get_hidden_notices_review_option = get_option('seopress_notices');
610
  if ( ! empty($seopress_get_hidden_notices_review_option)) {
605
  }
606
  }
607
 
608
+ function seopress_ga_enable_option() {
609
+ $seopress_ga_enable_option = get_option('seopress_google_analytics_option_name');
610
+ if ( ! empty($seopress_ga_enable_option)) {
611
+ foreach ($seopress_ga_enable_option as $key => $seopress_ga_enable_value) {
612
+ $options[$key] = $seopress_ga_enable_value;
613
+ }
614
+ if (isset($seopress_ga_enable_option['seopress_google_analytics_enable'])) {
615
+ return $seopress_ga_enable_option['seopress_google_analytics_enable'];
616
+ }
617
+ }
618
+ }
619
+ function seopress_ga_ua_option() {
620
+ $seopress_ga_ua_option = get_option('seopress_google_analytics_option_name');
621
+ if ( ! empty($seopress_ga_ua_option)) {
622
+ foreach ($seopress_ga_ua_option as $key => $seopress_ga_ua_value) {
623
+ $options[$key] = $seopress_ga_ua_value;
624
+ }
625
+ if (isset($seopress_ga_ua_option['seopress_google_analytics_ua'])) {
626
+ return $seopress_ga_ua_option['seopress_google_analytics_ua'];
627
+ }
628
+ }
629
+ }
630
+ function seopress_ga4_option() {
631
+ $seopress_ga4_option = get_option('seopress_google_analytics_option_name');
632
+ if ( ! empty($seopress_ga4_option)) {
633
+ foreach ($seopress_ga4_option as $key => $seopress_ga4_value) {
634
+ $options[$key] = $seopress_ga4_value;
635
+ }
636
+ if (isset($seopress_ga4_option['seopress_google_analytics_ga4'])) {
637
+ return $seopress_ga4_option['seopress_google_analytics_ga4'];
638
+ }
639
+ }
640
+ }
641
+ if ('' === seopress_ga_ua_option() && '' === seopress_ga4_option() && '1' === seopress_ga_enable_option()) {
642
+ function seopress_get_hidden_notices_analytics_option() {
643
+ $seopress_get_hidden_notices_analytics_option = get_option('seopress_notices');
644
+ if ( ! empty($seopress_get_hidden_notices_analytics_option)) {
645
+ foreach ($seopress_get_hidden_notices_analytics_option as $key => $seopress_get_hidden_notices_analytics_value) {
646
+ $options[$key] = $seopress_get_hidden_notices_analytics_value;
647
+ }
648
+ if (isset($seopress_get_hidden_notices_analytics_option['notice-ga-ids'])) {
649
+ return $seopress_get_hidden_notices_analytics_option['notice-ga-ids'];
650
+ }
651
+ }
652
+ }
653
+ if ('1' != seopress_get_hidden_notices_analytics_option()) {
654
+ $args = [
655
+ 'id' => 'notice-ga-ids',
656
+ 'title' => __('You have activated Google Analytics tracking without adding identifiers!', 'wp-seopress'),
657
+ 'desc' => __('Google Analytics will not track your visitors until you finish the configuration.', 'wp-seopress'),
658
+ 'impact' => [
659
+ 'medium' => __('Medium impact', 'wp-seopress'),
660
+ ],
661
+ 'link' => [
662
+ 'en' => admin_url('admin.php?page=seopress-google-analytics'),
663
+ 'title' => __('Fix this!', 'wp-seopress'),
664
+ 'external' => false,
665
+ ],
666
+ 'icon' => 'dashicons-chart-area',
667
+ 'deleteable' => true,
668
+ ];
669
+ seopress_notification($args);
670
+ }
671
+ }
672
+
673
  function seopress_get_hidden_notices_review_option() {
674
  $seopress_get_hidden_notices_review_option = get_option('seopress_notices');
675
  if ( ! empty($seopress_get_hidden_notices_review_option)) {
inc/admin/admin-term-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
  }
@@ -23,7 +23,7 @@ if (!function_exists('seopress_titles_single_term_noindex_option')) {
23
  function seopress_titles_single_term_noindex_option() {
24
  global $tax;
25
  $seopress_get_current_tax = $tax->name;
26
-
27
  $seopress_titles_single_term_noindex_option = get_option("seopress_titles_option_name");
28
  if ( ! empty ( $seopress_titles_single_term_noindex_option ) ) {
29
  foreach ($seopress_titles_single_term_noindex_option as $key => $seopress_titles_single_term_noindex_value)
@@ -41,7 +41,7 @@ if (!function_exists('seopress_titles_noindex_option')) {
41
  if ( ! empty ( $seopress_titles_noindex_option ) ) {
42
  foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value)
43
  $options[$key] = $seopress_titles_noindex_value;
44
- if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
45
  return $seopress_titles_noindex_option['seopress_titles_noindex'];
46
  }
47
  }
@@ -57,7 +57,7 @@ if (!function_exists('seopress_titles_single_term_nofollow_option')) {
57
  if ( ! empty ( $seopress_titles_single_term_nofollow_option ) ) {
58
  foreach ($seopress_titles_single_term_nofollow_option as $key => $seopress_titles_single_term_nofollow_value)
59
  $options[$key] = $seopress_titles_single_term_nofollow_value;
60
- if (isset($seopress_titles_single_term_nofollow_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['nofollow'])) {
61
  return $seopress_titles_single_term_nofollow_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['nofollow'];
62
  }
63
  }
@@ -70,7 +70,7 @@ if (!function_exists('seopress_titles_nofollow_option')) {
70
  if ( ! empty ( $seopress_titles_nofollow_option ) ) {
71
  foreach ($seopress_titles_nofollow_option as $key => $seopress_titles_nofollow_value)
72
  $options[$key] = $seopress_titles_nofollow_value;
73
- if (isset($seopress_titles_nofollow_option['seopress_titles_nofollow'])) {
74
  return $seopress_titles_nofollow_option['seopress_titles_nofollow'];
75
  }
76
  }
@@ -83,7 +83,7 @@ if (!function_exists('seopress_titles_noodp_option')) {
83
  if ( ! empty ( $seopress_titles_noodp_option ) ) {
84
  foreach ($seopress_titles_noodp_option as $key => $seopress_titles_noodp_value)
85
  $options[$key] = $seopress_titles_noodp_value;
86
- if (isset($seopress_titles_noodp_option['seopress_titles_noodp'])) {
87
  return $seopress_titles_noodp_option['seopress_titles_noodp'];
88
  }
89
  }
@@ -96,7 +96,7 @@ if (!function_exists('seopress_titles_noarchive_option')) {
96
  if ( ! empty ( $seopress_titles_noarchive_option ) ) {
97
  foreach ($seopress_titles_noarchive_option as $key => $seopress_titles_noarchive_value)
98
  $options[$key] = $seopress_titles_noarchive_value;
99
- if (isset($seopress_titles_noarchive_option['seopress_titles_noarchive'])) {
100
  return $seopress_titles_noarchive_option['seopress_titles_noarchive'];
101
  }
102
  }
@@ -109,7 +109,7 @@ if (!function_exists('seopress_titles_nosnippet_option')) {
109
  if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
110
  foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
111
  $options[$key] = $seopress_titles_nosnippet_value;
112
- if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
113
  return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
114
  }
115
  }
@@ -122,7 +122,7 @@ if (!function_exists('seopress_titles_noimageindex_option')) {
122
  if ( ! empty ( $seopress_titles_noimageindex_option ) ) {
123
  foreach ($seopress_titles_noimageindex_option as $key => $seopress_titles_noimageindex_value)
124
  $options[$key] = $seopress_titles_noimageindex_value;
125
- if (isset($seopress_titles_noimageindex_option['seopress_titles_noimageindex'])) {
126
  return $seopress_titles_noimageindex_option['seopress_titles_noimageindex'];
127
  }
128
  }
@@ -136,7 +136,7 @@ if (!function_exists('seopress_advanced_appearance_term_metaboxe_position_option
136
  if ( ! empty ( $seopress_advanced_appearance_term_metaboxe_position_option ) ) {
137
  foreach ($seopress_advanced_appearance_term_metaboxe_position_option as $key => $seopress_advanced_appearance_term_metaboxe_position_value)
138
  $options[$key] = $seopress_advanced_appearance_term_metaboxe_position_value;
139
- if (isset($seopress_advanced_appearance_term_metaboxe_position_option['seopress_advanced_appearance_metaboxe_position'])) {
140
  return $seopress_advanced_appearance_term_metaboxe_position_option['seopress_advanced_appearance_metaboxe_position'];
141
  }
142
  }
@@ -147,14 +147,14 @@ if (!function_exists('seopress_advanced_appearance_term_metaboxe_position_option
147
  //Display metabox in Custom Taxonomy
148
  ///////////////////////////////////////////////////////////////////////////////////////////////////
149
  function seopress_display_seo_term_metaboxe() {
150
-
151
  add_action('init','seopress_init_term_metabox', 11);
152
 
153
  function seopress_init_term_metabox() {
154
  if (function_exists('seopress_get_taxonomies')) {
155
  $seopress_get_taxonomies = seopress_get_taxonomies();
156
  $seopress_get_taxonomies = apply_filters('seopress_metaboxe_term_seo', $seopress_get_taxonomies);
157
-
158
  if (!empty($seopress_get_taxonomies)) {
159
  if (function_exists('seopress_advanced_appearance_term_metaboxe_position_option')) {
160
  switch (seopress_advanced_appearance_term_metaboxe_position_option()) {
@@ -187,8 +187,8 @@ function seopress_display_seo_term_metaboxe() {
187
  wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_cpt_nonce' );
188
 
189
  global $typenow;
190
-
191
- //init
192
  $disabled = array();
193
 
194
  wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2.js', dirname(dirname(__FILE__ ))), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION);
@@ -198,14 +198,16 @@ function seopress_display_seo_term_metaboxe() {
198
  wp_enqueue_script( 'seopress-tagify-js', plugins_url( 'assets/js/tagify.min.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, true );
199
  wp_register_style('seopress-tagify', plugins_url('assets/css/tagify.min.css', dirname( dirname( __FILE__ ) ) ), [], SEOPRESS_VERSION);
200
  wp_enqueue_style('seopress-tagify');
201
-
202
  //Register Google Snippet Preview / Content Analysis JS
203
  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 );
204
 
205
  $seopress_real_preview = array(
206
  'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
207
  'seopress_real_preview' => admin_url('admin-ajax.php'),
208
- 'i18n' => array('progress' => __('Analysis in progress...','wp-seopress'))
 
 
209
  );
210
  wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
211
 
@@ -232,7 +234,7 @@ function seopress_display_seo_term_metaboxe() {
232
  } else {
233
  $seopress_robots_follow = get_term_meta($term->term_id,'_seopress_robots_follow',true);
234
  }
235
-
236
  $disabled['robots_odp'] ='';
237
  if (seopress_titles_noodp_option()) {
238
  $seopress_robots_odp = 'yes';
@@ -240,7 +242,7 @@ function seopress_display_seo_term_metaboxe() {
240
  } else {
241
  $seopress_robots_odp = get_term_meta($term->term_id,'_seopress_robots_odp',true);
242
 
243
- }
244
 
245
  $disabled['archive'] ='';
246
  if (seopress_titles_noarchive_option()) {
@@ -248,7 +250,7 @@ function seopress_display_seo_term_metaboxe() {
248
  $disabled['archive'] = 'disabled';
249
  } else {
250
  $seopress_robots_archive = get_term_meta($term->term_id,'_seopress_robots_archive',true);
251
- }
252
 
253
  $disabled['snippet'] ='';
254
  if (seopress_titles_nosnippet_option()) {
@@ -272,7 +274,7 @@ function seopress_display_seo_term_metaboxe() {
272
  }
273
  $seopress_social_fb_title = get_term_meta($term->term_id,'_seopress_social_fb_title',true);
274
  $seopress_social_fb_desc = get_term_meta($term->term_id,'_seopress_social_fb_desc',true);
275
- $seopress_social_fb_img = get_term_meta($term->term_id,'_seopress_social_fb_img',true);
276
  $seopress_social_twitter_title = get_term_meta($term->term_id,'_seopress_social_twitter_title',true);
277
  $seopress_social_twitter_desc = get_term_meta($term->term_id,'_seopress_social_twitter_desc',true);
278
  $seopress_social_twitter_img = get_term_meta($term->term_id,'_seopress_social_twitter_img',true);
@@ -298,7 +300,7 @@ function seopress_display_seo_term_metaboxe() {
298
 
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_term_meta($term_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
@@ -388,7 +390,7 @@ if (is_user_logged_in()) {
388
  echo seopress_display_seo_term_metaboxe();
389
  } else {
390
  global $wp_roles;
391
-
392
  //Get current user role
393
  if(isset(wp_get_current_user()->roles[0])) {
394
  $seopress_user_role = wp_get_current_user()->roles[0];
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
  }
23
  function seopress_titles_single_term_noindex_option() {
24
  global $tax;
25
  $seopress_get_current_tax = $tax->name;
26
+
27
  $seopress_titles_single_term_noindex_option = get_option("seopress_titles_option_name");
28
  if ( ! empty ( $seopress_titles_single_term_noindex_option ) ) {
29
  foreach ($seopress_titles_single_term_noindex_option as $key => $seopress_titles_single_term_noindex_value)
41
  if ( ! empty ( $seopress_titles_noindex_option ) ) {
42
  foreach ($seopress_titles_noindex_option as $key => $seopress_titles_noindex_value)
43
  $options[$key] = $seopress_titles_noindex_value;
44
+ if (isset($seopress_titles_noindex_option['seopress_titles_noindex'])) {
45
  return $seopress_titles_noindex_option['seopress_titles_noindex'];
46
  }
47
  }
57
  if ( ! empty ( $seopress_titles_single_term_nofollow_option ) ) {
58
  foreach ($seopress_titles_single_term_nofollow_option as $key => $seopress_titles_single_term_nofollow_value)
59
  $options[$key] = $seopress_titles_single_term_nofollow_value;
60
+ if (isset($seopress_titles_single_term_nofollow_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['nofollow'])) {
61
  return $seopress_titles_single_term_nofollow_option['seopress_titles_tax_titles'][$seopress_get_current_tax]['nofollow'];
62
  }
63
  }
70
  if ( ! empty ( $seopress_titles_nofollow_option ) ) {
71
  foreach ($seopress_titles_nofollow_option as $key => $seopress_titles_nofollow_value)
72
  $options[$key] = $seopress_titles_nofollow_value;
73
+ if (isset($seopress_titles_nofollow_option['seopress_titles_nofollow'])) {
74
  return $seopress_titles_nofollow_option['seopress_titles_nofollow'];
75
  }
76
  }
83
  if ( ! empty ( $seopress_titles_noodp_option ) ) {
84
  foreach ($seopress_titles_noodp_option as $key => $seopress_titles_noodp_value)
85
  $options[$key] = $seopress_titles_noodp_value;
86
+ if (isset($seopress_titles_noodp_option['seopress_titles_noodp'])) {
87
  return $seopress_titles_noodp_option['seopress_titles_noodp'];
88
  }
89
  }
96
  if ( ! empty ( $seopress_titles_noarchive_option ) ) {
97
  foreach ($seopress_titles_noarchive_option as $key => $seopress_titles_noarchive_value)
98
  $options[$key] = $seopress_titles_noarchive_value;
99
+ if (isset($seopress_titles_noarchive_option['seopress_titles_noarchive'])) {
100
  return $seopress_titles_noarchive_option['seopress_titles_noarchive'];
101
  }
102
  }
109
  if ( ! empty ( $seopress_titles_nosnippet_option ) ) {
110
  foreach ($seopress_titles_nosnippet_option as $key => $seopress_titles_nosnippet_value)
111
  $options[$key] = $seopress_titles_nosnippet_value;
112
+ if (isset($seopress_titles_nosnippet_option['seopress_titles_nosnippet'])) {
113
  return $seopress_titles_nosnippet_option['seopress_titles_nosnippet'];
114
  }
115
  }
122
  if ( ! empty ( $seopress_titles_noimageindex_option ) ) {
123
  foreach ($seopress_titles_noimageindex_option as $key => $seopress_titles_noimageindex_value)
124
  $options[$key] = $seopress_titles_noimageindex_value;
125
+ if (isset($seopress_titles_noimageindex_option['seopress_titles_noimageindex'])) {
126
  return $seopress_titles_noimageindex_option['seopress_titles_noimageindex'];
127
  }
128
  }
136
  if ( ! empty ( $seopress_advanced_appearance_term_metaboxe_position_option ) ) {
137
  foreach ($seopress_advanced_appearance_term_metaboxe_position_option as $key => $seopress_advanced_appearance_term_metaboxe_position_value)
138
  $options[$key] = $seopress_advanced_appearance_term_metaboxe_position_value;
139
+ if (isset($seopress_advanced_appearance_term_metaboxe_position_option['seopress_advanced_appearance_metaboxe_position'])) {
140
  return $seopress_advanced_appearance_term_metaboxe_position_option['seopress_advanced_appearance_metaboxe_position'];
141
  }
142
  }
147
  //Display metabox in Custom Taxonomy
148
  ///////////////////////////////////////////////////////////////////////////////////////////////////
149
  function seopress_display_seo_term_metaboxe() {
150
+
151
  add_action('init','seopress_init_term_metabox', 11);
152
 
153
  function seopress_init_term_metabox() {
154
  if (function_exists('seopress_get_taxonomies')) {
155
  $seopress_get_taxonomies = seopress_get_taxonomies();
156
  $seopress_get_taxonomies = apply_filters('seopress_metaboxe_term_seo', $seopress_get_taxonomies);
157
+
158
  if (!empty($seopress_get_taxonomies)) {
159
  if (function_exists('seopress_advanced_appearance_term_metaboxe_position_option')) {
160
  switch (seopress_advanced_appearance_term_metaboxe_position_option()) {
187
  wp_nonce_field( plugin_basename( __FILE__ ), 'seopress_cpt_nonce' );
188
 
189
  global $typenow;
190
+
191
+ //init
192
  $disabled = array();
193
 
194
  wp_enqueue_script( 'seopress-cpt-tabs-js', plugins_url( 'assets/js/seopress-tabs2.js', dirname(dirname(__FILE__ ))), array( 'jquery-ui-tabs' ), SEOPRESS_VERSION);
198
  wp_enqueue_script( 'seopress-tagify-js', plugins_url( 'assets/js/tagify.min.js', dirname( dirname( __FILE__ ) ) ), [ 'jquery' ], SEOPRESS_VERSION, true );
199
  wp_register_style('seopress-tagify', plugins_url('assets/css/tagify.min.css', dirname( dirname( __FILE__ ) ) ), [], SEOPRESS_VERSION);
200
  wp_enqueue_style('seopress-tagify');
201
+
202
  //Register Google Snippet Preview / Content Analysis JS
203
  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 );
204
 
205
  $seopress_real_preview = array(
206
  'seopress_nonce' => wp_create_nonce('seopress_real_preview_nonce'),
207
  'seopress_real_preview' => admin_url('admin-ajax.php'),
208
+ 'i18n' => array('progress' => __('Analysis in progress...','wp-seopress')),
209
+ 'ajax_url' => admin_url('admin-ajax.php'),
210
+ 'get_preview_meta_title' => wp_create_nonce('get_preview_meta_title'),
211
  );
212
  wp_localize_script( 'seopress-cpt-counters-js', 'seopressAjaxRealPreview', $seopress_real_preview );
213
 
234
  } else {
235
  $seopress_robots_follow = get_term_meta($term->term_id,'_seopress_robots_follow',true);
236
  }
237
+
238
  $disabled['robots_odp'] ='';
239
  if (seopress_titles_noodp_option()) {
240
  $seopress_robots_odp = 'yes';
242
  } else {
243
  $seopress_robots_odp = get_term_meta($term->term_id,'_seopress_robots_odp',true);
244
 
245
+ }
246
 
247
  $disabled['archive'] ='';
248
  if (seopress_titles_noarchive_option()) {
250
  $disabled['archive'] = 'disabled';
251
  } else {
252
  $seopress_robots_archive = get_term_meta($term->term_id,'_seopress_robots_archive',true);
253
+ }
254
 
255
  $disabled['snippet'] ='';
256
  if (seopress_titles_nosnippet_option()) {
274
  }
275
  $seopress_social_fb_title = get_term_meta($term->term_id,'_seopress_social_fb_title',true);
276
  $seopress_social_fb_desc = get_term_meta($term->term_id,'_seopress_social_fb_desc',true);
277
+ $seopress_social_fb_img = get_term_meta($term->term_id,'_seopress_social_fb_img',true);
278
  $seopress_social_twitter_title = get_term_meta($term->term_id,'_seopress_social_twitter_title',true);
279
  $seopress_social_twitter_desc = get_term_meta($term->term_id,'_seopress_social_twitter_desc',true);
280
  $seopress_social_twitter_img = get_term_meta($term->term_id,'_seopress_social_twitter_img',true);
300
 
301
  $seo_tabs = array();
302
  $seo_tabs = json_decode(stripslashes(htmlspecialchars_decode($_POST['seo_tabs'])));
303
+
304
  if (in_array('title-tab', $seo_tabs)) {
305
  if(isset($_POST['seopress_titles_title'])){
306
  update_term_meta($term_id, '_seopress_titles_title', esc_html($_POST['seopress_titles_title']));
390
  echo seopress_display_seo_term_metaboxe();
391
  } else {
392
  global $wp_roles;
393
+
394
  //Get current user role
395
  if(isset(wp_get_current_user()->roles[0])) {
396
  $seopress_user_role = wp_get_current_user()->roles[0];
inc/admin/admin-wizard.php CHANGED
@@ -500,7 +500,11 @@ class SEOPRESS_Admin_Setup_Wizard {
500
  <label class="location-prompt" for="site_sep"><?php esc_html_e('Separator', 'wp-seopress'); ?></label>
501
  <input type="text" id="site_sep" class="location-input" name="site_sep" placeholder="<?php esc_html_e('eg: |', 'wp-seopress'); ?>" required value="<?php echo $site_sep; ?>" />
502
 
503
- <label class="location-prompt" for="site_title"><?php esc_html_e('Site title', 'wp-seopress'); ?></label>
 
 
 
 
504
  <input type="text" id="site_title" class="location-input" name="site_title" placeholder="<?php esc_html_e('eg: My super website', 'wp-seopress'); ?>" required value="<?php echo $site_title; ?>" />
505
 
506
  <label class="location-prompt" for="knowledge_type"><?php esc_html_e('Person or organization', 'wp-seopress'); ?></label>
500
  <label class="location-prompt" for="site_sep"><?php esc_html_e('Separator', 'wp-seopress'); ?></label>
501
  <input type="text" id="site_sep" class="location-input" name="site_sep" placeholder="<?php esc_html_e('eg: |', 'wp-seopress'); ?>" required value="<?php echo $site_sep; ?>" />
502
 
503
+ <p class="seopress-wizard-service-info seopress-wizard-services description">
504
+ <?php _e('This separator will be used by the dynamic variable <strong>%%sep%%</strong> in your title and meta description templates.', 'wp-seopress'); ?>
505
+ </p>
506
+
507
+ <label class="location-prompt" for="site_title"><?php esc_html_e('Home site title', 'wp-seopress'); ?></label>
508
  <input type="text" id="site_title" class="location-input" name="site_title" placeholder="<?php esc_html_e('eg: My super website', 'wp-seopress'); ?>" required value="<?php echo $site_title; ?>" />
509
 
510
  <label class="location-prompt" for="knowledge_type"><?php esc_html_e('Person or organization', 'wp-seopress'); ?></label>
inc/admin/admin.php CHANGED
@@ -27,121 +27,194 @@ class seopress_options {
27
  $sp_seo_admin_menu['icon'] = 'dashicons-admin-seopress';
28
  }
29
 
30
- add_menu_page('SEOPress Option Page', __('SEO', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-option', [$this, 'create_admin_page'], $sp_seo_admin_menu['icon'], 90);
 
 
 
 
 
31
  add_submenu_page('seopress-option', __('Dashboard', 'wp-seopress'), __('Dashboard', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-option', [$this, 'create_admin_page']);
32
- $seopress_titles_help_tab = add_submenu_page('seopress-option', __('Titles & Metas', 'wp-seopress'), __('Titles & Metas', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-titles', [$this, 'seopress_titles_page']);
33
- 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', [$this, 'seopress_xml_sitemap_page']);
34
- add_submenu_page('seopress-option', __('Social Networks', 'wp-seopress'), __('Social Networks', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-social', [$this, 'seopress_social_page']);
35
  $seopress_google_analytics_help_tab = add_submenu_page('seopress-option', __('Analytics', 'wp-seopress'), __('Analytics', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-google-analytics', [$this, 'seopress_google_analytics_page']);
36
  add_submenu_page('seopress-option', __('Advanced', 'wp-seopress'), __('Advanced', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-advanced', [$this, 'seopress_advanced_page']);
37
  add_submenu_page('seopress-option', __('Tools', 'wp-seopress'), __('Tools', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-import-export', [$this, 'seopress_import_export_page']);
38
 
39
- function seopress_titles_help_tab() {
40
- $screen = get_current_screen();
41
-
42
- $seopress_titles_help_tab_content = '
43
- <ul>
44
- <li><span>' . __('%%sep%%', 'wp-seopress') . '</span>' . __('Separator (eg: - )', 'wp-seopress') . '</li>
45
- <li><span>' . __('%%sitetitle%% (alias: %%sitename%%)', 'wp-seopress') . '</span>' . __('Site Title', 'wp-seopress') . '</li>
46
- <li><span>' . __('%%tagline%% (alias %%sitedesc%%)', 'wp-seopress') . '</span>' . __('Tagline', 'wp-seopress') . '</li>
47
- <li><span>' . __('%%post_title%% (alias %%title%%)', 'wp-seopress') . '</span>' . __('Post Title (post, page, custom post type)', 'wp-seopress') . '</li>
48
- <li><span>' . __('%%post_excerpt%% (alias %%excerpt%%)', 'wp-seopress') . '</span>' . __('Post excerpt', 'wp-seopress') . '</li>
49
- <li><span>' . __('%%post_content%%', 'wp-seopress') . '</span>' . __('Post content / product long description', 'wp-seopress') . '</li>
50
- <li><span>' . __('%%post_thumbnail_url%%', 'wp-seopress') . '</span>' . __('Post thumbnail URL', 'wp-seopress') . '</li>
51
- <li><span>' . __('%%post_url%%', 'wp-seopress') . '</span>' . __('Post URL (permalink)', 'wp-seopress') . '</li>
52
- <li><span>' . __('%%post_date%% (alias %%date%%)', 'wp-seopress') . '</span>' . __('Post date', 'wp-seopress') . '</li>
53
- <li><span>' . __('%%post_modified_date%%', 'wp-seopress') . '</span>' . __('Last modified post date', 'wp-seopress') . '</li>
54
- <li><span>' . __('%%post_author%%', 'wp-seopress') . '</span>' . __('Post author', 'wp-seopress') . '</li>
55
- <li><span>' . __('%%post_category%%', 'wp-seopress') . '</span>' . __('Post category', 'wp-seopress') . '</li>
56
- <li><span>' . __('%%post_tag%%', 'wp-seopress') . '</span>' . __('Post tag', 'wp-seopress') . '</li>
57
- <li><span>' . __('%%_category_title%%', 'wp-seopress') . '</span>' . __('Category title', 'wp-seopress') . '</li>
58
- <li><span>' . __('%%_category_description%%', 'wp-seopress') . '</span>' . __('Category description', 'wp-seopress') . '</li>
59
- <li><span>' . __('%%tag_title%%', 'wp-seopress') . '</span>' . __('Tag title', 'wp-seopress') . '</li>
60
- <li><span>' . __('%%tag_description%%', 'wp-seopress') . '</span>' . __('Tag description', 'wp-seopress') . '</li>
61
- <li><span>' . __('%%term_title%%', 'wp-seopress') . '</span>' . __('Term title', 'wp-seopress') . '</li>
62
- <li><span>' . __('%%term_description%%', 'wp-seopress') . '</span>' . __('Term description', 'wp-seopress') . '</li>
63
- <li><span>' . __('%%search_keywords%%', 'wp-seopress') . '</span>' . __('Search keywords', 'wp-seopress') . '</li>
64
- <li><span>' . __('%%current_pagination%%', 'wp-seopress') . '</span>' . __('Current number page', 'wp-seopress') . '</li>
65
- <li><span>' . __('%%page%%', 'wp-seopress') . '</span>' . __('Current page number with context (i.e. page 1 of 3)', 'wp-seopress') . '</li>
66
- <li><span>' . __('%%cpt_plural%%', 'wp-seopress') . '</span>' . __('Plural Post Type Archive name', 'wp-seopress') . '</li>
67
- <li><span>' . __('%%archive_title%%', 'wp-seopress') . '</span>' . __('Archive title', 'wp-seopress') . '</li>
68
- <li><span>' . __('%%archive_date%%', 'wp-seopress') . '</span>' . __('Date Archive', 'wp-seopress') . '</li>
69
- <li><span>' . __('%%archive_date_day%%', 'wp-seopress') . '</span>' . __('Day Archive date', 'wp-seopress') . '</li>
70
- <li><span>' . __('%%archive_date_month%%', 'wp-seopress') . '</span>' . __('Month Archive title', 'wp-seopress') . '</li>
71
- <li><span>' . __('%%archive_date_year%%', 'wp-seopress') . '</span>' . __('Year Archive title', 'wp-seopress') . '</li>
72
- <li><span>' . __('%%_cf_your_custom_field_name%%', 'wp-seopress') . '</span>' . __('Custom fields from post, page or post type (replace <span style="color:red;margin:0">your_custom_field_name</span> with your custom field name)', 'wp-seopress') . '</li>
73
- <li><span>' . __('%%_ct_your_custom_taxonomy_slug%%', 'wp-seopress') . '</span>' . __('Custom term taxonomy from post, page or post type (replace <span style="color:red;margin:0">your_custom_taxonomy_slug</span> with your custom taxonomy slug)', 'wp-seopress') . '</li>
74
- <li><span>' . __('%%wc_single_cat%%', 'wp-seopress') . '</span>' . __('Single product category', 'wp-seopress') . '</li>
75
- <li><span>' . __('%%wc_single_tag%%', 'wp-seopress') . '</span>' . __('Single product tag', 'wp-seopress') . '</li>
76
- <li><span>' . __('%%wc_single_short_desc%%', 'wp-seopress') . '</span>' . __('Single product short description', 'wp-seopress') . '</li>
77
- <li><span>' . __('%%wc_single_price%%', 'wp-seopress') . '</span>' . __('Single product price', 'wp-seopress') . '</li>
78
- <li><span>' . __('%%wc_single_price_exc_tax%%', 'wp-seopress') . '</span>' . __('Single product price taxes excluded', 'wp-seopress') . '</li>
79
- <li><span>' . __('%%wc_sku%%', 'wp-seopress') . '</span>' . __('Single SKU product', 'wp-seopress') . '</li>
80
- <li><span>' . __('%%currentday%%', 'wp-seopress') . '</span>' . __('Current day', 'wp-seopress') . '</li>
81
- <li><span>' . __('%%currentmonth%%', 'wp-seopress') . '</span>' . __('Current month', 'wp-seopress') . '</li>
82
- <li><span>' . __('%%currentmonth_short%%', 'wp-seopress') . '</span>' . __('Current month in 3 letters, eg: "Jan" for "January"', 'wp-seopress') . '</li>
83
- <li><span>' . __('%%currentyear%%', 'wp-seopress') . '</span>' . __('Current year', 'wp-seopress') . '</li>
84
- <li><span>' . __('%%currentdate%%', 'wp-seopress') . '</span>' . __('Current date', 'wp-seopress') . '</li>
85
- <li><span>' . __('%%currenttime%%', 'wp-seopress') . '</span>' . __('Current time', 'wp-seopress') . '</li>
86
- <li><span>' . __('%%author_bio%%', 'wp-seopress') . '</span>' . __('Author biography (description), meta desc only', 'wp-seopress') . '</li>
87
- <li><span>' . __('%%currentmonth_num%%', 'wp-seopress') . '</span>' . __('Current month in digital format', 'wp-seopress') . '</li>
88
- </ul>
89
- ' . wp_oembed_get('https://www.youtube.com/watch?v=Jretu4Gpgo8', ['width'=>530]);
90
-
91
- $screen->add_help_tab([
92
- 'id' => 'seopress_titles_help_tab',
93
- 'title' => __('Templates variables'),
94
- 'content' => $seopress_titles_help_tab_content,
95
- ]);
96
-
97
- if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
98
- $screen->set_help_sidebar(
99
- '<ul>
100
- <li><a href="https://www.seopress.org/fr/support/guides/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Browse our guides', 'wp-seopress') . '</a></li>
101
- <li><a href="https://www.seopress.org/fr/support/faq/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our FAQ', 'wp-seopress') . '</a></li>
102
- <li><a href="https://www.seopress.org/fr/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Check our website', 'wp-seopress') . '</a></li>
103
- </ul>'
104
- );
105
- } else {
106
- $screen->set_help_sidebar(
107
- '<ul>
108
- <li><a href="https://www.seopress.org/support/guides/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Browse our guides', 'wp-seopress') . '</a></li>
109
- <li><a href="https://www.seopress.org/support/faq/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our FAQ', 'wp-seopress') . '</a></li>
110
- <li><a href="https://www.seopress.org/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Check our website', 'wp-seopress') . '</a></li>
111
- </ul>'
112
- );
 
 
 
 
 
 
 
 
 
 
113
  }
114
- }
115
- add_action('load-' . $seopress_titles_help_tab, 'seopress_titles_help_tab');
116
-
117
- function seopress_google_analytics_help_tab() {
118
- $screen = get_current_screen();
119
-
120
- $seopress_google_analytics_help_tab_content = '
121
- <p>' . __('Watch our video to learn how to connect your WordPress site with Google Analytics and get statistics right in your dashboard (PRO only).', 'wp-seopress') . '</p>
122
- ' . wp_oembed_get('https://www.youtube.com/watch?v=2EWdogYuFgs', ['width'=>530]);
123
-
124
- $screen->add_help_tab([
125
- 'id' => 'seopress_google_analytics_help_tab',
126
- 'title' => __('How-to'),
127
- 'content' => $seopress_google_analytics_help_tab_content,
128
- ]);
129
-
130
- if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
131
- $screen->set_help_sidebar(
132
- '<ul>
133
- <li><a href="https://www.seopress.org/fr/support/guides/connectez-site-wordpress-a-google-analytics/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
134
- </ul>'
135
- );
136
- } else {
137
- $screen->set_help_sidebar(
138
- '<ul>
139
- <li><a href="https://www.seopress.org/support/guides/connect-wordpress-site-google-analytics/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
140
- </ul>'
141
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  }
 
143
  }
144
- add_action('load-' . $seopress_google_analytics_help_tab, 'seopress_google_analytics_help_tab');
145
  }
146
 
147
  public function seopress_titles_page() {
27
  $sp_seo_admin_menu['icon'] = 'dashicons-admin-seopress';
28
  }
29
 
30
+ $sp_seo_admin_menu['title'] = __('SEO', 'wp-seopress');
31
+ if (has_filter('seopress_seo_admin_menu_title')) {
32
+ $sp_seo_admin_menu['title'] = apply_filters('seopress_seo_admin_menu_title', $sp_seo_admin_menu['title']);
33
+ }
34
+
35
+ add_menu_page(__('SEOPress Option Page', 'wp-seopress-pro'), $sp_seo_admin_menu['title'], seopress_capability('manage_options', 'menu'), 'seopress-option', [$this, 'create_admin_page'], $sp_seo_admin_menu['icon'], 90);
36
  add_submenu_page('seopress-option', __('Dashboard', 'wp-seopress'), __('Dashboard', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-option', [$this, 'create_admin_page']);
37
+ $seopress_titles_help_tab = add_submenu_page('seopress-option', __('Titles & Metas', 'wp-seopress'), __('Titles & Metas', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-titles', [$this, 'seopress_titles_page']);
38
+ $seopress_xml_sitemaps_help_tab = 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', [$this, 'seopress_xml_sitemap_page']);
39
+ $seopress_social_networks_help_tab = add_submenu_page('seopress-option', __('Social Networks', 'wp-seopress'), __('Social Networks', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-social', [$this, 'seopress_social_page']);
40
  $seopress_google_analytics_help_tab = add_submenu_page('seopress-option', __('Analytics', 'wp-seopress'), __('Analytics', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-google-analytics', [$this, 'seopress_google_analytics_page']);
41
  add_submenu_page('seopress-option', __('Advanced', 'wp-seopress'), __('Advanced', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-advanced', [$this, 'seopress_advanced_page']);
42
  add_submenu_page('seopress-option', __('Tools', 'wp-seopress'), __('Tools', 'wp-seopress'), seopress_capability('manage_options', 'menu'), 'seopress-import-export', [$this, 'seopress_import_export_page']);
43
 
44
+ if (function_exists('seopress_white_label_help_links_option') && seopress_white_label_help_links_option() !=='1') {//If White label ON
45
+ function seopress_titles_help_tab() {
46
+ $screen = get_current_screen();
47
+
48
+ $seopress_titles_help_tab_content = '
49
+ <ul>
50
+ <li><span>' . __('%%sep%%', 'wp-seopress') . '</span>' . __('Separator (eg: - )', 'wp-seopress') . '</li>
51
+ <li><span>' . __('%%sitetitle%% (alias: %%sitename%%)', 'wp-seopress') . '</span>' . __('Site Title', 'wp-seopress') . '</li>
52
+ <li><span>' . __('%%tagline%% (alias %%sitedesc%%)', 'wp-seopress') . '</span>' . __('Tagline', 'wp-seopress') . '</li>
53
+ <li><span>' . __('%%post_title%% (alias %%title%%)', 'wp-seopress') . '</span>' . __('Post Title (post, page, custom post type)', 'wp-seopress') . '</li>
54
+ <li><span>' . __('%%post_excerpt%% (alias %%excerpt%%)', 'wp-seopress') . '</span>' . __('Post excerpt', 'wp-seopress') . '</li>
55
+ <li><span>' . __('%%post_content%%', 'wp-seopress') . '</span>' . __('Post content / product long description', 'wp-seopress') . '</li>
56
+ <li><span>' . __('%%post_thumbnail_url%%', 'wp-seopress') . '</span>' . __('Post thumbnail URL', 'wp-seopress') . '</li>
57
+ <li><span>' . __('%%post_url%%', 'wp-seopress') . '</span>' . __('Post URL (permalink)', 'wp-seopress') . '</li>
58
+ <li><span>' . __('%%post_date%% (alias %%date%%)', 'wp-seopress') . '</span>' . __('Post date', 'wp-seopress') . '</li>
59
+ <li><span>' . __('%%post_modified_date%%', 'wp-seopress') . '</span>' . __('Last modified post date', 'wp-seopress') . '</li>
60
+ <li><span>' . __('%%post_author%%', 'wp-seopress') . '</span>' . __('Post author', 'wp-seopress') . '</li>
61
+ <li><span>' . __('%%post_category%%', 'wp-seopress') . '</span>' . __('Post category', 'wp-seopress') . '</li>
62
+ <li><span>' . __('%%post_tag%%', 'wp-seopress') . '</span>' . __('Post tag', 'wp-seopress') . '</li>
63
+ <li><span>' . __('%%_category_title%%', 'wp-seopress') . '</span>' . __('Category title', 'wp-seopress') . '</li>
64
+ <li><span>' . __('%%_category_description%%', 'wp-seopress') . '</span>' . __('Category description', 'wp-seopress') . '</li>
65
+ <li><span>' . __('%%tag_title%%', 'wp-seopress') . '</span>' . __('Tag title', 'wp-seopress') . '</li>
66
+ <li><span>' . __('%%tag_description%%', 'wp-seopress') . '</span>' . __('Tag description', 'wp-seopress') . '</li>
67
+ <li><span>' . __('%%term_title%%', 'wp-seopress') . '</span>' . __('Term title', 'wp-seopress') . '</li>
68
+ <li><span>' . __('%%term_description%%', 'wp-seopress') . '</span>' . __('Term description', 'wp-seopress') . '</li>
69
+ <li><span>' . __('%%search_keywords%%', 'wp-seopress') . '</span>' . __('Search keywords', 'wp-seopress') . '</li>
70
+ <li><span>' . __('%%current_pagination%%', 'wp-seopress') . '</span>' . __('Current number page', 'wp-seopress') . '</li>
71
+ <li><span>' . __('%%page%%', 'wp-seopress') . '</span>' . __('Current page number with context (i.e. page 1 of 3)', 'wp-seopress') . '</li>
72
+ <li><span>' . __('%%cpt_plural%%', 'wp-seopress') . '</span>' . __('Plural Post Type Archive name', 'wp-seopress') . '</li>
73
+ <li><span>' . __('%%archive_title%%', 'wp-seopress') . '</span>' . __('Archive title', 'wp-seopress') . '</li>
74
+ <li><span>' . __('%%archive_date%%', 'wp-seopress') . '</span>' . __('Date Archive', 'wp-seopress') . '</li>
75
+ <li><span>' . __('%%archive_date_day%%', 'wp-seopress') . '</span>' . __('Day Archive date', 'wp-seopress') . '</li>
76
+ <li><span>' . __('%%archive_date_month%%', 'wp-seopress') . '</span>' . __('Month Archive title', 'wp-seopress') . '</li>
77
+ <li><span>' . __('%%archive_date_year%%', 'wp-seopress') . '</span>' . __('Year Archive title', 'wp-seopress') . '</li>
78
+ <li><span>' . __('%%_cf_your_custom_field_name%%', 'wp-seopress') . '</span>' . __('Custom fields from post, page or post type (replace <span style="color:red;margin:0">your_custom_field_name</span> with your custom field name)', 'wp-seopress') . '</li>
79
+ <li><span>' . __('%%_ct_your_custom_taxonomy_slug%%', 'wp-seopress') . '</span>' . __('Custom term taxonomy from post, page or post type (replace <span style="color:red;margin:0">your_custom_taxonomy_slug</span> with your custom taxonomy slug)', 'wp-seopress') . '</li>
80
+ <li><span>' . __('%%wc_single_cat%%', 'wp-seopress') . '</span>' . __('Single product category', 'wp-seopress') . '</li>
81
+ <li><span>' . __('%%wc_single_tag%%', 'wp-seopress') . '</span>' . __('Single product tag', 'wp-seopress') . '</li>
82
+ <li><span>' . __('%%wc_single_short_desc%%', 'wp-seopress') . '</span>' . __('Single product short description', 'wp-seopress') . '</li>
83
+ <li><span>' . __('%%wc_single_price%%', 'wp-seopress') . '</span>' . __('Single product price', 'wp-seopress') . '</li>
84
+ <li><span>' . __('%%wc_single_price_exc_tax%%', 'wp-seopress') . '</span>' . __('Single product price taxes excluded', 'wp-seopress') . '</li>
85
+ <li><span>' . __('%%wc_sku%%', 'wp-seopress') . '</span>' . __('Single SKU product', 'wp-seopress') . '</li>
86
+ <li><span>' . __('%%currentday%%', 'wp-seopress') . '</span>' . __('Current day', 'wp-seopress') . '</li>
87
+ <li><span>' . __('%%currentmonth%%', 'wp-seopress') . '</span>' . __('Current month', 'wp-seopress') . '</li>
88
+ <li><span>' . __('%%currentmonth_short%%', 'wp-seopress') . '</span>' . __('Current month in 3 letters, eg: "Jan" for "January"', 'wp-seopress') . '</li>
89
+ <li><span>' . __('%%currentyear%%', 'wp-seopress') . '</span>' . __('Current year', 'wp-seopress') . '</li>
90
+ <li><span>' . __('%%currentdate%%', 'wp-seopress') . '</span>' . __('Current date', 'wp-seopress') . '</li>
91
+ <li><span>' . __('%%currenttime%%', 'wp-seopress') . '</span>' . __('Current time', 'wp-seopress') . '</li>
92
+ <li><span>' . __('%%author_bio%%', 'wp-seopress') . '</span>' . __('Author biography (description), meta desc only', 'wp-seopress') . '</li>
93
+ <li><span>' . __('%%currentmonth_num%%', 'wp-seopress') . '</span>' . __('Current month in digital format', 'wp-seopress') . '</li>
94
+ </ul>
95
+ ' . wp_oembed_get('https://www.youtube.com/watch?v=Jretu4Gpgo8', ['width'=>530]);
96
+
97
+ $seopress_titles_help_robots_tab_content = wp_oembed_get('https://www.youtube.com/watch?v=Jretu4Gpgo8', ['width'=>530]);
98
+
99
+ $screen->add_help_tab([
100
+ 'id' => 'seopress_titles_help_tab',
101
+ 'title' => __('Templates variables', 'wp-seopress'),
102
+ 'content' => $seopress_titles_help_tab_content,
103
+ ]);
104
+
105
+ $screen->add_help_tab([
106
+ 'id' => 'seopress_titles_help_robots_tab',
107
+ 'title' => __('Edit your meta robots', 'wp-seopress'),
108
+ 'content' => $seopress_titles_help_robots_tab_content,
109
+ ]);
110
+
111
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
112
+ $screen->set_help_sidebar(
113
+ '<ul>
114
+ <li><a href="https://www.seopress.org/fr/support/guides/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Browse our guides', 'wp-seopress') . '</a></li>
115
+ <li><a href="https://www.seopress.org/fr/support/faq/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our FAQ', 'wp-seopress') . '</a></li>
116
+ <li><a href="https://www.seopress.org/fr/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Check our website', 'wp-seopress') . '</a></li>
117
+ </ul>'
118
+ );
119
+ } else {
120
+ $screen->set_help_sidebar(
121
+ '<ul>
122
+ <li><a href="https://www.seopress.org/support/guides/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Browse our guides', 'wp-seopress') . '</a></li>
123
+ <li><a href="https://www.seopress.org/support/faq/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our FAQ', 'wp-seopress') . '</a></li>
124
+ <li><a href="https://www.seopress.org/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Check our website', 'wp-seopress') . '</a></li>
125
+ </ul>'
126
+ );
127
+ }
128
  }
129
+ add_action('load-' . $seopress_titles_help_tab, 'seopress_titles_help_tab');
130
+
131
+ function seopress_xml_sitemaps_help_tab() {
132
+ $screen = get_current_screen();
133
+
134
+ $seopress_xml_sitemaps_help_tab_content = '
135
+ <p>' . __('Watch our video to learn how to enable XML sitemaps to improve crawling and them to Google Search Console.', 'wp-seopress') . '</p>
136
+ ' . wp_oembed_get('https://www.youtube.com/watch?v=Bjfspe1nusY', ['width'=>530]);
137
+
138
+ $screen->add_help_tab([
139
+ 'id' => 'seopress_google_analytics_help_tab',
140
+ 'title' => __('How-to', 'wp-seopress'),
141
+ 'content' => $seopress_xml_sitemaps_help_tab_content,
142
+ ]);
143
+
144
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
145
+ $screen->set_help_sidebar(
146
+ '<ul>
147
+ <li><a href="https://www.seopress.org/fr/support/guides/activer-sitemap-xml/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
148
+ </ul>'
149
+ );
150
+ } else {
151
+ $screen->set_help_sidebar(
152
+ '<ul>
153
+ <li><a href="https://www.seopress.org/support/guides/enable-xml-sitemaps/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
154
+ </ul>'
155
+ );
156
+ }
157
+ }
158
+ add_action('load-' . $seopress_xml_sitemaps_help_tab, 'seopress_xml_sitemaps_help_tab');
159
+
160
+ function seopress_social_networks_help_tab() {
161
+ $screen = get_current_screen();
162
+
163
+ $seopress_social_networks_help_tab_content = '
164
+ <p>' . __('Watch our video to learn how to edit your Open Graph and Twitters Cards tags to improve social sharing.', 'wp-seopress') . '</p>
165
+ ' . wp_oembed_get('https://www.youtube.com/watch?v=TX3AUsI6vKk', ['width'=>530]);
166
+
167
+ $screen->add_help_tab([
168
+ 'id' => 'seopress_social_networks_help_tab',
169
+ 'title' => __('How-to', 'wp-seopress'),
170
+ 'content' => $seopress_social_networks_help_tab_content,
171
+ ]);
172
+
173
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
174
+ $screen->set_help_sidebar(
175
+ '<ul>
176
+ <li><a href="https://www.seopress.org/fr/support/guides/gerer-les-metas-facebook-open-graph-et-twitter-cards/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
177
+ </ul>'
178
+ );
179
+ } else {
180
+ $screen->set_help_sidebar(
181
+ '<ul>
182
+ <li><a href="https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
183
+ </ul>'
184
+ );
185
+ }
186
+ }
187
+ add_action('load-' . $seopress_social_networks_help_tab, 'seopress_social_networks_help_tab');
188
+
189
+ function seopress_google_analytics_help_tab() {
190
+ $screen = get_current_screen();
191
+
192
+ $seopress_google_analytics_help_tab_content = '
193
+ <p>' . __('Watch our video to learn how to connect your WordPress site with Google Analytics and get statistics right in your dashboard (PRO only).', 'wp-seopress') . '</p>
194
+ ' . wp_oembed_get('https://www.youtube.com/watch?v=2EWdogYuFgs', ['width'=>530]);
195
+
196
+ $screen->add_help_tab([
197
+ 'id' => 'seopress_google_analytics_help_tab',
198
+ 'title' => __('How-to', 'wp-seopress'),
199
+ 'content' => $seopress_google_analytics_help_tab_content,
200
+ ]);
201
+
202
+ if (function_exists('seopress_get_locale') && 'fr' == seopress_get_locale()) {
203
+ $screen->set_help_sidebar(
204
+ '<ul>
205
+ <li><a href="https://www.seopress.org/fr/support/guides/connectez-site-wordpress-a-google-analytics/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
206
+ </ul>'
207
+ );
208
+ } else {
209
+ $screen->set_help_sidebar(
210
+ '<ul>
211
+ <li><a href="https://www.seopress.org/support/guides/connect-wordpress-site-google-analytics/?utm_source=plugin&utm_medium=wp-admin-help-tab&utm_campaign=seopress" target="_blank">' . __('Read our guide', 'wp-seopress') . '</a></li>
212
+ </ul>'
213
+ );
214
+ }
215
  }
216
+ add_action('load-' . $seopress_google_analytics_help_tab, 'seopress_google_analytics_help_tab');
217
  }
 
218
  }
219
 
220
  public function seopress_titles_page() {
inc/admin/ajax.php CHANGED
@@ -94,10 +94,16 @@ function seopress_do_real_preview() {
94
  $data['title'] = $cookies;
95
 
96
  if ('post' == $seopress_origin) { //Default: post type
97
- $response = wp_remote_get(get_preview_post_link((int) $seopress_get_the_id, ['no_admin_bar' => 1]), $args);
 
 
 
 
 
98
  } else { //Term taxonomy
99
  $response = wp_remote_get(get_term_link((int) $seopress_get_the_id, $seopress_tax_name), $args);
100
  }
 
101
  //Check for error
102
  if (is_wp_error($response) || '404' == wp_remote_retrieve_response_code($response)) {
103
  $data['title'] = __('To get your Google snippet preview, publish your post!', 'wp-seopress');
@@ -119,8 +125,8 @@ function seopress_do_real_preview() {
119
  //Get post content (used for Words counter)
120
  $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
121
 
122
- //Themify compatibility
123
- if (defined('THEMIFY_DIR')) {
124
  $seopress_get_the_content = get_post_field('post_content', $seopress_get_the_id);
125
  }
126
 
94
  $data['title'] = $cookies;
95
 
96
  if ('post' == $seopress_origin) { //Default: post type
97
+ //Oxygen compatibility
98
+ if (is_plugin_active('oxygen/functions.php') && function_exists('ct_template_output')) {
99
+ $response = wp_remote_get(get_permalink((int) $seopress_get_the_id), $args);
100
+ } else {
101
+ $response = wp_remote_get(get_preview_post_link((int) $seopress_get_the_id, ['no_admin_bar' => 1]), $args);
102
+ }
103
  } else { //Term taxonomy
104
  $response = wp_remote_get(get_term_link((int) $seopress_get_the_id, $seopress_tax_name), $args);
105
  }
106
+
107
  //Check for error
108
  if (is_wp_error($response) || '404' == wp_remote_retrieve_response_code($response)) {
109
  $data['title'] = __('To get your Google snippet preview, publish your post!', 'wp-seopress');
125
  //Get post content (used for Words counter)
126
  $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
127
 
128
+ //Themify / Cornerstone compatibility
129
+ if (defined('THEMIFY_DIR') || is_plugin_active('cornerstone/cornerstone.php')) {
130
  $seopress_get_the_content = get_post_field('post_content', $seopress_get_the_id);
131
  }
132
 
inc/admin/page-builders/elementor/assets/js/text-letter-counter.js CHANGED
@@ -1,38 +1,38 @@
1
- jQuery(document).ready(function() {
2
- jQuery(document).on('click', '#seopress-seo-tab', function(e) {
3
- jQuery("#elementor-panel-footer-settings").trigger('click');
4
- jQuery(".elementor-control-seopress_title_settings").trigger('click');
5
  });
6
  });
7
 
8
  var tagClickInitialized = false;
9
 
10
  var textLetterCounterView = elementor.modules.controls.BaseData.extend({
11
- fieldType: 'text',
12
  currentEl: null,
13
-
14
  onReady: function () {
15
- elementor.panel.storage.size.width = '495px';
16
  elementor.panel.setSize();
17
-
18
- this.getCurrentElement.value = this.model.get('default');
19
  this.countLength(true);
20
 
21
- if(!tagClickInitialized) {
22
- jQuery(document).on('click', '.tag-title', this.addTag.bind(this));
23
  tagClickInitialized = true;
24
  }
25
  },
26
 
27
- events: function() {
28
  return {
29
- 'change @ui.input': 'onValueChange',
30
- 'change @ui.textarea': 'onValueChange',
31
- 'input @ui.input': 'onValueChange',
32
- 'input @ui.textarea': 'onValueChange',
33
- 'paste @ui.input': 'onValueChange',
34
- 'paste @ui.textarea': 'onValueChange',
35
- }
36
  },
37
 
38
  onValueChange: function (event) {
@@ -42,65 +42,67 @@ var textLetterCounterView = elementor.modules.controls.BaseData.extend({
42
  this.onBaseInputChange(event);
43
  },
44
 
45
- saveValue: function() {
46
  let currentValue = this.getCurrentElementValue();
47
-
48
  this.setValue(currentValue);
49
  },
50
 
51
- updateGooglePreview: function() {
52
- const $googlePreview = jQuery('.elementor-control-field.google-snippet-box');
53
-
54
- if(!$googlePreview.length) {
 
 
55
  return;
56
  }
57
 
58
  let value = this.getCurrentElementValue();
59
-
60
- if(this.fieldType === 'text') {
61
- $googlePreview.find('.snippet-title').text(value);
62
  } else {
63
- $googlePreview.find('.snippet-description-default').text(value);
64
  }
65
  },
66
 
67
- getCurrentElementValue: function() {
68
  let value = false;
69
-
70
  const el = this.getCurrentElement();
71
 
72
- if(el) {
73
  value = el.value;
74
  }
75
 
76
- if(value == '') {
77
- value = jQuery(el).attr('placeholder');
78
  }
79
 
80
  return value;
81
  },
82
 
83
- getCurrentElement: function() {
84
  let el = false;
85
- if(this.ui.textarea.length) {
86
- this.fieldType = 'textarea';
87
  el = this.ui.textarea[0];
88
  } else {
89
- this.fieldType = 'text';
90
  el = this.ui.input[0];
91
  }
92
 
93
- if(this.currentEl) {
94
  el = this.currentEl;
95
  }
96
 
97
  return el;
98
  },
99
 
100
- countLength: function(initial = false, currentEl = false) {
101
  let $currentElement;
102
-
103
- if(!currentEl) {
104
  $currentElement = jQuery(this.getCurrentElement());
105
  } else {
106
  $currentElement = currentEl;
@@ -108,111 +110,132 @@ var textLetterCounterView = elementor.modules.controls.BaseData.extend({
108
 
109
  let currentValue = $currentElement.val();
110
 
111
- if(currentValue == '') {
112
- currentValue = $currentElement.attr('placeholder');
113
  }
114
 
115
- if(typeof currentValue == 'undefined') {
116
  return;
117
  }
118
 
119
  const $elementParent = $currentElement.parent();
120
 
121
- if(initial) {
122
  let maxLength;
123
 
124
- if(this.fieldType === 'text') {
125
  maxLength = 60;
126
  } else {
127
  maxLength = 160;
128
  }
129
-
130
- $elementParent.find(".seopress_counters").after(`<div class="seopress_counters_val">/ ${maxLength}</div>`);
 
 
 
 
131
  }
132
 
133
- if(currentValue.length > 0) {
134
  $elementParent.find(".seopress_counters").text(currentValue.length);
135
- const pixels = this.fieldType === 'text' ? this.pixelTitle(currentValue) : this.pixelDesc(currentValue);
136
- $elementParent.find('.seopress_pixel').text(pixels);
137
- }
138
-
139
- if( (this.fieldType === 'text' && currentValue.length > 60) || (this.fieldType === 'textarea' && currentValue.length > 160)) {
 
 
 
 
 
 
140
  $elementParent.find(".seopress_counters").css("color", "red");
141
- }else {
142
- $elementParent.find('.seopress_counters').css("color", "#6d7882");
143
  }
144
 
145
- if( (this.fieldType === 'text' && this.pixelTitle(currentValue) > 568 ) || (this.fieldType === 'textarea' && this.pixelDesc(currentValue) > 940)) {
146
- $elementParent.find('.seopress_pixel').css("color", "red");
 
 
 
 
 
147
  } else {
148
- $elementParent.find('.seopress_pixel').css("color", "#6d7882");
149
  }
150
-
151
- let progress;
152
- if(this.fieldType === 'text') {
153
- progress = Math.round(this.pixelTitle(currentValue)/568*100);
154
  } else {
155
- progress = Math.round(this.pixelDesc(currentValue)/940*100);
156
  }
157
 
158
  if (progress >= 100) {
159
  progress = 100;
160
  }
161
-
162
- $elementParent.find('.seopress_counters_progress').attr('aria-valuenow',progress);
163
- $elementParent.find('.seopress_counters_progress').text(progress +'%');
164
- $elementParent.find('.seopress_counters_progress').css('width',progress +'%');
 
 
 
 
165
  },
166
 
167
- pixelTitle: function(e) {
168
- inputText = e;
169
- font = "18px Arial";
170
-
171
- canvas = document.createElement("canvas");
172
- context = canvas.getContext("2d");
173
- context.font = font;
174
- width = context.measureText(inputText).width;
175
-
176
- formattedWidth = Math.ceil(width);
177
-
178
  return formattedWidth;
179
  },
180
-
181
- pixelDesc: function(e) {
182
- inputText = e;
183
- font = "14px Arial";
184
-
185
- canvas = document.createElement("canvas");
186
- context = canvas.getContext("2d");
187
- context.font = font;
188
- width = context.measureText(inputText).width;
189
- formattedWidth = Math.ceil(width);
190
-
191
  return formattedWidth;
192
  },
193
 
194
- addTag: function(e) {
195
  e.stopPropagation();
196
 
197
  let $currentBtn = jQuery(e.target);
198
- const $mainParent = $currentBtn.parents('.seopress-text-letter-counter').first();
 
 
199
 
200
  /* Happens the inner span to be click sometimes and if so, find the tag-title span */
201
- if(!$currentBtn.hasClass('tag-title')) {
202
- $currentBtn = $currentBtn.parents('.tag-title').first();
203
  }
204
 
205
- if($mainParent.find('input[type=text]').length) {
206
- $el = $mainParent.find('input[type=text]').first();
207
  } else {
208
- $el = $mainParent.find('textarea').first();
209
  }
210
 
211
- const newValue = $el.val() + ' ' + $currentBtn.data('tag');
212
-
213
  $el.val(newValue);
214
- $el.trigger('change');
215
- }
216
  });
217
 
218
- elementor.addControlView('seopresstextlettercounter', textLetterCounterView);
1
+ jQuery(document).ready(function () {
2
+ jQuery(document).on("click", "#seopress-seo-tab", function (e) {
3
+ jQuery("#elementor-panel-footer-settings").trigger("click");
4
+ jQuery(".elementor-control-seopress_title_settings").trigger("click");
5
  });
6
  });
7
 
8
  var tagClickInitialized = false;
9
 
10
  var textLetterCounterView = elementor.modules.controls.BaseData.extend({
11
+ fieldType: "text",
12
  currentEl: null,
13
+
14
  onReady: function () {
15
+ elementor.panel.storage.size.width = "495px";
16
  elementor.panel.setSize();
17
+
18
+ this.getCurrentElement.value = this.model.get("default");
19
  this.countLength(true);
20
 
21
+ if (!tagClickInitialized) {
22
+ jQuery(document).on("click", ".tag-title", this.addTag.bind(this));
23
  tagClickInitialized = true;
24
  }
25
  },
26
 
27
+ events: function () {
28
  return {
29
+ "change @ui.input": "onValueChange",
30
+ "change @ui.textarea": "onValueChange",
31
+ "input @ui.input": "onValueChange",
32
+ "input @ui.textarea": "onValueChange",
33
+ "paste @ui.input": "onValueChange",
34
+ "paste @ui.textarea": "onValueChange",
35
+ };
36
  },
37
 
38
  onValueChange: function (event) {
42
  this.onBaseInputChange(event);
43
  },
44
 
45
+ saveValue: function () {
46
  let currentValue = this.getCurrentElementValue();
47
+
48
  this.setValue(currentValue);
49
  },
50
 
51
+ updateGooglePreview: function () {
52
+ const $googlePreview = jQuery(
53
+ ".elementor-control-field.google-snippet-box"
54
+ );
55
+
56
+ if (!$googlePreview.length) {
57
  return;
58
  }
59
 
60
  let value = this.getCurrentElementValue();
61
+
62
+ if (this.fieldType === "text") {
63
+ $googlePreview.find(".snippet-title").text(value);
64
  } else {
65
+ $googlePreview.find(".snippet-description-default").text(value);
66
  }
67
  },
68
 
69
+ getCurrentElementValue: function () {
70
  let value = false;
71
+
72
  const el = this.getCurrentElement();
73
 
74
+ if (el) {
75
  value = el.value;
76
  }
77
 
78
+ if (value == "") {
79
+ value = jQuery(el).attr("placeholder");
80
  }
81
 
82
  return value;
83
  },
84
 
85
+ getCurrentElement: function () {
86
  let el = false;
87
+ if (this.ui.textarea.length) {
88
+ this.fieldType = "textarea";
89
  el = this.ui.textarea[0];
90
  } else {
91
+ this.fieldType = "text";
92
  el = this.ui.input[0];
93
  }
94
 
95
+ if (this.currentEl) {
96
  el = this.currentEl;
97
  }
98
 
99
  return el;
100
  },
101
 
102
+ countLength: function (initial = false, currentEl = false) {
103
  let $currentElement;
104
+
105
+ if (!currentEl) {
106
  $currentElement = jQuery(this.getCurrentElement());
107
  } else {
108
  $currentElement = currentEl;
110
 
111
  let currentValue = $currentElement.val();
112
 
113
+ if (currentValue == "") {
114
+ currentValue = $currentElement.attr("placeholder");
115
  }
116
 
117
+ if (typeof currentValue == "undefined") {
118
  return;
119
  }
120
 
121
  const $elementParent = $currentElement.parent();
122
 
123
+ if (initial) {
124
  let maxLength;
125
 
126
+ if (this.fieldType === "text") {
127
  maxLength = 60;
128
  } else {
129
  maxLength = 160;
130
  }
131
+
132
+ $elementParent
133
+ .find(".seopress_counters")
134
+ .after(
135
+ `<div class="seopress_counters_val">/ ${maxLength}</div>`
136
+ );
137
  }
138
 
139
+ if (currentValue.length > 0) {
140
  $elementParent.find(".seopress_counters").text(currentValue.length);
141
+ const pixels =
142
+ this.fieldType === "text"
143
+ ? this.pixelTitle(currentValue)
144
+ : this.pixelDesc(currentValue);
145
+ $elementParent.find(".seopress_pixel").text(pixels);
146
+ }
147
+
148
+ if (
149
+ (this.fieldType === "text" && currentValue.length > 60) ||
150
+ (this.fieldType === "textarea" && currentValue.length > 160)
151
+ ) {
152
  $elementParent.find(".seopress_counters").css("color", "red");
153
+ } else {
154
+ $elementParent.find(".seopress_counters").css("color", "#6d7882");
155
  }
156
 
157
+ if (
158
+ (this.fieldType === "text" &&
159
+ this.pixelTitle(currentValue) > 568) ||
160
+ (this.fieldType === "textarea" &&
161
+ this.pixelDesc(currentValue) > 940)
162
+ ) {
163
+ $elementParent.find(".seopress_pixel").css("color", "red");
164
  } else {
165
+ $elementParent.find(".seopress_pixel").css("color", "#6d7882");
166
  }
167
+
168
+ let progress;
169
+ if (this.fieldType === "text") {
170
+ progress = Math.round((this.pixelTitle(currentValue) / 568) * 100);
171
  } else {
172
+ progress = Math.round((this.pixelDesc(currentValue) / 940) * 100);
173
  }
174
 
175
  if (progress >= 100) {
176
  progress = 100;
177
  }
178
+
179
+ $elementParent
180
+ .find(".seopress_counters_progress")
181
+ .attr("aria-valuenow", progress);
182
+ $elementParent.find(".seopress_counters_progress").text(progress + "%");
183
+ $elementParent
184
+ .find(".seopress_counters_progress")
185
+ .css("width", progress + "%");
186
  },
187
 
188
+ pixelTitle: function (e) {
189
+ inputText = e;
190
+ font = "18px Arial";
191
+
192
+ canvas = document.createElement("canvas");
193
+ context = canvas.getContext("2d");
194
+ context.font = font;
195
+ width = context.measureText(inputText).width;
196
+
197
+ formattedWidth = Math.ceil(width);
198
+
199
  return formattedWidth;
200
  },
201
+
202
+ pixelDesc: function (e) {
203
+ inputText = e;
204
+ font = "14px Arial";
205
+
206
+ canvas = document.createElement("canvas");
207
+ context = canvas.getContext("2d");
208
+ context.font = font;
209
+ width = context.measureText(inputText).width;
210
+ formattedWidth = Math.ceil(width);
211
+
212
  return formattedWidth;
213
  },
214
 
215
+ addTag: function (e) {
216
  e.stopPropagation();
217
 
218
  let $currentBtn = jQuery(e.target);
219
+ const $mainParent = $currentBtn
220
+ .parents(".seopress-text-letter-counter")
221
+ .first();
222
 
223
  /* Happens the inner span to be click sometimes and if so, find the tag-title span */
224
+ if (!$currentBtn.hasClass("tag-title")) {
225
+ $currentBtn = $currentBtn.parents(".tag-title").first();
226
  }
227
 
228
+ if ($mainParent.find("input[type=text]").length) {
229
+ $el = $mainParent.find("input[type=text]").first();
230
  } else {
231
+ $el = $mainParent.find("textarea").first();
232
  }
233
 
234
+ const newValue = $el.val() + " " + $currentBtn.data("tag");
235
+ console.log($el);
236
  $el.val(newValue);
237
+ $el.trigger("change");
238
+ },
239
  });
240
 
241
+ elementor.addControlView("seopresstextlettercounter", textLetterCounterView);
inc/functions/options-advanced-admin.php CHANGED
@@ -122,8 +122,8 @@ if ('' != seopress_advanced_advanced_image_auto_title_editor_option() ||
122
  // Sanitize the title: remove hyphens, underscores & extra spaces:
123
  $img_attr = preg_replace('%\s*[-_\s]+\s*%', ' ', $img_attr);
124
 
125
- // Sanitize the title: capitalize first letter of every word (other letters lower case)
126
- $img_attr = ucwords(strtolower($img_attr));
127
 
128
  $img_attr = apply_filters('seopress_auto_image_title', $img_attr);
129
 
@@ -392,12 +392,6 @@ if ('' != seopress_advanced_appearance_title_col_option()
392
  return $current_cpt;
393
  }
394
 
395
- add_action('current_screen', 'seopress_did_add_columns');
396
- function seopress_did_add_columns() {
397
- if (1 === did_action('current_screen')) {
398
- seopress_add_columns();
399
- }
400
- }
401
  function seopress_add_columns() {
402
  if (isset(get_current_screen()->post_type)) {
403
  $key = get_current_screen()->post_type;
@@ -413,204 +407,6 @@ if ('' != seopress_advanced_appearance_title_col_option()
413
  }
414
  }
415
 
416
- function seopress_title_columns($columns) {
417
- if ('' != seopress_advanced_appearance_title_col_option()) {
418
- $columns['seopress_title'] = __('Title tag', 'wp-seopress');
419
- }
420
- if ('' != seopress_advanced_appearance_meta_desc_col_option()) {
421
- $columns['seopress_desc'] = __('Meta Desc.', 'wp-seopress');
422
- }
423
- if ('' != seopress_advanced_appearance_redirect_enable_col_option()) {
424
- $columns['seopress_redirect_enable'] = __('Redirect?', 'wp-seopress');
425
- }
426
- if ('' != seopress_advanced_appearance_redirect_url_col_option()) {
427
- $columns['seopress_redirect_url'] = __('Redirect URL', 'wp-seopress');
428
- }
429
- if ('' != seopress_advanced_appearance_canonical_option()) {
430
- $columns['seopress_canonical'] = __('Canonical', 'wp-seopress');
431
- }
432
- if ('' != seopress_advanced_appearance_target_kw_col_option()) {
433
- $columns['seopress_tkw'] = __('Target Kw', 'wp-seopress');
434
- }
435
- if ('' != seopress_advanced_appearance_noindex_col_option()) {
436
- $columns['seopress_noindex'] = __('noindex?', 'wp-seopress');
437
- }
438
- if ('' != seopress_advanced_appearance_nofollow_col_option()) {
439
- $columns['seopress_nofollow'] = __('nofollow?', 'wp-seopress');
440
- }
441
- if ('' != seopress_advanced_appearance_score_col_option()) {
442
- $columns['seopress_score'] = __('Score', 'wp-seopress');
443
- }
444
- if ('' != seopress_advanced_appearance_words_col_option()) {
445
- $columns['seopress_words'] = __('Words', 'wp-seopress');
446
- }
447
- if ('' != seopress_advanced_appearance_w3c_col_option()) {
448
- $columns['seopress_w3c'] = __('W3C check', 'wp-seopress');
449
- }
450
- if ('' != seopress_advanced_appearance_ps_col_option()) {
451
- $columns['seopress_ps'] = __('Page Speed', 'wp-seopress');
452
- }
453
- if ('' != seopress_advanced_appearance_insights_col_option()) {
454
- $columns['seopress_insights'] = __('Insights', 'wp-seopress');
455
- }
456
-
457
- return $columns;
458
- }
459
-
460
- function seopress_title_display_column($column, $post_id) {
461
- switch ($column) {
462
- case 'seopress_title':
463
- echo '<div id="seopress_title-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_titles_title', true)) . '</div>';
464
- break;
465
-
466
- case 'seopress_desc':
467
- echo '<div id="seopress_desc-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_titles_desc', true)) . '</div>';
468
- break;
469
-
470
- case 'seopress_redirect_enable':
471
- if ('yes' == get_post_meta($post_id, '_seopress_redirections_enabled', true)) {
472
- echo '<div id="seopress_redirect_enable-' . esc_attr($post_id) . '"><span class="dashicons dashicons-yes"></span></div>';
473
- }
474
- break;
475
- case 'seopress_redirect_url':
476
- echo '<div id="seopress_redirect_url-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_redirections_value', true)) . '</div>';
477
- break;
478
-
479
- case 'seopress_canonical':
480
- echo '<div id="seopress_canonical-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_robots_canonical', true)) . '</div>';
481
- break;
482
-
483
- case 'seopress_tkw':
484
- echo '<div id="seopress_tkw-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_analysis_target_kw', true)) . '</div>';
485
- break;
486
-
487
- case 'seopress_noindex':
488
- if ('yes' == get_post_meta($post_id, '_seopress_robots_index', true)) {
489
- echo '<span class="dashicons dashicons-hidden"></span><span class="screen-reader-text">' . __('noindex is on!', 'wp-seopress') . '</span>';
490
- }
491
- break;
492
-
493
- case 'seopress_nofollow':
494
- if ('yes' == get_post_meta($post_id, '_seopress_robots_follow', true)) {
495
- echo '<span class="dashicons dashicons-yes"></span><span class="screen-reader-text">' . __('nofollow is on!', 'wp-seopress') . '</span>';
496
- }
497
- break;
498
-
499
- case 'seopress_words':
500
- if ('' != get_the_content()) {
501
- $seopress_analysis_data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", strip_tags(wp_filter_nohtml_kses(get_the_content())), $matches);
502
-
503
- echo $seopress_analysis_data['words_counter'];
504
- }
505
- break;
506
-
507
- case 'seopress_w3c':
508
- echo '<a class="seopress-button" href="https://validator.w3.org/nu/?doc=' . esc_url(get_the_permalink()) . '" title="' . esc_attr(__('Check code quality of this page', 'wp-seopress')) . '" target="_blank"><span class="dashicons dashicons-clipboard"></span></a>';
509
- break;
510
-
511
- case 'seopress_ps':
512
- 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>';
513
- break;
514
-
515
- case 'seopress_score':
516
- if (get_post_meta($post_id, '_seopress_analysis_data')) {
517
- $ca = get_post_meta($post_id, '_seopress_analysis_data');
518
- echo '<div class="analysis-score">';
519
- if (isset($ca[0]['score']) && 1 == $ca[0]['score']) {
520
- echo '<p><svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
521
- <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
522
- <circle id="bar" class="good" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 50.8938px;"></circle>
523
- </svg><span class="screen-reader-text">' . __('Good', 'wp-seopress') . '</span></p>';
524
- } elseif (isset($ca[0]['score']) && '' == $ca[0]['score']) {
525
- echo '<p><svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
526
- <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
527
- <circle id="bar" class="notgood" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 101.788px;"></circle>
528
- </svg><span class="screen-reader-text">' . __('Should be improved', 'wp-seopress') . '</span></p>';
529
- }
530
- echo '</div>';
531
- }
532
- break;
533
-
534
- case 'seopress_insights':
535
- if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
536
- foreach (seopress_insights_query_all_rankings() as $key => $value) {
537
- if ( ! empty($value) && $value['url'] == get_the_permalink($post_id)) {
538
- $rankings[$value['ts']][] = [
539
- 'keyword' => get_the_title(),
540
- 'p' => $value['p'],
541
- 'url' => $value['url'],
542
- 'search_volume' => $value['search_volume'],
543
- 'cpc' => $value['cpc'],
544
- 'competition' => $value['competition'],
545
- 'date' => date('Y/m/d', $value['ts']),
546
- ];
547
- }
548
- }
549
-
550
- if ( ! empty($rankings)) {
551
- foreach ($rankings as $key => $value) {
552
- $avg_pos[] = $value[0]['p'];
553
- $kws[] = $value[0]['keyword'];
554
- }
555
-
556
- echo '<div class="wrap-insights-post">';
557
-
558
- echo '<p><span class="dashicons dashicons-chart-line"></span>';
559
-
560
- if ( ! empty($kws)) {
561
- $kws = array_unique($kws);
562
-
563
- $html = '<ul>';
564
- foreach ($kws as $kw) {
565
- $html .= '<li><span class="dashicons dashicons-minus"></span>' . $kw . '</li>';
566
- }
567
- $html .= '</ul>';
568
-
569
- echo seopress_tooltip(__('Insights from these keywords:', 'wp-seopress-insights'), sprintf('%s', $html), '');
570
- }
571
-
572
- echo '</p>';
573
-
574
- //Average position
575
- echo '<p class="widget-insights-title">' . __('Average position: ', 'wp-seopress-insights') . '</p>';
576
-
577
- if ( ! empty($avg_pos)) {
578
- echo '<p>';
579
-
580
- echo '<span>' . round(array_sum($avg_pos) / count($avg_pos), 2) . '</span>';
581
-
582
- //Variation
583
- if (isset($avg_pos[0]) && $avg_pos[1]) {
584
- $p_variation = $avg_pos[0] - $avg_pos[1];
585
-
586
- if ($avg_pos[0] < $avg_pos[1]) {
587
- $p_variation_rel = '<span class="up"><span class="dashicons dashicons-arrow-up-alt"></span> ' . abs($p_variation) . '</span>';
588
- } elseif ($avg_pos[0] == $avg_pos[1]) {
589
- $p_variation_rel = '<span class="stable">=</span>';
590
- } else {
591
- $p_variation_rel = '<span class="down"><span class="dashicons dashicons-arrow-up-alt"></span> ' . abs($p_variation) . '</span>';
592
- }
593
-
594
- echo $p_variation_rel;
595
- }
596
-
597
- echo '</p>';
598
- }
599
-
600
- //Latest position
601
- echo '<p class="widget-insights-title">' . __('Latest position: ', 'wp-seopress-insights') . '</p>';
602
-
603
- $p = array_key_first($rankings);
604
- echo '<p><span>' . $rankings[$p][0]['p'] . '</span></p>';
605
- echo '</div>';
606
- }
607
- }
608
- break;
609
-
610
- default:
611
- break;
612
- }
613
- }
614
 
615
  //Sortable columns
616
  foreach (seopress_get_post_types() as $key => $value) {
122
  // Sanitize the title: remove hyphens, underscores & extra spaces:
123
  $img_attr = preg_replace('%\s*[-_\s]+\s*%', ' ', $img_attr);
124
 
125
+ // Lowercase attributes
126
+ $img_attr = strtolower($img_attr);
127
 
128
  $img_attr = apply_filters('seopress_auto_image_title', $img_attr);
129
 
392
  return $current_cpt;
393
  }
394
 
 
 
 
 
 
 
395
  function seopress_add_columns() {
396
  if (isset(get_current_screen()->post_type)) {
397
  $key = get_current_screen()->post_type;
407
  }
408
  }
409
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
410
 
411
  //Sortable columns
412
  foreach (seopress_get_post_types() as $key => $value) {
inc/functions/options-google-analytics-checkout.php DELETED
@@ -1,85 +0,0 @@
1
- <?php
2
- defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
-
4
- //Google Analytics E-commerce
5
- //=================================================================================================
6
- //Measuring an Addition from Cart
7
- function seopress_google_analytics_js2($cart_item_key, $product_id, $quantity) {
8
- if (seopress_google_analytics_ecommerce_enable_option() =='1') {
9
-
10
- $seopress_google_analytics_html = "ga('require', 'ec');";
11
- $seopress_google_analytics_html .= "\n";
12
-
13
- //If WC enabled
14
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
15
- if ( is_plugin_active( 'woocommerce/woocommerce.php' )) {
16
- $product = wc_get_product($product_id);
17
-
18
- $product_cat = get_the_terms($product_id, 'product_cat');
19
-
20
- $seopress_google_analytics_html = "
21
- ga('ec:addProduct', {
22
- 'id': ".$product_id.",
23
- 'name': '".$product->get_name()."',";
24
-
25
- if ($product_cat !='') {
26
- $seopress_google_analytics_html .= "
27
- 'category': '".$product_cat[0]->name."',";
28
- }
29
-
30
- if ($product->get_price() !='') {
31
- $seopress_google_analytics_html .= "
32
- 'price': '".$product->get_price()."',";
33
- }
34
-
35
- if ($quantity !='') {
36
- $seopress_google_analytics_html .= "
37
- 'quantity': ".$quantity;
38
- }
39
- $seopress_google_analytics_html .= "
40
- });
41
- ";
42
- $seopress_google_analytics_html .= "\n";
43
-
44
- $seopress_google_analytics_html .= "ga('ec:setAction', 'add');";
45
- $seopress_google_analytics_html .= "\n";
46
-
47
- $seopress_google_analytics_html .= "ga('send', 'event', 'UX', 'click', 'add to cart');";
48
- $seopress_google_analytics_html .= "\n";
49
-
50
- $seopress_google_analytics_html .= "\n";
51
-
52
- if (seopress_google_analytics_enable_option() =='1' && seopress_google_analytics_ua_option() !='') {
53
- if (is_user_logged_in()) {
54
- global $wp_roles;
55
-
56
- //Get current user role
57
- if(isset(wp_get_current_user()->roles[0])) {
58
- $seopress_user_role = wp_get_current_user()->roles[0];
59
- //If current user role matchs values from SEOPress GA settings then apply
60
- if (function_exists('seopress_google_analytics_roles_option') && seopress_google_analytics_roles_option() !='') {
61
- if( array_key_exists( $seopress_user_role, seopress_google_analytics_roles_option())) {
62
- //do nothing
63
- } else {
64
- if (function_exists('wc_enqueue_js')) {
65
- wc_enqueue_js($seopress_google_analytics_html);
66
- }
67
- }
68
- } else {
69
- if (function_exists('wc_enqueue_js')) {
70
- wc_enqueue_js($seopress_google_analytics_html);
71
- }
72
- }
73
- }
74
- } else {
75
- if (function_exists('wc_enqueue_js')) {
76
- wc_enqueue_js($seopress_google_analytics_html);
77
- }
78
- }
79
- }
80
- }
81
- }
82
- }
83
- add_action('woocommerce_add_to_cart', 'seopress_google_analytics_js2', 20, 3);
84
-
85
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/functions/options-google-analytics-order.php DELETED
@@ -1,55 +0,0 @@
1
- <?php
2
- defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
3
-
4
- //Google Analytics E-commerce
5
- //=================================================================================================
6
- function seopress_google_analytics_order_received() {
7
- $seopress_google_analytics_html ='';
8
- global $woocommerce;
9
- foreach( WC()->cart->get_cart() as $cart_item ){
10
-
11
- $product = wc_get_product($cart_item['product_id']);
12
- $product_cat = get_the_terms($cart_item['product_id'], 'product_cat');
13
-
14
- $seopress_google_analytics_html .= "
15
- ga('ec:addProduct', {
16
- 'id': '".$cart_item['product_id']."',
17
- 'name': '".$product->get_name()."',";
18
-
19
- if ($product_cat !='') {
20
- $seopress_google_analytics_html .= "
21
- 'category': '".$product_cat[0]->name."',";
22
- }
23
-
24
- if ($product->get_price() !='') {
25
- $seopress_google_analytics_html .= "
26
- 'price': '".$product->get_price()."',";
27
- }
28
-
29
- if ($cart_item['quantity'] !='') {
30
- $seopress_google_analytics_html .= "
31
- 'quantity': ".$cart_item['quantity'];
32
- }
33
- $seopress_google_analytics_html .= "
34
- });
35
- ";
36
- }
37
-
38
- $seopress_google_analytics_html .= "\n";
39
-
40
- $seopress_google_analytics_html .= "
41
- ga('ec:setAction', 'purchase', {
42
- 'id': 'daf9276a-3fa2-45a3-a591-495154662f7f',
43
- 'revenue': ".$woocommerce->cart->get_cart_total().",
44
- 'tax': 5,
45
- 'shipping': 5
46
- });
47
- ";
48
-
49
- $seopress_google_analytics_html .= "\n";
50
-
51
- if (function_exists('wc_enqueue_js')) {
52
- wc_enqueue_js($seopress_google_analytics_html);
53
- }
54
- }
55
- add_action('woocommerce_checkout_order_processed', 'seopress_google_analytics_order_received');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/functions/options-google-analytics.php CHANGED
@@ -754,17 +754,10 @@ function seopress_google_analytics_js($echo) {
754
  //Init
755
  $seopress_google_analytics_config = [];
756
  $seopress_google_analytics_event = [];
757
-
758
- $g_id = '';
759
- if ('' != seopress_google_analytics_ga4_option()) {
760
- $g_id = seopress_google_analytics_ga4_option();
761
- } elseif ('' != seopress_google_analytics_ua_option()) {
762
- $g_id = seopress_google_analytics_ua_option();
763
- }
764
 
765
  $seopress_google_analytics_html = "\n";
766
  $seopress_google_analytics_html .=
767
- "<script async src='https://www.googletagmanager.com/gtag/js?id=" . $g_id . "'></script>
768
  <script>
769
  window.dataLayer = window.dataLayer || [];
770
  function gtag(){dataLayer.push(arguments);}";
754
  //Init
755
  $seopress_google_analytics_config = [];
756
  $seopress_google_analytics_event = [];
 
 
 
 
 
 
 
757
 
758
  $seopress_google_analytics_html = "\n";
759
  $seopress_google_analytics_html .=
760
+ "<script async src='https://www.googletagmanager.com/gtag/js?id=" . seopress_google_analytics_ua_option() . "'></script>
761
  <script>
762
  window.dataLayer = window.dataLayer || [];
763
  function gtag(){dataLayer.push(arguments);}";
inc/functions/options-google-ecommerce.php CHANGED
@@ -2,249 +2,251 @@
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
- if (is_plugin_active('woocommerce/woocommerce.php')) {
6
- // Measure Purchases
7
- if (seopress_google_analytics_purchases_option()) {
8
- if (function_exists('is_order_received_page') && is_order_received_page()) {
9
- global $wp;
10
- $order_id = isset($wp->query_vars['order-received']) ? $wp->query_vars['order-received'] : 0;
11
-
12
- if (0 < $order_id && 1 != get_post_meta($order_id, '_seopress_ga_tracked', true)) {
13
- $order = wc_get_order($order_id);
14
-
15
- //Check order status
16
- if (method_exists($order, 'get_status') && ('processing' === $order->get_status()) || 'completed' === $order->get_status()) {
17
- $items_purchased = [];
18
- foreach ($order->get_items() as $item) {
19
- // Get Product object
20
- $_product = wc_get_product($item->get_product_id());
21
-
22
- if ( ! is_a($_product, 'WC_Product')) {
23
- continue;
24
- }
25
-
26
- // init vars
27
- $item_id = $_product->get_id();
28
- $variation_id = 0;
29
- $variation_data = null;
30
- $categories_js = null;
31
- $categories_out = [];
32
- $variant_js = null;
33
-
34
- // Set data
35
- $items_purchased['id'] = esc_js($item_id);
36
- $items_purchased['name'] = esc_js($item->get_name());
37
- $items_purchased['quantity'] = (float) esc_js($item->get_quantity());
38
- $items_purchased['price'] = (float) esc_js($order->get_item_total($item));
39
-
40
- // Categories and Variations
41
- $categories = get_the_terms($item_id, 'product_cat');
42
- if ($item->get_variation_id()) {
43
- $variation_id = $item->get_variation_id();
44
- $variation_data = wc_get_product_variation_attributes($variation_id);
45
- }
46
 
47
- // Variations
48
- if (is_array($variation_data) && ! empty($variation_data)) {
49
- $variant_js = esc_js(wc_get_formatted_variation($variation_data, true));
 
 
 
 
 
 
 
 
 
 
 
 
50
  $categories = get_the_terms($item_id, 'product_cat');
51
- $item_id = $variation_id;
 
 
 
52
 
53
- $items_purchased['variant'] = esc_js($variant_js);
54
- }
55
- // Categories
56
- if ($categories) {
57
- foreach ($categories as $category) {
58
- $categories_out[] = $category->name;
 
 
 
 
 
 
 
 
 
 
59
  }
60
- $categories_js = esc_js(implode('/', $categories_out));
61
 
62
- $items_purchased['category'] = esc_js($categories_js);
63
  }
64
 
65
- $final[] = $items_purchased;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
66
  }
67
-
68
- $global_purchase = [
69
- 'transaction_id' => esc_js($order_id),
70
- 'affiliation' => esc_js(get_bloginfo('name')),
71
- 'value' => (float) esc_js($order->get_total()),
72
- 'currency' => esc_js($order->get_currency()),
73
- 'tax' => (float) esc_js($order->get_total_tax()),
74
- 'shipping' => (float) esc_js($order->get_shipping_total()),
75
- 'items' => $final,
76
- ];
77
-
78
- $seopress_google_analytics_click_event['purchase_tracking'] = 'gtag(\'event\', \'purchase\',';
79
- $seopress_google_analytics_click_event['purchase_tracking'] .= json_encode($global_purchase);
80
- $seopress_google_analytics_click_event['purchase_tracking'] .= ');';
81
- $seopress_google_analytics_click_event['purchase_tracking'] = apply_filters('seopress_gtag_ec_purchases_ev', $seopress_google_analytics_click_event['purchase_tracking']);
82
-
83
- update_post_meta($order_id, '_seopress_ga_tracked', true);
84
  }
85
  }
86
  }
87
- }
88
-
89
- // ADD TO CART
90
- if (seopress_google_analytics_add_to_cart_option()) {
91
- // Listing page
92
- add_action('woocommerce_after_shop_loop_item', 'seopress_loop_add_to_cart');
93
- function seopress_loop_add_to_cart() {
94
- // Get current product
95
- global $product;
96
-
97
- // Set data
98
- $items_purchased['id'] = esc_js($product->get_id());
99
- $items_purchased['name'] = esc_js($product->get_title());
100
- $items_purchased['list_name'] = esc_js(get_the_title());
101
- $items_purchased['quantity'] = (float) esc_js(1);
102
- $items_purchased['price'] = (float) esc_js($product->get_price());
103
-
104
- // Extract categories
105
- $categories = get_the_terms($product->get_id(), 'product_cat');
106
- if ($categories) {
107
- foreach ($categories as $category) {
108
- $categories_out[] = $category->name;
109
- }
110
- $categories_js = esc_js(implode('/', $categories_out));
111
- $items_purchased['category'] = esc_js($categories_js);
112
- }
113
-
114
- // Echo JS
115
- $js = "<script>
116
- jQuery('.ajax_add_to_cart').unbind().click( function(){
117
- gtag('event', 'add_to_cart', {'items': [ " . json_encode($items_purchased) . ' ]});
118
- });
119
- </script>';
120
 
121
- $js = apply_filters('seopress_gtag_ec_add_to_cart_archive_ev', $js);
 
 
 
 
 
 
122
 
123
- echo $js;
124
- }
 
 
 
 
125
 
126
- // Single
127
- add_action('woocommerce_after_add_to_cart_button', 'seopress_single_add_to_cart');
128
- function seopress_single_add_to_cart() {
129
- // Get current product
130
- global $product;
131
-
132
- // Set data
133
- $items_purchased['id'] = esc_js($product->get_id());
134
- $items_purchased['name'] = esc_js($product->get_title());
135
- $items_purchased['list_name'] = esc_js(get_the_title());
136
- $items_purchased['quantity'] = "$( 'input.qty' ).val() ? $( 'input.qty' ).val() : '1'";
137
- $items_purchased['price'] = (float) esc_js($product->get_price());
138
-
139
- // Extract categories
140
- $categories = get_the_terms($product->get_id(), 'product_cat');
141
- if ($categories) {
142
- foreach ($categories as $category) {
143
- $categories_out[] = $category->name;
144
  }
145
- $categories_js = esc_js(implode('/', $categories_out));
146
- $items_purchased['category'] = esc_js($categories_js);
147
- }
148
 
149
- // Echo JS
150
- $js = "<script>jQuery('.single_add_to_cart_button').click( function(){
151
- gtag('event', 'add_to_cart', {'items': [ " . json_encode($items_purchased) . ' ]});
152
- });</script>';
 
 
153
 
154
- $js = apply_filters('seopress_gtag_ec_add_to_cart_single_ev', $js);
155
 
156
- echo $js;
157
- }
158
- }
159
-
160
- // REMOVE FROM CART
161
- if (seopress_google_analytics_remove_from_cart_option()) {
162
- // Cart page
163
- add_filter('woocommerce_cart_item_remove_link', 'seopress_cart_remove_from_cart', 10, 2);
164
- function seopress_cart_remove_from_cart($sprintf, $cart_item_key) {
165
- // Extract cart and get current product data
166
- global $woocommerce;
167
- foreach ($woocommerce->cart->get_cart() as $key => $item) {
168
- if ($key == $cart_item_key) {
169
- $product = wc_get_product($item['product_id']);
170
- $items_purchased['quantity'] = (float) $item['quantity'];
171
- }
172
  }
173
 
174
- // Get current product
175
- if ($product) {
 
 
 
 
176
  // Set data
177
  $items_purchased['id'] = esc_js($product->get_id());
178
  $items_purchased['name'] = esc_js($product->get_title());
179
  $items_purchased['list_name'] = esc_js(get_the_title());
 
180
  $items_purchased['price'] = (float) esc_js($product->get_price());
181
 
182
  // Extract categories
183
  $categories = get_the_terms($product->get_id(), 'product_cat');
184
  if ($categories) {
185
  foreach ($categories as $category) {
186
- if (is_object($category) && property_exists($category, 'name')) {
187
- $categories_out[] = $category->name;
188
- } elseif (is_array($category) && isset($category['name'])) {
189
- $categories_out[] = $category['name'];
190
- }
191
  }
192
  $categories_js = esc_js(implode('/', $categories_out));
193
  $items_purchased['category'] = esc_js($categories_js);
194
  }
195
 
196
- // Return JS
197
- $sprintf .= "<script>jQuery('.product-remove .remove').unbind().click( function(){
198
- gtag('event', 'remove_from_cart', {'items': [ " . json_encode($items_purchased) . ' ]});
199
- });</script>';
200
- }
201
 
202
- $sprintf = apply_filters('seopress_gtag_ec_remove_from_cart_ev', $sprintf);
203
 
204
- return $sprintf;
 
205
  }
206
- }
207
 
208
- // UPDATE CART (cart / checkout pages)
209
- if (seopress_google_analytics_add_to_cart_option() && seopress_google_analytics_remove_from_cart_option()) {
210
- // Before update
211
- add_action('woocommerce_cart_actions', 'seopress_before_update_cart');
212
- function seopress_before_update_cart() {
213
- // Extract cart
214
- global $woocommerce;
215
- foreach ($woocommerce->cart->get_cart() as $key => $item) {
216
- $product = wc_get_product($item['product_id']);
 
 
 
 
 
217
  // Get current product
218
  if ($product) {
219
  // Set data
220
  $items_purchased['id'] = esc_js($product->get_id());
221
  $items_purchased['name'] = esc_js($product->get_title());
222
  $items_purchased['list_name'] = esc_js(get_the_title());
223
- $items_purchased['quantity'] = (float) esc_js($item['quantity']);
224
  $items_purchased['price'] = (float) esc_js($product->get_price());
225
 
226
  // Extract categories
227
  $categories = get_the_terms($product->get_id(), 'product_cat');
228
  if ($categories) {
229
  foreach ($categories as $category) {
230
- $categories_out[] = $category->name;
 
 
 
 
231
  }
232
  $categories_js = esc_js(implode('/', $categories_out));
233
  $items_purchased['category'] = esc_js($categories_js);
234
  }
 
 
 
 
 
235
  }
236
 
237
- $final[] = $items_purchased;
 
 
238
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
 
240
- // Return JS
241
- $js = "<script>jQuery('.actions .button').unbind().click( function(){
242
- gtag('event', 'remove_from_cart', {'items': " . json_encode($final) . '});
243
- });</script>';
 
 
 
244
 
245
- $js = apply_filters('seopress_gtag_ec_remove_from_cart_checkout_ev', $js);
246
 
247
- echo $js;
 
248
  }
249
  }
250
  }
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
+ if (apply_filters('seopress_fallback_woocommerce_analytics', false)) {
6
+ if (is_plugin_active('woocommerce/woocommerce.php')) {
7
+ // Measure Purchases
8
+ if (seopress_google_analytics_purchases_option()) {
9
+ if (function_exists('is_order_received_page') && is_order_received_page()) {
10
+ global $wp;
11
+ $order_id = isset($wp->query_vars['order-received']) ? $wp->query_vars['order-received'] : 0;
12
+
13
+ if (0 < $order_id && 1 != get_post_meta($order_id, '_seopress_ga_tracked', true)) {
14
+ $order = wc_get_order($order_id);
15
+
16
+ //Check order status
17
+ if (method_exists($order, 'get_status') && ('processing' === $order->get_status()) || 'completed' === $order->get_status()) {
18
+ $items_purchased = [];
19
+ foreach ($order->get_items() as $item) {
20
+ // Get Product object
21
+ $_product = wc_get_product($item->get_product_id());
22
+
23
+ if ( ! is_a($_product, 'WC_Product')) {
24
+ continue;
25
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
+ // init vars
28
+ $item_id = $_product->get_id();
29
+ $variation_id = 0;
30
+ $variation_data = null;
31
+ $categories_js = null;
32
+ $categories_out = [];
33
+ $variant_js = null;
34
+
35
+ // Set data
36
+ $items_purchased['id'] = esc_js($item_id);
37
+ $items_purchased['name'] = esc_js($item->get_name());
38
+ $items_purchased['quantity'] = (float) esc_js($item->get_quantity());
39
+ $items_purchased['price'] = (float) esc_js($order->get_item_total($item));
40
+
41
+ // Categories and Variations
42
  $categories = get_the_terms($item_id, 'product_cat');
43
+ if ($item->get_variation_id()) {
44
+ $variation_id = $item->get_variation_id();
45
+ $variation_data = wc_get_product_variation_attributes($variation_id);
46
+ }
47
 
48
+ // Variations
49
+ if (is_array($variation_data) && ! empty($variation_data)) {
50
+ $variant_js = esc_js(wc_get_formatted_variation($variation_data, true));
51
+ $categories = get_the_terms($item_id, 'product_cat');
52
+ $item_id = $variation_id;
53
+
54
+ $items_purchased['variant'] = esc_js($variant_js);
55
+ }
56
+ // Categories
57
+ if ($categories) {
58
+ foreach ($categories as $category) {
59
+ $categories_out[] = $category->name;
60
+ }
61
+ $categories_js = esc_js(implode('/', $categories_out));
62
+
63
+ $items_purchased['category'] = esc_js($categories_js);
64
  }
 
65
 
66
+ $final[] = $items_purchased;
67
  }
68
 
69
+ $global_purchase = [
70
+ 'transaction_id' => esc_js($order_id),
71
+ 'affiliation' => esc_js(get_bloginfo('name')),
72
+ 'value' => (float) esc_js($order->get_total()),
73
+ 'currency' => esc_js($order->get_currency()),
74
+ 'tax' => (float) esc_js($order->get_total_tax()),
75
+ 'shipping' => (float) esc_js($order->get_shipping_total()),
76
+ 'items' => $final,
77
+ ];
78
+
79
+ $seopress_google_analytics_click_event['purchase_tracking'] = 'gtag(\'event\', \'purchase\',';
80
+ $seopress_google_analytics_click_event['purchase_tracking'] .= json_encode($global_purchase);
81
+ $seopress_google_analytics_click_event['purchase_tracking'] .= ');';
82
+ $seopress_google_analytics_click_event['purchase_tracking'] = apply_filters('seopress_gtag_ec_purchases_ev', $seopress_google_analytics_click_event['purchase_tracking']);
83
+
84
+ update_post_meta($order_id, '_seopress_ga_tracked', true);
85
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
86
  }
87
  }
88
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
89
 
90
+ // ADD TO CART
91
+ if (seopress_google_analytics_add_to_cart_option()) {
92
+ // Listing page
93
+ add_action('woocommerce_after_shop_loop_item', 'seopress_loop_add_to_cart');
94
+ function seopress_loop_add_to_cart() {
95
+ // Get current product
96
+ global $product;
97
 
98
+ // Set data
99
+ $items_purchased['id'] = esc_js($product->get_id());
100
+ $items_purchased['name'] = esc_js($product->get_title());
101
+ $items_purchased['list_name'] = esc_js(get_the_title());
102
+ $items_purchased['quantity'] = (float) esc_js(1);
103
+ $items_purchased['price'] = (float) esc_js($product->get_price());
104
 
105
+ // Extract categories
106
+ $categories = get_the_terms($product->get_id(), 'product_cat');
107
+ if ($categories) {
108
+ foreach ($categories as $category) {
109
+ $categories_out[] = $category->name;
110
+ }
111
+ $categories_js = esc_js(implode('/', $categories_out));
112
+ $items_purchased['category'] = esc_js($categories_js);
 
 
 
 
 
 
 
 
 
 
113
  }
 
 
 
114
 
115
+ // Echo JS
116
+ $js = "<script>
117
+ jQuery('.ajax_add_to_cart').unbind().click( function(){
118
+ gtag('event', 'add_to_cart', {'items': [ " . json_encode($items_purchased) . ' ]});
119
+ });
120
+ </script>';
121
 
122
+ $js = apply_filters('seopress_gtag_ec_add_to_cart_archive_ev', $js);
123
 
124
+ echo $js;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
125
  }
126
 
127
+ // Single
128
+ add_action('woocommerce_after_add_to_cart_button', 'seopress_single_add_to_cart');
129
+ function seopress_single_add_to_cart() {
130
+ // Get current product
131
+ global $product;
132
+
133
  // Set data
134
  $items_purchased['id'] = esc_js($product->get_id());
135
  $items_purchased['name'] = esc_js($product->get_title());
136
  $items_purchased['list_name'] = esc_js(get_the_title());
137
+ $items_purchased['quantity'] = "$( 'input.qty' ).val() ? $( 'input.qty' ).val() : '1'";
138
  $items_purchased['price'] = (float) esc_js($product->get_price());
139
 
140
  // Extract categories
141
  $categories = get_the_terms($product->get_id(), 'product_cat');
142
  if ($categories) {
143
  foreach ($categories as $category) {
144
+ $categories_out[] = $category->name;
 
 
 
 
145
  }
146
  $categories_js = esc_js(implode('/', $categories_out));
147
  $items_purchased['category'] = esc_js($categories_js);
148
  }
149
 
150
+ // Echo JS
151
+ $js = "<script>jQuery('.single_add_to_cart_button').click( function(){
152
+ gtag('event', 'add_to_cart', {'items': [ " . json_encode($items_purchased) . ' ]});
153
+ });</script>';
 
154
 
155
+ $js = apply_filters('seopress_gtag_ec_add_to_cart_single_ev', $js);
156
 
157
+ echo $js;
158
+ }
159
  }
 
160
 
161
+ // REMOVE FROM CART
162
+ if (seopress_google_analytics_remove_from_cart_option()) {
163
+ // Cart page
164
+ add_filter('woocommerce_cart_item_remove_link', 'seopress_cart_remove_from_cart', 10, 2);
165
+ function seopress_cart_remove_from_cart($sprintf, $cart_item_key) {
166
+ // Extract cart and get current product data
167
+ global $woocommerce;
168
+ foreach ($woocommerce->cart->get_cart() as $key => $item) {
169
+ if ($key == $cart_item_key) {
170
+ $product = wc_get_product($item['product_id']);
171
+ $items_purchased['quantity'] = (float) $item['quantity'];
172
+ }
173
+ }
174
+
175
  // Get current product
176
  if ($product) {
177
  // Set data
178
  $items_purchased['id'] = esc_js($product->get_id());
179
  $items_purchased['name'] = esc_js($product->get_title());
180
  $items_purchased['list_name'] = esc_js(get_the_title());
 
181
  $items_purchased['price'] = (float) esc_js($product->get_price());
182
 
183
  // Extract categories
184
  $categories = get_the_terms($product->get_id(), 'product_cat');
185
  if ($categories) {
186
  foreach ($categories as $category) {
187
+ if (is_object($category) && property_exists($category, 'name')) {
188
+ $categories_out[] = $category->name;
189
+ } elseif (is_array($category) && isset($category['name'])) {
190
+ $categories_out[] = $category['name'];
191
+ }
192
  }
193
  $categories_js = esc_js(implode('/', $categories_out));
194
  $items_purchased['category'] = esc_js($categories_js);
195
  }
196
+
197
+ // Return JS
198
+ $sprintf .= "<script>jQuery('.product-remove .remove').unbind().click( function(){
199
+ gtag('event', 'remove_from_cart', {'items': [ " . json_encode($items_purchased) . ' ]});
200
+ });</script>';
201
  }
202
 
203
+ $sprintf = apply_filters('seopress_gtag_ec_remove_from_cart_ev', $sprintf);
204
+
205
+ return $sprintf;
206
  }
207
+ }
208
+
209
+ // UPDATE CART (cart / checkout pages)
210
+ if (seopress_google_analytics_add_to_cart_option() && seopress_google_analytics_remove_from_cart_option()) {
211
+ // Before update
212
+ add_action('woocommerce_cart_actions', 'seopress_before_update_cart');
213
+ function seopress_before_update_cart() {
214
+ // Extract cart
215
+ global $woocommerce;
216
+ foreach ($woocommerce->cart->get_cart() as $key => $item) {
217
+ $product = wc_get_product($item['product_id']);
218
+ // Get current product
219
+ if ($product) {
220
+ // Set data
221
+ $items_purchased['id'] = esc_js($product->get_id());
222
+ $items_purchased['name'] = esc_js($product->get_title());
223
+ $items_purchased['list_name'] = esc_js(get_the_title());
224
+ $items_purchased['quantity'] = (float) esc_js($item['quantity']);
225
+ $items_purchased['price'] = (float) esc_js($product->get_price());
226
+
227
+ // Extract categories
228
+ $categories = get_the_terms($product->get_id(), 'product_cat');
229
+ if ($categories) {
230
+ foreach ($categories as $category) {
231
+ $categories_out[] = $category->name;
232
+ }
233
+ $categories_js = esc_js(implode('/', $categories_out));
234
+ $items_purchased['category'] = esc_js($categories_js);
235
+ }
236
+ }
237
 
238
+ $final[] = $items_purchased;
239
+ }
240
+
241
+ // Return JS
242
+ $js = "<script>jQuery('.actions .button').unbind().click( function(){
243
+ gtag('event', 'remove_from_cart', {'items': " . json_encode($final) . '});
244
+ });</script>';
245
 
246
+ $js = apply_filters('seopress_gtag_ec_remove_from_cart_checkout_ev', $js);
247
 
248
+ echo $js;
249
+ }
250
  }
251
  }
252
  }
inc/functions/options-import-export.php CHANGED
@@ -1,799 +1,801 @@
1
  <?php
2
- defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thanks :)' );
 
3
 
4
  ///////////////////////////////////////////////////////////////////////////////////////////////////
5
  //Import / Exports settings page
6
  ///////////////////////////////////////////////////////////////////////////////////////////////////
7
  //Export SEOPress Settings to JSON
8
  function seopress_export_settings() {
9
- if( empty( $_POST['seopress_action'] ) || 'export_settings' != $_POST['seopress_action'] ) {
10
- return;
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' );
22
- $settings["seopress_google_analytics_option_name"] = get_option( 'seopress_google_analytics_option_name' );
23
- $settings["seopress_advanced_option_name"] = get_option( 'seopress_advanced_option_name' );
24
- $settings["seopress_xml_sitemap_option_name"] = get_option( 'seopress_xml_sitemap_option_name' );
25
- $settings["seopress_pro_option_name"] = get_option( 'seopress_pro_option_name' );
26
- $settings["seopress_pro_mu_option_name"] = get_option( 'seopress_pro_mu_option_name' );
27
- $settings["seopress_pro_license_key"] = get_option( 'seopress_pro_license_key' );
28
- $settings["seopress_pro_license_status"] = get_option( 'seopress_pro_license_status' );
29
- $settings["seopress_bot_option_name"] = get_option( 'seopress_bot_option_name' );
30
- $settings["seopress_toggle"] = get_option( 'seopress_toggle' );
31
- $settings["seopress_google_analytics_lock_option_name"] = get_option( 'seopress_google_analytics_lock_option_name' );
32
-
33
- ignore_user_abort( true );
34
- nocache_headers();
35
- header( 'Content-Type: application/json; charset=utf-8' );
36
- header( 'Content-Disposition: attachment; filename=seopress-settings-export-' . date( 'm-d-Y' ) . '.json' );
37
- header( "Expires: 0" );
38
- echo json_encode( $settings );
39
- exit;
40
  }
41
- add_action( 'admin_init', 'seopress_export_settings' );
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', 'wp-seopress' ) );
59
- }
60
- $import_file = $_FILES['import_file']['tmp_name'];
61
-
62
- if( empty( $import_file ) ) {
63
- wp_die( __( 'Please upload a file to import', 'wp-seopress' ) );
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', 'wp-seopress' ) );
129
- }
130
- $import_file = $_FILES['import_file']['tmp_name'];
131
- if( empty( $import_file ) ) {
132
- wp_die( __( 'Please upload a file to import', 'wp-seopress' ) );
133
- }
134
-
135
- if ( !$_POST['import_sep'] ) {
136
- wp_die( __( 'Please choose a separator', 'wp-seopress' ) );
137
- }
138
-
139
- $csv = array_map( function( $v ) {
140
- if ($_POST['import_sep'] =='comma') {
141
- $sep = ",";
142
- } elseif ($_POST['import_sep'] =='semicolon') {
143
- $sep = ";";
144
- } else {
145
- wp_die( __( 'Invalid separator' ) );
146
- }
147
-
148
- return str_getcsv( $v, $sep, '\"' );
149
- }, file( $import_file,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES ) );
150
-
151
- //Remove duplicates from CSV
152
- $csv = array_unique($csv, SORT_REGULAR);
153
-
154
- foreach ($csv as $key => $value) {
155
- $csv_line = $value;
156
-
157
- //Third column: redirections type
158
- if ($csv_line[2] =='301' || $csv_line[2] =='302' || $csv_line[2]=='307' || $csv_line[2]=='410' || $csv_line[2]=='451') {
159
- $csv_type_redirects[2] = $csv_line[2];
160
- }
161
-
162
- //Fourth column: redirections enabled
163
- $csv_line[3] = strtolower($csv_line[3]);
164
- if ($csv_line[3] =='yes') {
165
- $csv_type_redirects[3] = $csv_line[3];
166
- } else {
167
- $csv_type_redirects[3] = '';
168
- }
169
-
170
- //Fifth column: redirections query param
171
- if (!empty($csv_line[4])) {
172
- if ($csv_line[4] =='exact_match' || $csv_line[4] =='with_ignored_param' || $csv_line[4] =='without_param') {
173
- $csv_type_redirects[4] = $csv_line[4];
174
- } else {
175
- $csv_type_redirects[4] = 'exact_match';
176
- }
177
- }
178
-
179
- //Seventh column: redirect categories
180
- if (!empty($csv_line[6])) {
181
- $cats = array_values(explode(',',$csv_line[6]));
182
- $cats = array_map( 'intval', $cats );
183
- $cats = array_unique( $cats );
184
- }
185
-
186
- if (!empty($csv_line[0])) {
187
- $count = NULL;
188
- if (!empty($csv_line[5])) {
189
- $count = $csv_line[5];
190
- }
191
- $id = wp_insert_post([
192
- 'post_title' => rawurldecode($csv_line[0]),
193
- 'post_type' => 'seopress_404',
194
- 'post_status' => 'publish',
195
- 'meta_input' => [
196
- '_seopress_redirections_value' => rawurldecode($csv_line[1]),
197
- '_seopress_redirections_type' => $csv_type_redirects[2],
198
- '_seopress_redirections_enabled' => $csv_type_redirects[3],
199
- '_seopress_redirections_param' => $csv_type_redirects[4],
200
- 'seopress_404_count' => $count
201
- ],
202
- ]
203
- );
204
-
205
- //Assign terms
206
- if (!empty($csv_line[6])) {
207
- wp_set_object_terms( $id, $cats, 'seopress_404_cat' );
208
- }
209
- }
210
- }
211
-
212
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
213
- exit;
214
  }
215
- add_action( 'admin_init', 'seopress_import_redirections_settings' );
216
 
217
  //Import Redirections from Yoast Premium (CSV)
218
  function seopress_import_yoast_redirections() {
219
- if( empty( $_POST['seopress_action'] ) || 'import_yoast_redirections' != $_POST['seopress_action'] ) {
220
- return;
221
- }
222
- if( ! wp_verify_nonce( $_POST['seopress_import_yoast_redirections_nonce'], 'seopress_import_yoast_redirections_nonce' ) ) {
223
- return;
224
- }
225
- if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) {
226
- return;
227
- }
228
-
229
- $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
230
-
231
- if( $extension != 'csv' ) {
232
- wp_die( __( 'Please upload a valid .csv file' ) );
233
- }
234
- $import_file = $_FILES['import_file']['tmp_name'];
235
- if( empty( $import_file ) ) {
236
- wp_die( __( 'Please upload a file to import' ) );
237
- }
238
-
239
- $csv = array_map('str_getcsv', file($import_file));
240
-
241
- foreach (array_slice($csv,1) as $_key => $_value) {
242
- $csv_line = $_value;
243
-
244
- //Third column: redirections type
245
- if ($csv_line[2] =='301' || $csv_line[2] =='302' || $csv_line[2]=='307' || $csv_line[2]=='410' || $csv_line[2]=='451') {
246
- $csv_type_redirects[2] = $csv_line[2];
247
- }
248
-
249
- //Fourth column: redirections enabled
250
- $csv_type_redirects[3] = 'yes';
251
-
252
- //Fifth column: redirections query param
253
- $csv_type_redirects[4] = 'exact_match';
254
-
255
- if (!empty($csv_line[0])) {
256
- $csv_line[0] = substr($csv_line[0], 1);
257
- if (!empty($csv_line[1])) {
258
- if ($csv_line[1] ==='//') {
259
- $csv_line[1] = '/';
260
- } else {
261
- $csv_line[1] = home_url().$csv_line[1];
262
- }
263
- }
264
- $id = wp_insert_post([
265
- 'post_title' => urldecode($csv_line[0]),
266
- 'post_type' => 'seopress_404',
267
- 'post_status' => 'publish',
268
- 'meta_input' => [
269
- '_seopress_redirections_value' => urldecode($csv_line[1]),
270
- '_seopress_redirections_type' => $csv_type_redirects[2],
271
- '_seopress_redirections_enabled' => $csv_type_redirects[3],
272
- '_seopress_redirections_param' => $csv_type_redirects[4]
273
- ]
274
- ]);
275
- }
276
- }
277
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
278
- exit;
279
  }
280
- add_action( 'admin_init', 'seopress_import_yoast_redirections' );
281
 
282
  //Export Redirections to CSV file
283
  function seopress_export_redirections_settings() {
284
- if( empty( $_POST['seopress_action'] ) || 'export_redirections' != $_POST['seopress_action'] ) {
285
- return;
286
- }
287
- if( ! wp_verify_nonce( $_POST['seopress_export_redirections_nonce'], 'seopress_export_redirections_nonce' ) ) {
288
- return;
289
- }
290
- if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
291
- return;
292
- }
293
-
294
- //Init
295
- $redirects_html = '';
296
-
297
- $args = [
298
- 'post_type' => 'seopress_404',
299
- 'posts_per_page' => '-1',
300
- 'meta_query' => [
301
- [
302
- 'key' => '_seopress_redirections_type',
303
- 'value' => ['301','302','307','410','451'],
304
- 'compare' => 'IN',
305
- ],
306
- ],
307
- ];
308
- $seopress_redirects_query = new WP_Query( $args );
309
-
310
- if ( $seopress_redirects_query->have_posts() ) {
311
- while ( $seopress_redirects_query->have_posts() ) {
312
- $seopress_redirects_query->the_post();
313
-
314
- $redirect_categories = get_the_terms( get_the_ID(), 'seopress_404_cat' );
315
- $redirect_categories = '"'.join(', ', wp_list_pluck($redirect_categories, 'term_id')).'"';
316
-
317
-
318
- $redirects_html .= '"'.urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title())))).'"';
319
- $redirects_html .= ';';
320
- $redirects_html .= '"'.urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(),'_seopress_redirections_value',true))))).'"';
321
- $redirects_html .= ';';
322
- $redirects_html .= get_post_meta(get_the_ID(),'_seopress_redirections_type',true);
323
- $redirects_html .= ';';
324
- $redirects_html .= get_post_meta(get_the_ID(),'_seopress_redirections_enabled',true);
325
- $redirects_html .= ';';
326
- $redirects_html .= get_post_meta(get_the_ID(),'_seopress_redirections_param',true);
327
- $redirects_html .= ';';
328
- $redirects_html .= get_post_meta(get_the_ID(),'seopress_404_count',true);
329
- $redirects_html .= ";";
330
- $redirects_html .= $redirect_categories;
331
- $redirects_html .= "\n";
332
- }
333
- wp_reset_postdata();
334
- }
335
-
336
- ignore_user_abort( true );
337
- nocache_headers();
338
- header( 'Content-Type: application/csv; charset=utf-8' );
339
- header( 'Content-Disposition: attachment; filename=seopress-redirections-export-' . date( 'm-d-Y' ) . '.csv' );
340
- header( "Expires: 0" );
341
- echo $redirects_html;
342
- exit;
343
  }
344
- add_action( 'admin_init', 'seopress_export_redirections_settings' );
345
 
346
  //Export Redirections to txt file for .htaccess
347
  function seopress_export_redirections_htaccess_settings() {
348
- if( empty( $_POST['seopress_action'] ) || 'export_redirections_htaccess' != $_POST['seopress_action'] ) {
349
- return;
350
- }
351
- if( ! wp_verify_nonce( $_POST['seopress_export_redirections_htaccess_nonce'], 'seopress_export_redirections_htaccess_nonce' ) ) {
352
- return;
353
- }
354
- if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
355
- return;
356
- }
357
-
358
- //Init
359
- $redirects_html = '';
360
-
361
- $args = [
362
- 'post_type' => 'seopress_404',
363
- 'posts_per_page' => '-1',
364
- 'meta_query' => [
365
- [
366
- 'key' => '_seopress_redirections_type',
367
- 'value' => ['301','302','307','410','451'],
368
- 'compare' => 'IN',
369
- ],
370
- [
371
- 'key' => '_seopress_redirections_enabled',
372
- 'value' => 'yes',
373
- ],
374
- ],
375
- ];
376
- $seopress_redirects_query = new WP_Query( $args );
377
-
378
- if ( $seopress_redirects_query->have_posts() ) {
379
- while ( $seopress_redirects_query->have_posts() ) {
380
- $seopress_redirects_query->the_post();
381
-
382
- switch( get_post_meta(get_the_ID(),'_seopress_redirections_type',true) ) {
383
- case '301' :
384
- $type = 'redirect 301 ';
385
- break;
386
- case '302' :
387
- $type = 'redirect 302 ';
388
- break;
389
- case '307' :
390
- $type = 'redirect 307 ';
391
- break;
392
- case '410' :
393
- $type = 'redirect 410 ';
394
- break;
395
- case '451' :
396
- $type = 'redirect 451 ';
397
- break;
398
- }
399
-
400
- $redirects_html .= $type . ' /' . untrailingslashit( urldecode( urlencode( esc_attr( wp_filter_nohtml_kses( get_the_title() ) ) ) ) ) . ' ';
401
- $redirects_html .= urldecode( urlencode( esc_attr( wp_filter_nohtml_kses( get_post_meta( get_the_ID(),'_seopress_redirections_value',true ) ) ) ) );
402
- $redirects_html .= "\n";
403
- }
404
- wp_reset_postdata();
405
- }
406
-
407
- ignore_user_abort( true );
408
- echo $redirects_html;
409
- nocache_headers();
410
- header( 'Content-Type: text/plain; charset=utf-8' );
411
- header( 'Content-Disposition: attachment; filename=seopress-redirections-htaccess-export-' . date( 'm-d-Y' ) . '.txt' );
412
- header( "Expires: 0" );
413
- exit;
414
  }
415
- add_action( 'admin_init', 'seopress_export_redirections_htaccess_settings' );
416
 
417
  //Import Redirections from Redirections plugin JSON file
418
  function seopress_import_redirections_plugin_settings() {
419
- if( empty( $_POST['seopress_action'] ) || 'import_redirections_plugin_settings' != $_POST['seopress_action'] ) {
420
- return;
421
- }
422
- if( ! wp_verify_nonce( $_POST['seopress_import_redirections_plugin_nonce'], 'seopress_import_redirections_plugin_nonce' ) ) {
423
- return;
424
- }
425
- if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) ) {
426
- return;
427
- }
428
-
429
- $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
430
-
431
- if( $extension != 'json' ) {
432
- wp_die( __( 'Please upload a valid .json file' ) );
433
- }
434
- $import_file = $_FILES['import_file']['tmp_name'];
435
- if( empty( $import_file ) ) {
436
- wp_die( __( 'Please upload a file to import' ) );
437
- }
438
-
439
- $settings = (array) json_decode( file_get_contents( $import_file ), true );
440
-
441
- foreach ($settings['redirects'] as $redirect_key => $redirect_value) {
442
- $type = '';
443
- if (!empty($redirect_value['action_code'])) {
444
- $type = $redirect_value['action_code'];
445
- } else {
446
- $type = '301';
447
- }
448
-
449
- $param = '';
450
- if (!empty($redirect_value['match_data']['source']['flag_query'])) {
451
- $flag_query = $redirect_value['match_data']['source']['flag_query'];
452
- if ($flag_query =='pass') {
453
- $param = 'with_ignored_param';
454
- } elseif ($flag_query =='ignore') {
455
- $param = 'without_param';
456
- } else {
457
- $param = 'exact_match';
458
- }
459
- }
460
-
461
- $enabled ='';
462
- if (!empty($redirect_value['enabled'] ==true)) {
463
- $enabled ='yes';
464
- }
465
-
466
- wp_insert_post([
467
- 'post_title' => ltrim(urldecode($redirect_value['url']), '/'),
468
- 'post_type' => 'seopress_404',
469
- 'post_status' => 'publish',
470
- 'meta_input' => [
471
- '_seopress_redirections_value' => urldecode($redirect_value['action_data']['url']),
472
- '_seopress_redirections_type' => $type,
473
- '_seopress_redirections_enabled' => $enabled,
474
- '_seopress_redirections_param' => $param
475
- ]
476
- ]);
477
- }
478
-
479
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
480
- exit;
481
  }
482
- add_action( 'admin_init', 'seopress_import_redirections_plugin_settings' );
483
 
484
  //Import Redirections from Rank Math plugin TXT file
485
  //@since 3.8.2
486
  //@author Benjamin Denis
487
  function seopress_import_rk_redirections() {
488
- if( empty( $_POST['seopress_action'] ) || 'import_rk_redirections' != $_POST['seopress_action'] )
489
- return;
490
- if( ! wp_verify_nonce( $_POST['seopress_import_rk_redirections_nonce'], 'seopress_import_rk_redirections_nonce' ) )
491
- return;
492
- if( ! current_user_can( seopress_capability( 'manage_options', 'import_settings' ) ) )
493
- return;
494
-
495
- $extension = pathinfo( $_FILES['import_file']['name'], PATHINFO_EXTENSION );
496
-
497
- if( $extension != 'txt' ) {
498
- wp_die( __( 'Please upload a valid .txt file' ) );
499
- }
500
- $import_file = $_FILES['import_file']['tmp_name'];
501
- if( empty( $import_file ) ) {
502
- wp_die( __( 'Please upload a file to import' ) );
503
- }
504
-
505
- $settings = (array) json_decode( file_get_contents( $import_file ), true );
506
-
507
- foreach ($settings['redirections'] as $redirect_key => $redirect_value) {
508
- $type = '';
509
- if (!empty($redirect_value['header_code'])) {
510
- $type = $redirect_value['header_code'];
511
- }
512
-
513
- $source = '';
514
- if (!empty($redirect_value['sources'])) {
515
- $source = maybe_unserialize($redirect_value['sources']);
516
- $source = ltrim(urldecode($source[0]['pattern']), '/');
517
- }
518
-
519
- $param = 'exact_match';
520
-
521
- $enabled ='';
522
- if (!empty($redirect_value['status'] =="active")) {
523
- $enabled ='yes';
524
- }
525
-
526
- $redirect ='';
527
- if (!empty($redirect_value['url_to'])) {
528
- $redirect = urldecode($redirect_value['url_to']);
529
- }
530
-
531
- $count ='';
532
- if (!empty($redirect_value['hits'])) {
533
- $count = $redirect_value['hits'];
534
- }
535
-
536
- wp_insert_post(
537
- [
538
- 'post_title' => $source,
539
- 'post_type' => 'seopress_404',
540
- 'post_status' => 'publish',
541
- 'meta_input' => [
542
- '_seopress_redirections_value' => $redirect,
543
- '_seopress_redirections_type' => $type,
544
- '_seopress_redirections_enabled' => $enabled,
545
- 'seopress_404_count' => $count,
546
- '_seopress_redirections_param' => $param
547
- ]
548
- ]
549
- );
550
- }
551
-
552
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
 
 
 
 
553
  }
554
- add_action( 'admin_init', 'seopress_import_rk_redirections' );
555
 
556
  //Clean all 404
557
  function seopress_clean_404_query_hook($args) {
558
- unset($args['date_query']);
559
- return $args;
560
- }
561
 
 
 
562
 
563
  function seopress_clean_404() {
564
- if( empty( $_POST['seopress_action'] ) || 'clean_404' != $_POST['seopress_action'] ) {
565
- return;
566
- }
567
- if( ! wp_verify_nonce( $_POST['seopress_clean_404_nonce'], 'seopress_clean_404_nonce' ) ) {
568
- return;
569
- }
570
- if( ! current_user_can( seopress_capability( 'manage_options', '404' ) ) ) {
571
- return;
572
- }
573
-
574
- add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
575
- do_action('seopress_404_cron_cleaning', true);
576
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
577
- exit;
578
  }
579
- add_action( 'admin_init', 'seopress_clean_404' );
580
 
581
  //Clean all (redirects / 404 errors)
582
  function seopress_clean_all() {
583
- if( empty( $_POST['seopress_action'] ) || 'clean_all' != $_POST['seopress_action'] ) {
584
- return;
585
- }
586
- if( ! wp_verify_nonce( $_POST['seopress_clean_all_nonce'], 'seopress_clean_all_nonce' ) ) {
587
- return;
588
- }
589
- if( ! current_user_can( seopress_capability( 'manage_options', '404' ) ) ) {
590
- return;
591
- }
592
-
593
- global $wpdb;
594
-
595
- //SQL query
596
- $sql = 'DELETE `posts`, `pm`
597
  FROM `' . $wpdb->prefix . 'posts` AS `posts`
598
  LEFT JOIN `' . $wpdb->prefix . 'postmeta` AS `pm` ON `pm`.`post_id` = `posts`.`ID`
599
  WHERE `posts`.`post_type` = \'seopress_404\'';
600
 
601
- $sql = $wpdb->prepare($sql);
602
 
603
- $wpdb->query($sql);
604
 
605
- wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) );
606
- exit;
607
  }
608
- add_action( 'admin_init', 'seopress_clean_all' );
609
 
610
  //Reset SEOPress Notices Settings
611
  function seopress_reset_notices_settings() {
612
- if( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' != $_POST['seopress_action'] ) {
613
- return;
614
- }
615
- if( ! wp_verify_nonce( $_POST['seopress_reset_notices_nonce'], 'seopress_reset_notices_nonce' ) ) {
616
- return;
617
- }
618
- if( ! current_user_can( seopress_capability( 'manage_options', 'reset_settings' ) ) ) {
619
- return;
620
- }
621
-
622
- global $wpdb;
623
-
624
- $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_notices' ");
625
-
626
- wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) );
627
- exit;
628
  }
629
- add_action( 'admin_init', 'seopress_reset_notices_settings' );
630
 
631
  //Reset SEOPress Settings
632
  function seopress_reset_settings() {
633
- if( empty( $_POST['seopress_action'] ) || 'reset_settings' != $_POST['seopress_action'] ) {
634
- return;
635
- }
636
- if( ! wp_verify_nonce( $_POST['seopress_reset_nonce'], 'seopress_reset_nonce' ) ) {
637
- return;
638
- }
639
- if( ! current_user_can( seopress_capability( 'manage_options', 'reset_settings' ) ) ) {
640
- return;
641
- }
642
-
643
- global $wpdb;
644
-
645
- $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_%' ");
646
-
647
- wp_safe_redirect( admin_url( 'admin.php?page=seopress-import-export' ) );
648
- exit;
649
  }
650
- add_action( 'admin_init', 'seopress_reset_settings' );
651
 
652
  //Export SEOPress BOT Links to CSV
653
  function seopress_bot_links_export_settings() {
654
- if( empty( $_POST['seopress_action'] ) || 'export_csv_links_settings' != $_POST['seopress_action'] ) {
655
- return;
656
- }
657
- if( ! wp_verify_nonce( $_POST['seopress_export_csv_links_nonce'], 'seopress_export_csv_links_nonce' ) ) {
658
- return;
659
- }
660
- if( ! current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) ) {
661
- return;
662
- }
663
- $args = [
664
- 'post_type' => 'seopress_bot',
665
- 'posts_per_page' => 1000,
666
- 'post_status' => 'publish',
667
- 'order' => 'DESC',
668
- 'orderby' => 'date',
669
- ];
670
- $the_query = new WP_Query( $args );
671
-
672
- $settings["URL"] = [];
673
- $settings["Source"] = [];
674
- $settings["Source_Url"] = [];
675
- $settings["Status"] = [];
676
- $settings["Type"] = [];
677
-
678
- $csv_fields = [];
679
- $csv_fields[] = 'URL';
680
- $csv_fields[] = 'Source';
681
- $csv_fields[] = 'Source URL';
682
- $csv_fields[] = 'Status';
683
- $csv_fields[] = 'Type';
684
-
685
- $output_handle = @fopen( 'php://output', 'w' );
686
-
687
- //Insert header row
688
- fputcsv( $output_handle, $csv_fields );
689
-
690
- //Header
691
- ignore_user_abort( true );
692
- nocache_headers();
693
- header( 'Content-Type: text/csv; charset=utf-8' );
694
- header( 'Content-Disposition: attachment; filename=seopress-links-export-' . date( 'm-d-Y' ) . '.csv' );
695
- header( 'Expires: 0' );
696
- header( 'Pragma: public' );
697
-
698
- // The Loop
699
- if ( $the_query->have_posts() ) {
700
- while ( $the_query->have_posts() ) {
701
- $the_query->the_post();
702
-
703
- array_push($settings["URL"], get_the_title());
704
-
705
- array_push($settings["Source"], get_post_meta( get_the_ID(), 'seopress_bot_source_title', true ));
706
-
707
- array_push($settings["Source_Url"], get_post_meta( get_the_ID(), 'seopress_bot_source_url', true ));
708
-
709
- array_push($settings["Status"], get_post_meta( get_the_ID(), 'seopress_bot_status', true ));
710
-
711
- array_push($settings["Type"], get_post_meta( get_the_ID(), 'seopress_bot_type', true ));
712
-
713
- fputcsv( $output_handle, array_merge($settings["URL"], $settings["Source"], $settings["Source_Url"], $settings["Status"], $settings["Type"]));
714
-
715
- //Clean arrays
716
- $settings["URL"] = [];
717
- $settings["Source"] = [];
718
- $settings["Source_Url"] = [];
719
- $settings["Status"] = [];
720
- $settings["Type"] = [];
721
-
722
- }
723
- wp_reset_postdata();
724
- }
725
-
726
- // Close output file stream
727
- fclose( $output_handle );
728
-
729
- exit;
730
  }
731
- add_action( 'admin_init', 'seopress_bot_links_export_settings' );
732
 
733
  //Export metadata
734
  function seopress_download_batch_export() {
735
- if( empty( $_GET['seopress_action'] ) || 'seopress_download_batch_export' != $_GET['seopress_action'] ) {
736
- return;
737
- }
738
- if( ! wp_verify_nonce( $_GET['nonce'], 'seopress_csv_batch_export_nonce' ) ) {
739
- return;
740
- }
741
- if ( current_user_can( seopress_capability( 'manage_options', 'export_settings' ) ) && is_admin() ) {
742
-
743
- if (get_option('seopress_metadata_csv') !='') {
744
- $csv = get_option('seopress_metadata_csv');
745
-
746
- $csv_fields = [];
747
- $csv_fields[] = 'id';
748
- $csv_fields[] = 'post_title';
749
- $csv_fields[] = 'url';
750
- $csv_fields[] = 'meta_title';
751
- $csv_fields[] = 'meta_desc';
752
- $csv_fields[] = 'fb_title';
753
- $csv_fields[] = 'fb_desc';
754
- $csv_fields[] = 'fb_img';
755
- $csv_fields[] = 'tw_title';
756
- $csv_fields[] = 'tw_desc';
757
- $csv_fields[] = 'tw_img';
758
- $csv_fields[] = 'noindex';
759
- $csv_fields[] = 'nofollow';
760
- $csv_fields[] = 'noodp';
761
- $csv_fields[] = 'noimageindex';
762
- $csv_fields[] = 'noarchive';
763
- $csv_fields[] = 'nosnippet';
764
- $csv_fields[] = 'canonical_url';
765
- $csv_fields[] = 'primary_cat';
766
- $csv_fields[] = 'redirect_active';
767
- $csv_fields[] = 'redirect_type';
768
- $csv_fields[] = 'redirect_url';
769
- $csv_fields[] = 'target_kw';
770
- ob_start();
771
- $output_handle = @fopen( 'php://output', 'w' );
772
-
773
- //Insert header row
774
- fputcsv( $output_handle, $csv_fields, ';' );
775
-
776
- //Header
777
- ignore_user_abort( true );
778
- nocache_headers();
779
- header( 'Content-Type: text/csv; charset=utf-8' );
780
- header( 'Content-Disposition: attachment; filename=seopress-metadata-export-' . date( 'm-d-Y' ) . '.csv' );
781
- header( 'Expires: 0' );
782
- header( 'Pragma: public' );
783
-
784
- if (!empty($csv)) {
785
- foreach($csv as $value) {
786
- fputcsv( $output_handle, $value, ';');
787
- }
788
- }
789
-
790
- // Close output file stream
791
- fclose( $output_handle );
792
-
793
- //Clean database
794
- delete_option('seopress_metadata_csv');
795
- exit;
796
- }
797
- }
798
  }
799
- add_action( 'admin_init', 'seopress_download_batch_export' );
1
  <?php
2
+
3
+ defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
  ///////////////////////////////////////////////////////////////////////////////////////////////////
6
  //Import / Exports settings page
7
  ///////////////////////////////////////////////////////////////////////////////////////////////////
8
  //Export SEOPress Settings to JSON
9
  function seopress_export_settings() {
10
+ if (empty($_POST['seopress_action']) || 'export_settings' != $_POST['seopress_action']) {
11
+ return;
12
+ }
13
+ if ( ! wp_verify_nonce($_POST['seopress_export_nonce'], 'seopress_export_nonce')) {
14
+ return;
15
+ }
16
+ if ( ! current_user_can(seopress_capability('manage_options', 'export_settings'))) {
17
+ return;
18
+ }
19
+
20
+ $settings['seopress_activated'] = get_option('seopress_activated');
21
+ $settings['seopress_titles_option_name'] = get_option('seopress_titles_option_name');
22
+ $settings['seopress_social_option_name'] = get_option('seopress_social_option_name');
23
+ $settings['seopress_google_analytics_option_name'] = get_option('seopress_google_analytics_option_name');
24
+ $settings['seopress_advanced_option_name'] = get_option('seopress_advanced_option_name');
25
+ $settings['seopress_xml_sitemap_option_name'] = get_option('seopress_xml_sitemap_option_name');
26
+ $settings['seopress_pro_option_name'] = get_option('seopress_pro_option_name');
27
+ $settings['seopress_pro_mu_option_name'] = get_option('seopress_pro_mu_option_name');
28
+ $settings['seopress_pro_license_key'] = get_option('seopress_pro_license_key');
29
+ $settings['seopress_pro_license_status'] = get_option('seopress_pro_license_status');
30
+ $settings['seopress_bot_option_name'] = get_option('seopress_bot_option_name');
31
+ $settings['seopress_toggle'] = get_option('seopress_toggle');
32
+ $settings['seopress_google_analytics_lock_option_name'] = get_option('seopress_google_analytics_lock_option_name');
33
+
34
+ ignore_user_abort(true);
35
+ nocache_headers();
36
+ header('Content-Type: application/json; charset=utf-8');
37
+ header('Content-Disposition: attachment; filename=seopress-settings-export-' . date('m-d-Y') . '.json');
38
+ header('Expires: 0');
39
+ echo json_encode($settings);
40
+ exit;
41
  }
42
+ add_action('admin_init', 'seopress_export_settings');
43
 
44
  //Import SEOPress Settings from JSON
45
  function seopress_import_settings() {
46
+ if (empty($_POST['seopress_action']) || 'import_settings' != $_POST['seopress_action']) {
47
+ return;
48
+ }
49
+ if ( ! wp_verify_nonce($_POST['seopress_import_nonce'], 'seopress_import_nonce')) {
50
+ return;
51
+ }
52
+ if ( ! current_user_can(seopress_capability('manage_options', 'import_settings'))) {
53
+ return;
54
+ }
55
+
56
+ $extension = pathinfo($_FILES['import_file']['name'], PATHINFO_EXTENSION);
57
+
58
+ if ('json' != $extension) {
59
+ wp_die(__('Please upload a valid .json file', 'wp-seopress'));
60
+ }
61
+ $import_file = $_FILES['import_file']['tmp_name'];
62
+
63
+ if (empty($import_file)) {
64
+ wp_die(__('Please upload a file to import', 'wp-seopress'));
65
+ }
66
+
67
+ $settings = (array) json_decode(seopress_remove_utf8_bom(file_get_contents($import_file)), true);
68
+
69
+ if (false !== $settings['seopress_activated']) {
70
+ update_option('seopress_activated', $settings['seopress_activated']);
71
+ }
72
+ if (false !== $settings['seopress_titles_option_name']) {
73
+ update_option('seopress_titles_option_name', $settings['seopress_titles_option_name']);
74
+ }
75
+ if (false !== $settings['seopress_social_option_name']) {
76
+ update_option('seopress_social_option_name', $settings['seopress_social_option_name']);
77
+ }
78
+ if (false !== $settings['seopress_google_analytics_option_name']) {
79
+ update_option('seopress_google_analytics_option_name', $settings['seopress_google_analytics_option_name']);
80
+ }
81
+ if (false !== $settings['seopress_advanced_option_name']) {
82
+ update_option('seopress_advanced_option_name', $settings['seopress_advanced_option_name']);
83
+ }
84
+ if (false !== $settings['seopress_xml_sitemap_option_name']) {
85
+ update_option('seopress_xml_sitemap_option_name', $settings['seopress_xml_sitemap_option_name']);
86
+ }
87
+ if (false !== $settings['seopress_pro_option_name']) {
88
+ update_option('seopress_pro_option_name', $settings['seopress_pro_option_name']);
89
+ }
90
+ if (false !== $settings['seopress_pro_mu_option_name']) {
91
+ update_option('seopress_pro_mu_option_name', $settings['seopress_pro_mu_option_name']);
92
+ }
93
+ if (false !== $settings['seopress_pro_license_key']) {
94
+ update_option('seopress_pro_license_key', $settings['seopress_pro_license_key']);
95
+ }
96
+ if (false !== $settings['seopress_pro_license_status']) {
97
+ update_option('seopress_pro_license_status', $settings['seopress_pro_license_status']);
98
+ }
99
+ if (false !== $settings['seopress_bot_option_name']) {
100
+ update_option('seopress_bot_option_name', $settings['seopress_bot_option_name']);
101
+ }
102
+ if (false !== $settings['seopress_toggle']) {
103
+ update_option('seopress_toggle', $settings['seopress_toggle']);
104
+ }
105
+ if (false !== $settings['seopress_google_analytics_lock_option_name']) {
106
+ update_option('seopress_google_analytics_lock_option_name', $settings['seopress_google_analytics_lock_option_name']);
107
+ }
108
+
109
+ wp_safe_redirect(admin_url('admin.php?page=seopress-import-export&success=true'));
110
+ exit;
111
  }
112
+ add_action('admin_init', 'seopress_import_settings');
113
 
114
  //Import Redirections from CSV
115
  function seopress_import_redirections_settings() {
116
+ if (empty($_POST['seopress_action']) || 'import_redirections_settings' != $_POST['seopress_action']) {
117
+ return;
118
+ }
119
+ if ( ! wp_verify_nonce($_POST['seopress_import_redirections_nonce'], 'seopress_import_redirections_nonce')) {
120
+ return;
121
+ }
122
+ if ( ! current_user_can(seopress_capability('manage_options', 'import_settings'))) {
123
+ return;
124
+ }
125
+
126
+ $extension = pathinfo($_FILES['import_file']['name'], PATHINFO_EXTENSION);
127
+
128
+ if ('csv' != $extension) {
129
+ wp_die(__('Please upload a valid .csv file', 'wp-seopress'));
130
+ }
131
+ $import_file = $_FILES['import_file']['tmp_name'];
132
+ if (empty($import_file)) {
133
+ wp_die(__('Please upload a file to import', 'wp-seopress'));
134
+ }
135
+
136
+ if ( ! $_POST['import_sep']) {
137
+ wp_die(__('Please choose a separator', 'wp-seopress'));
138
+ }
139
+
140
+ $csv = array_map(function ($v) {
141
+ if ('comma' == $_POST['import_sep']) {
142
+ $sep = ',';
143
+ } elseif ('semicolon' == $_POST['import_sep']) {
144
+ $sep = ';';
145
+ } else {
146
+ wp_die(__('Invalid separator'));
147
+ }
148
+
149
+ return str_getcsv($v, $sep, '\"');
150
+ }, file($import_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
151
+
152
+ //Remove duplicates from CSV
153
+ $csv = array_unique($csv, SORT_REGULAR);
154
+
155
+ foreach ($csv as $key => $value) {
156
+ $csv_line = $value;
157
+
158
+ //Third column: redirections type
159
+ if ('301' == $csv_line[2] || '302' == $csv_line[2] || '307' == $csv_line[2] || '410' == $csv_line[2] || '451' == $csv_line[2]) {
160
+ $csv_type_redirects[2] = $csv_line[2];
161
+ }
162
+
163
+ //Fourth column: redirections enabled
164
+ $csv_line[3] = strtolower($csv_line[3]);
165
+ if ('yes' == $csv_line[3]) {
166
+ $csv_type_redirects[3] = $csv_line[3];
167
+ } else {
168
+ $csv_type_redirects[3] = '';
169
+ }
170
+
171
+ //Fifth column: redirections query param
172
+ if ( ! empty($csv_line[4])) {
173
+ if ('exact_match' == $csv_line[4] || 'with_ignored_param' == $csv_line[4] || 'without_param' == $csv_line[4]) {
174
+ $csv_type_redirects[4] = $csv_line[4];
175
+ } else {
176
+ $csv_type_redirects[4] = 'exact_match';
177
+ }
178
+ }
179
+
180
+ //Seventh column: redirect categories
181
+ if ( ! empty($csv_line[6])) {
182
+ $cats = array_values(explode(',', $csv_line[6]));
183
+ $cats = array_map('intval', $cats);
184
+ $cats = array_unique($cats);
185
+ }
186
+
187
+ if ( ! empty($csv_line[0])) {
188
+ $count = null;
189
+ if ( ! empty($csv_line[5])) {
190
+ $count = $csv_line[5];
191
+ }
192
+ $id = wp_insert_post([
193
+ 'post_title' => rawurldecode($csv_line[0]),
194
+ 'post_type' => 'seopress_404',
195
+ 'post_status' => 'publish',
196
+ 'meta_input' => [
197
+ '_seopress_redirections_value' => rawurldecode($csv_line[1]),
198
+ '_seopress_redirections_type' => $csv_type_redirects[2],
199
+ '_seopress_redirections_enabled' => $csv_type_redirects[3],
200
+ '_seopress_redirections_param' => $csv_type_redirects[4],
201
+ 'seopress_404_count' => $count,
202
+ ],
203
+ ]
204
+ );
205
+
206
+ //Assign terms
207
+ if ( ! empty($csv_line[6])) {
208
+ wp_set_object_terms($id, $cats, 'seopress_404_cat');
209
+ }
210
+ }
211
+ }
212
+
213
+ wp_safe_redirect(admin_url('edit.php?post_type=seopress_404'));
214
+ exit;
215
  }
216
+ add_action('admin_init', 'seopress_import_redirections_settings');
217
 
218
  //Import Redirections from Yoast Premium (CSV)
219
  function seopress_import_yoast_redirections() {
220
+ if (empty($_POST['seopress_action']) || 'import_yoast_redirections' != $_POST['seopress_action']) {
221
+ return;
222
+ }
223
+ if ( ! wp_verify_nonce($_POST['seopress_import_yoast_redirections_nonce'], 'seopress_import_yoast_redirections_nonce')) {
224
+ return;
225
+ }
226
+ if ( ! current_user_can(seopress_capability('manage_options', 'import_settings'))) {
227
+ return;
228
+ }
229
+
230
+ $extension = pathinfo($_FILES['import_file']['name'], PATHINFO_EXTENSION);
231
+
232
+ if ('csv' != $extension) {
233
+ wp_die(__('Please upload a valid .csv file'));
234
+ }
235
+ $import_file = $_FILES['import_file']['tmp_name'];
236
+ if (empty($import_file)) {
237
+ wp_die(__('Please upload a file to import'));
238
+ }
239
+
240
+ $csv = array_map('str_getcsv', file($import_file));
241
+
242
+ foreach (array_slice($csv, 1) as $_key => $_value) {
243
+ $csv_line = $_value;
244
+
245
+ //Third column: redirections type
246
+ if ('301' == $csv_line[2] || '302' == $csv_line[2] || '307' == $csv_line[2] || '410' == $csv_line[2] || '451' == $csv_line[2]) {
247
+ $csv_type_redirects[2] = $csv_line[2];
248
+ }
249
+
250
+ //Fourth column: redirections enabled
251
+ $csv_type_redirects[3] = 'yes';
252
+
253
+ //Fifth column: redirections query param
254
+ $csv_type_redirects[4] = 'exact_match';
255
+
256
+ if ( ! empty($csv_line[0])) {
257
+ $csv_line[0] = substr($csv_line[0], 1);
258
+ if ( ! empty($csv_line[1])) {
259
+ if ('//' === $csv_line[1]) {
260
+ $csv_line[1] = '/';
261
+ } else {
262
+ $csv_line[1] = home_url() . $csv_line[1];
263
+ }
264
+ }
265
+ $id = wp_insert_post([
266
+ 'post_title' => urldecode($csv_line[0]),
267
+ 'post_type' => 'seopress_404',
268
+ 'post_status' => 'publish',
269
+ 'meta_input' => [
270
+ '_seopress_redirections_value' => urldecode($csv_line[1]),
271
+ '_seopress_redirections_type' => $csv_type_redirects[2],
272
+ '_seopress_redirections_enabled' => $csv_type_redirects[3],
273
+ '_seopress_redirections_param' => $csv_type_redirects[4],
274
+ ],
275
+ ]);
276
+ }
277
+ }
278
+ wp_safe_redirect(admin_url('edit.php?post_type=seopress_404'));
279
+ exit;
280
  }
281
+ add_action('admin_init', 'seopress_import_yoast_redirections');
282
 
283
  //Export Redirections to CSV file
284
  function seopress_export_redirections_settings() {
285
+ if (empty($_POST['seopress_action']) || 'export_redirections' != $_POST['seopress_action']) {
286
+ return;
287
+ }
288
+ if ( ! wp_verify_nonce($_POST['seopress_export_redirections_nonce'], 'seopress_export_redirections_nonce')) {
289
+ return;
290
+ }
291
+ if ( ! current_user_can(seopress_capability('manage_options', 'export_settings'))) {
292
+ return;
293
+ }
294
+
295
+ //Init
296
+ $redirects_html = '';
297
+
298
+ $args = [
299
+ 'post_type' => 'seopress_404',
300
+ 'posts_per_page' => '-1',
301
+ 'meta_query' => [
302
+ [
303
+ 'key' => '_seopress_redirections_type',
304
+ 'value' => ['301', '302', '307', '410', '451'],
305
+ 'compare' => 'IN',
306
+ ],
307
+ ],
308
+ ];
309
+ $seopress_redirects_query = new WP_Query($args);
310
+
311
+ if ($seopress_redirects_query->have_posts()) {
312
+ while ($seopress_redirects_query->have_posts()) {
313
+ $seopress_redirects_query->the_post();
314
+
315
+ $redirect_categories = get_the_terms(get_the_ID(), 'seopress_404_cat');
316
+ $redirect_categories = '"' . join(', ', wp_list_pluck($redirect_categories, 'term_id')) . '"';
317
+
318
+ $redirects_html .= '"' . urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title())))) . '"';
319
+ $redirects_html .= ';';
320
+ $redirects_html .= '"' . urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(), '_seopress_redirections_value', true))))) . '"';
321
+ $redirects_html .= ';';
322
+ $redirects_html .= get_post_meta(get_the_ID(), '_seopress_redirections_type', true);
323
+ $redirects_html .= ';';
324
+ $redirects_html .= get_post_meta(get_the_ID(), '_seopress_redirections_enabled', true);
325
+ $redirects_html .= ';';
326
+ $redirects_html .= get_post_meta(get_the_ID(), '_seopress_redirections_param', true);
327
+ $redirects_html .= ';';
328
+ $redirects_html .= get_post_meta(get_the_ID(), 'seopress_404_count', true);
329
+ $redirects_html .= ';';
330
+ $redirects_html .= $redirect_categories;
331
+ $redirects_html .= "\n";
332
+ }
333
+ wp_reset_postdata();
334
+ }
335
+
336
+ ignore_user_abort(true);
337
+ nocache_headers();
338
+ header('Content-Type: application/csv; charset=utf-8');
339
+ header('Content-Disposition: attachment; filename=seopress-redirections-export-' . date('m-d-Y') . '.csv');
340
+ header('Expires: 0');
341
+ echo $redirects_html;
342
+ exit;
 
343
  }
344
+ add_action('admin_init', 'seopress_export_redirections_settings');
345
 
346
  //Export Redirections to txt file for .htaccess
347
  function seopress_export_redirections_htaccess_settings() {
348
+ if (empty($_POST['seopress_action']) || 'export_redirections_htaccess' != $_POST['seopress_action']) {
349
+ return;
350
+ }
351
+ if ( ! wp_verify_nonce($_POST['seopress_export_redirections_htaccess_nonce'], 'seopress_export_redirections_htaccess_nonce')) {
352
+ return;
353
+ }
354
+ if ( ! current_user_can(seopress_capability('manage_options', 'export_settings'))) {
355
+ return;
356
+ }
357
+
358
+ //Init
359
+ $redirects_html = '';
360
+
361
+ $args = [
362
+ 'post_type' => 'seopress_404',
363
+ 'posts_per_page' => '-1',
364
+ 'meta_query' => [
365
+ [
366
+ 'key' => '_seopress_redirections_type',
367
+ 'value' => ['301', '302', '307', '410', '451'],
368
+ 'compare' => 'IN',
369
+ ],
370
+ [
371
+ 'key' => '_seopress_redirections_enabled',
372
+ 'value' => 'yes',
373
+ ],
374
+ ],
375
+ ];
376
+ $seopress_redirects_query = new WP_Query($args);
377
+
378
+ if ($seopress_redirects_query->have_posts()) {
379
+ while ($seopress_redirects_query->have_posts()) {
380
+ $seopress_redirects_query->the_post();
381
+
382
+ switch (get_post_meta(get_the_ID(), '_seopress_redirections_type', true)) {
383
+ case '301':
384
+ $type = 'redirect 301 ';
385
+ break;
386
+ case '302':
387
+ $type = 'redirect 302 ';
388
+ break;
389
+ case '307':
390
+ $type = 'redirect 307 ';
391
+ break;
392
+ case '410':
393
+ $type = 'redirect 410 ';
394
+ break;
395
+ case '451':
396
+ $type = 'redirect 451 ';
397
+ break;
398
+ }
399
+
400
+ $redirects_html .= $type . ' /' . untrailingslashit(urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title()))))) . ' ';
401
+ $redirects_html .= urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(), '_seopress_redirections_value', true)))));
402
+ $redirects_html .= "\n";
403
+ }
404
+ wp_reset_postdata();
405
+ }
406
+
407
+ ignore_user_abort(true);
408
+ echo $redirects_html;
409
+ nocache_headers();
410
+ header('Content-Type: text/plain; charset=utf-8');
411
+ header('Content-Disposition: attachment; filename=seopress-redirections-htaccess-export-' . date('m-d-Y') . '.txt');
412
+ header('Expires: 0');
413
+ exit;
414
  }
415
+ add_action('admin_init', 'seopress_export_redirections_htaccess_settings');
416
 
417
  //Import Redirections from Redirections plugin JSON file
418
  function seopress_import_redirections_plugin_settings() {
419
+ if (empty($_POST['seopress_action']) || 'import_redirections_plugin_settings' != $_POST['seopress_action']) {
420
+ return;
421
+ }
422
+ if ( ! wp_verify_nonce($_POST['seopress_import_redirections_plugin_nonce'], 'seopress_import_redirections_plugin_nonce')) {
423
+ return;
424
+ }
425
+ if ( ! current_user_can(seopress_capability('manage_options', 'import_settings'))) {
426
+ return;
427
+ }
428
+
429
+ $extension = pathinfo($_FILES['import_file']['name'], PATHINFO_EXTENSION);
430
+
431
+ if ('json' != $extension) {
432
+ wp_die(__('Please upload a valid .json file'));
433
+ }
434
+ $import_file = $_FILES['import_file']['tmp_name'];
435
+ if (empty($import_file)) {
436
+ wp_die(__('Please upload a file to import'));
437
+ }
438
+
439
+ $settings = (array) json_decode(file_get_contents($import_file), true);
440
+
441
+ foreach ($settings['redirects'] as $redirect_key => $redirect_value) {
442
+ $type = '';
443
+ if ( ! empty($redirect_value['action_code'])) {
444
+ $type = $redirect_value['action_code'];
445
+ } else {
446
+ $type = '301';
447
+ }
448
+
449
+ $param = '';
450
+ if ( ! empty($redirect_value['match_data']['source']['flag_query'])) {
451
+ $flag_query = $redirect_value['match_data']['source']['flag_query'];
452
+ if ('pass' == $flag_query) {
453
+ $param = 'with_ignored_param';
454
+ } elseif ('ignore' == $flag_query) {
455
+ $param = 'without_param';
456
+ } else {
457
+ $param = 'exact_match';
458
+ }
459
+ }
460
+
461
+ $enabled ='';
462
+ if ( ! empty(true == $redirect_value['enabled'])) {
463
+ $enabled ='yes';
464
+ }
465
+
466
+ wp_insert_post([
467
+ 'post_title' => ltrim(urldecode($redirect_value['url']), '/'),
468
+ 'post_type' => 'seopress_404',
469
+ 'post_status' => 'publish',
470
+ 'meta_input' => [
471
+ '_seopress_redirections_value' => urldecode($redirect_value['action_data']['url']),
472
+ '_seopress_redirections_type' => $type,
473
+ '_seopress_redirections_enabled' => $enabled,
474
+ '_seopress_redirections_param' => $param,
475
+ ],
476
+ ]);
477
+ }
478
+
479
+ wp_safe_redirect(admin_url('edit.php?post_type=seopress_404'));
480
+ exit;
481
  }
482
+ add_action('admin_init', 'seopress_import_redirections_plugin_settings');
483
 
484
  //Import Redirections from Rank Math plugin TXT file
485
  //@since 3.8.2
486
  //@author Benjamin Denis
487
  function seopress_import_rk_redirections() {
488
+ if (empty($_POST['seopress_action']) || 'import_rk_redirections' != $_POST['seopress_action']) {
489
+ return;
490
+ }
491
+ if ( ! wp_verify_nonce($_POST['seopress_import_rk_redirections_nonce'], 'seopress_import_rk_redirections_nonce')) {
492
+ return;
493
+ }
494
+ if ( ! current_user_can(seopress_capability('manage_options', 'import_settings'))) {
495
+ return;
496
+ }
497
+
498
+ $extension = pathinfo($_FILES['import_file']['name'], PATHINFO_EXTENSION);
499
+
500
+ if ('txt' != $extension) {
501
+ wp_die(__('Please upload a valid .txt file'));
502
+ }
503
+ $import_file = $_FILES['import_file']['tmp_name'];
504
+ if (empty($import_file)) {
505
+ wp_die(__('Please upload a file to import'));
506
+ }
507
+
508
+ $settings = (array) json_decode(file_get_contents($import_file), true);
509
+
510
+ foreach ($settings['redirections'] as $redirect_key => $redirect_value) {
511
+ $type = '';
512
+ if ( ! empty($redirect_value['header_code'])) {
513
+ $type = $redirect_value['header_code'];
514
+ }
515
+
516
+ $source = '';
517
+ if ( ! empty($redirect_value['sources'])) {
518
+ $source = maybe_unserialize($redirect_value['sources']);
519
+ $source = ltrim(urldecode($source[0]['pattern']), '/');
520
+ }
521
+
522
+ $param = 'exact_match';
523
+
524
+ $enabled ='';
525
+ if ( ! empty('active' == $redirect_value['status'])) {
526
+ $enabled ='yes';
527
+ }
528
+
529
+ $redirect ='';
530
+ if ( ! empty($redirect_value['url_to'])) {
531
+ $redirect = urldecode($redirect_value['url_to']);
532
+ }
533
+
534
+ $count ='';
535
+ if ( ! empty($redirect_value['hits'])) {
536
+ $count = $redirect_value['hits'];
537
+ }
538
+
539
+ wp_insert_post(
540
+ [
541
+ 'post_title' => $source,
542
+ 'post_type' => 'seopress_404',
543
+ 'post_status' => 'publish',
544
+ 'meta_input' => [
545
+ '_seopress_redirections_value' => $redirect,
546
+ '_seopress_redirections_type' => $type,
547
+ '_seopress_redirections_enabled' => $enabled,
548
+ 'seopress_404_count' => $count,
549
+ '_seopress_redirections_param' => $param,
550
+ ],
551
+ ]
552
+ );
553
+ }
554
+
555
+ wp_safe_redirect(admin_url('edit.php?post_type=seopress_404'));
556
+ exit;
557
  }
558
+ add_action('admin_init', 'seopress_import_rk_redirections');
559
 
560
  //Clean all 404
561
  function seopress_clean_404_query_hook($args) {
562
+ unset($args['date_query']);
 
 
563
 
564
+ return $args;
565
+ }
566
 
567
  function seopress_clean_404() {
568
+ if (empty($_POST['seopress_action']) || 'clean_404' != $_POST['seopress_action']) {
569
+ return;
570
+ }
571
+ if ( ! wp_verify_nonce($_POST['seopress_clean_404_nonce'], 'seopress_clean_404_nonce')) {
572
+ return;
573
+ }
574
+ if ( ! current_user_can(seopress_capability('manage_options', '404'))) {
575
+ return;
576
+ }
577
+
578
+ add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
579
+ do_action('seopress_404_cron_cleaning', true);
580
+ wp_safe_redirect(admin_url('edit.php?post_type=seopress_404'));
581
+ exit;
582
  }
583
+ add_action('admin_init', 'seopress_clean_404');
584
 
585
  //Clean all (redirects / 404 errors)
586
  function seopress_clean_all() {
587
+ if (empty($_POST['seopress_action']) || 'clean_all' != $_POST['seopress_action']) {
588
+ return;
589
+ }
590
+ if ( ! wp_verify_nonce($_POST['seopress_clean_all_nonce'], 'seopress_clean_all_nonce')) {
591
+ return;
592
+ }
593
+ if ( ! current_user_can(seopress_capability('manage_options', '404'))) {
594
+ return;
595
+ }
596
+
597
+ global $wpdb;
598
+
599
+ //SQL query
600
+ $sql = 'DELETE `posts`, `pm`
601
  FROM `' . $wpdb->prefix . 'posts` AS `posts`
602
  LEFT JOIN `' . $wpdb->prefix . 'postmeta` AS `pm` ON `pm`.`post_id` = `posts`.`ID`
603
  WHERE `posts`.`post_type` = \'seopress_404\'';
604
 
605
+ $sql = $wpdb->prepare($sql);
606
 
607
+ $wpdb->query($sql);
608
 
609
+ wp_safe_redirect(admin_url('edit.php?post_type=seopress_404'));
610
+ exit;
611
  }
612
+ add_action('admin_init', 'seopress_clean_all');
613
 
614
  //Reset SEOPress Notices Settings
615
  function seopress_reset_notices_settings() {
616
+ if (empty($_POST['seopress_action']) || 'reset_notices_settings' != $_POST['seopress_action']) {
617
+ return;
618
+ }
619
+ if ( ! wp_verify_nonce($_POST['seopress_reset_notices_nonce'], 'seopress_reset_notices_nonce')) {
620
+ return;
621
+ }
622
+ if ( ! current_user_can(seopress_capability('manage_options', 'reset_settings'))) {
623
+ return;
624
+ }
625
+
626
+ global $wpdb;
627
+
628
+ $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_notices' ");
629
+
630
+ wp_safe_redirect(admin_url('admin.php?page=seopress-import-export'));
631
+ exit;
632
  }
633
+ add_action('admin_init', 'seopress_reset_notices_settings');
634
 
635
  //Reset SEOPress Settings
636
  function seopress_reset_settings() {
637
+ if (empty($_POST['seopress_action']) || 'reset_settings' != $_POST['seopress_action']) {
638
+ return;
639
+ }
640
+ if ( ! wp_verify_nonce($_POST['seopress_reset_nonce'], 'seopress_reset_nonce')) {
641
+ return;
642
+ }
643
+ if ( ! current_user_can(seopress_capability('manage_options', 'reset_settings'))) {
644
+ return;
645
+ }
646
+
647
+ global $wpdb;
648
+
649
+ $wpdb->query("DELETE FROM $wpdb->options WHERE option_name LIKE 'seopress_%' ");
650
+
651
+ wp_safe_redirect(admin_url('admin.php?page=seopress-import-export'));
652
+ exit;
653
  }
654
+ add_action('admin_init', 'seopress_reset_settings');
655
 
656
  //Export SEOPress BOT Links to CSV
657
  function seopress_bot_links_export_settings() {
658
+ if (empty($_POST['seopress_action']) || 'export_csv_links_settings' != $_POST['seopress_action']) {
659
+ return;
660
+ }
661
+ if ( ! wp_verify_nonce($_POST['seopress_export_csv_links_nonce'], 'seopress_export_csv_links_nonce')) {
662
+ return;
663
+ }
664
+ if ( ! current_user_can(seopress_capability('manage_options', 'export_settings'))) {
665
+ return;
666
+ }
667
+ $args = [
668
+ 'post_type' => 'seopress_bot',
669
+ 'posts_per_page' => 1000,
670
+ 'post_status' => 'publish',
671
+ 'order' => 'DESC',
672
+ 'orderby' => 'date',
673
+ ];
674
+ $the_query = new WP_Query($args);
675
+
676
+ $settings['URL'] = [];
677
+ $settings['Source'] = [];
678
+ $settings['Source_Url'] = [];
679
+ $settings['Status'] = [];
680
+ $settings['Type'] = [];
681
+
682
+ $csv_fields = [];
683
+ $csv_fields[] = 'URL';
684
+ $csv_fields[] = 'Source';
685
+ $csv_fields[] = 'Source URL';
686
+ $csv_fields[] = 'Status';
687
+ $csv_fields[] = 'Type';
688
+
689
+ $output_handle = @fopen('php://output', 'w');
690
+
691
+ //Header
692
+ ignore_user_abort(true);
693
+ nocache_headers();
694
+ header('Content-Type: text/csv; charset=utf-8');
695
+ header('Content-Disposition: attachment; filename=seopress-links-export-' . date('m-d-Y') . '.csv');
696
+ header('Expires: 0');
697
+ header('Pragma: public');
698
+
699
+ //Insert header row
700
+ fputcsv($output_handle, $csv_fields);
701
+
702
+ // The Loop
703
+ if ($the_query->have_posts()) {
704
+ while ($the_query->have_posts()) {
705
+ $the_query->the_post();
706
+
707
+ array_push($settings['URL'], get_the_title());
708
+
709
+ array_push($settings['Source'], get_post_meta(get_the_ID(), 'seopress_bot_source_title', true));
710
+
711
+ array_push($settings['Source_Url'], get_post_meta(get_the_ID(), 'seopress_bot_source_url', true));
712
+
713
+ array_push($settings['Status'], get_post_meta(get_the_ID(), 'seopress_bot_status', true));
714
+
715
+ array_push($settings['Type'], get_post_meta(get_the_ID(), 'seopress_bot_type', true));
716
+
717
+ fputcsv($output_handle, array_merge($settings['URL'], $settings['Source'], $settings['Source_Url'], $settings['Status'], $settings['Type']));
718
+
719
+ //Clean arrays
720
+ $settings['URL'] = [];
721
+ $settings['Source'] = [];
722
+ $settings['Source_Url'] = [];
723
+ $settings['Status'] = [];
724
+ $settings['Type'] = [];
725
+ }
726
+ wp_reset_postdata();
727
+ }
728
+
729
+ // Close output file stream
730
+ fclose($output_handle);
731
+
732
+ exit;
 
733
  }
734
+ add_action('admin_init', 'seopress_bot_links_export_settings');
735
 
736
  //Export metadata
737
  function seopress_download_batch_export() {
738
+ if (empty($_GET['seopress_action']) || 'seopress_download_batch_export' != $_GET['seopress_action']) {
739
+ return;
740
+ }
741
+ if ( ! wp_verify_nonce($_GET['nonce'], 'seopress_csv_batch_export_nonce')) {
742
+ return;
743
+ }
744
+ if (current_user_can(seopress_capability('manage_options', 'export_settings')) && is_admin()) {
745
+ if ('' != get_option('seopress_metadata_csv')) {
746
+ $csv = get_option('seopress_metadata_csv');
747
+
748
+ $csv_fields = [];
749
+ $csv_fields[] = 'id';
750
+ $csv_fields[] = 'post_title';
751
+ $csv_fields[] = 'url';
752
+ $csv_fields[] = 'meta_title';
753
+ $csv_fields[] = 'meta_desc';
754
+ $csv_fields[] = 'fb_title';
755
+ $csv_fields[] = 'fb_desc';
756
+ $csv_fields[] = 'fb_img';
757
+ $csv_fields[] = 'tw_title';
758
+ $csv_fields[] = 'tw_desc';
759
+ $csv_fields[] = 'tw_img';
760
+ $csv_fields[] = 'noindex';
761
+ $csv_fields[] = 'nofollow';
762
+ $csv_fields[] = 'noodp';
763
+ $csv_fields[] = 'noimageindex';
764
+ $csv_fields[] = 'noarchive';
765
+ $csv_fields[] = 'nosnippet';
766
+ $csv_fields[] = 'canonical_url';
767
+ $csv_fields[] = 'primary_cat';
768
+ $csv_fields[] = 'redirect_active';
769
+ $csv_fields[] = 'redirect_type';
770
+ $csv_fields[] = 'redirect_url';
771
+ $csv_fields[] = 'target_kw';
772
+ ob_start();
773
+ $output_handle = @fopen('php://output', 'w');
774
+
775
+ //Insert header row
776
+ fputcsv($output_handle, $csv_fields, ';');
777
+
778
+ //Header
779
+ ignore_user_abort(true);
780
+ nocache_headers();
781
+ header('Content-Type: text/csv; charset=utf-8');
782
+ header('Content-Disposition: attachment; filename=seopress-metadata-export-' . date('m-d-Y') . '.csv');
783
+ header('Expires: 0');
784
+ header('Pragma: public');
785
+
786
+ if ( ! empty($csv)) {
787
+ foreach ($csv as $value) {
788
+ fputcsv($output_handle, $value, ';');
789
+ }
790
+ }
791
+
792
+ // Close output file stream
793
+ fclose($output_handle);
794
+
795
+ //Clean database
796
+ delete_option('seopress_metadata_csv');
797
+ exit;
798
+ }
799
+ }
 
800
  }
801
+ add_action('admin_init', 'seopress_download_batch_export');
inc/functions/options-social.php CHANGED
@@ -531,6 +531,9 @@ function seopress_social_fb_title_hook() {
531
  if ('' != seopress_social_fb_title_term_option()) {
532
  $seopress_social_og_title .= '<meta property="og:title" content="' . seopress_social_fb_title_term_option() . '" />';
533
  $seopress_social_og_title .= "\n";
 
 
 
534
  } else {
535
  $seopress_social_og_title .= '<meta property="og:title" content="' . single_term_title('', false) . ' - ' . get_bloginfo('name') . '" />';
536
  $seopress_social_og_title .= "\n";
@@ -612,6 +615,9 @@ function seopress_social_fb_desc_hook() {
612
  if ('' != seopress_social_fb_desc_term_option()) {
613
  $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_social_fb_desc_term_option() . '" />';
614
  $seopress_social_og_desc .= "\n";
 
 
 
615
  } elseif ('' != term_description()) {
616
  $seopress_social_og_desc .= '<meta property="og:description" content="' . wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses(term_description())), $seopress_excerpt_length) . ' - ' . get_bloginfo('name') . '" />';
617
  $seopress_social_og_desc .= "\n";
@@ -1056,6 +1062,9 @@ function seopress_social_twitter_title_hook() {
1056
  $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . seopress_social_twitter_title_term_option() . '" />';
1057
  } elseif ('1' == seopress_social_twitter_card_og_option() && '' != seopress_social_fb_title_term_option()) {
1058
  $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . seopress_social_fb_title_term_option() . '" />';
 
 
 
1059
  } else {
1060
  $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . single_term_title('', false) . ' - ' . get_bloginfo('name') . '" />';
1061
  }
@@ -1140,6 +1149,8 @@ function seopress_social_twitter_desc_hook() {
1140
  $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . seopress_social_twitter_desc_term_option() . '" />';
1141
  } elseif ('' != seopress_social_fb_desc_term_option() && '1' == seopress_social_twitter_card_og_option()) {
1142
  $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . seopress_social_fb_desc_term_option() . '" />';
 
 
1143
  } elseif ('' != term_description()) {
1144
  $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses(term_description())), $seopress_excerpt_length) . ' - ' . get_bloginfo('name') . '" />';
1145
  }
531
  if ('' != seopress_social_fb_title_term_option()) {
532
  $seopress_social_og_title .= '<meta property="og:title" content="' . seopress_social_fb_title_term_option() . '" />';
533
  $seopress_social_og_title .= "\n";
534
+ } elseif (function_exists('seopress_titles_the_title') && '' != seopress_titles_the_title()) {
535
+ $seopress_social_og_title .= '<meta property="og:title" content="' . esc_attr(seopress_titles_the_title()) . '" />';
536
+ $seopress_social_og_title .= "\n";
537
  } else {
538
  $seopress_social_og_title .= '<meta property="og:title" content="' . single_term_title('', false) . ' - ' . get_bloginfo('name') . '" />';
539
  $seopress_social_og_title .= "\n";
615
  if ('' != seopress_social_fb_desc_term_option()) {
616
  $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_social_fb_desc_term_option() . '" />';
617
  $seopress_social_og_desc .= "\n";
618
+ } elseif (function_exists('seopress_titles_the_description_content') && '' != seopress_titles_the_description_content()) {
619
+ $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_titles_the_description_content() . '" />';
620
+ $seopress_social_og_desc .= "\n";
621
  } elseif ('' != term_description()) {
622
  $seopress_social_og_desc .= '<meta property="og:description" content="' . wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses(term_description())), $seopress_excerpt_length) . ' - ' . get_bloginfo('name') . '" />';
623
  $seopress_social_og_desc .= "\n";
1062
  $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . seopress_social_twitter_title_term_option() . '" />';
1063
  } elseif ('1' == seopress_social_twitter_card_og_option() && '' != seopress_social_fb_title_term_option()) {
1064
  $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . seopress_social_fb_title_term_option() . '" />';
1065
+ } elseif (function_exists('seopress_titles_the_title') && '' != seopress_titles_the_title()) {
1066
+ $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . esc_attr(seopress_titles_the_title()) . '" />';
1067
+ $seopress_social_twitter_card_title .= "\n";
1068
  } else {
1069
  $seopress_social_twitter_card_title .= '<meta name="twitter:title" content="' . single_term_title('', false) . ' - ' . get_bloginfo('name') . '" />';
1070
  }
1149
  $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . seopress_social_twitter_desc_term_option() . '" />';
1150
  } elseif ('' != seopress_social_fb_desc_term_option() && '1' == seopress_social_twitter_card_og_option()) {
1151
  $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . seopress_social_fb_desc_term_option() . '" />';
1152
+ } elseif (function_exists('seopress_titles_the_description_content') && '' != seopress_titles_the_description_content()) {
1153
+ $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . seopress_titles_the_description_content() . '" />';
1154
  } elseif ('' != term_description()) {
1155
  $seopress_social_twitter_card_desc .= '<meta name="twitter:description" content="' . wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses(term_description())), $seopress_excerpt_length) . ' - ' . get_bloginfo('name') . '" />';
1156
  }
inc/functions/options-titles-metas.php CHANGED
@@ -5,30 +5,44 @@ defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks
5
  //=================================================================================================
6
  //Titles
7
  //Titles & Metas
8
- //Separator
 
 
 
 
 
 
9
  function seopress_titles_sep_option() {
10
- $seopress_titles_sep_option = get_option('seopress_titles_option_name');
11
- if ( ! empty($seopress_titles_sep_option)) {
12
- foreach ($seopress_titles_sep_option as $key => $seopress_titles_sep_value) {
13
- $options[$key] = $seopress_titles_sep_value;
14
- }
15
- if (isset($seopress_titles_sep_option['seopress_titles_sep'])) {
16
- return $seopress_titles_sep_option['seopress_titles_sep'];
17
  }
18
  }
 
 
19
  }
20
 
21
- //Homepage Title
 
 
 
 
 
 
22
  function seopress_titles_home_site_title_option() {
23
- $seopress_titles_home_site_title_option = get_option('seopress_titles_option_name');
24
- if ( ! empty($seopress_titles_home_site_title_option)) {
25
- foreach ($seopress_titles_home_site_title_option as $key => $seopress_titles_home_site_title_value) {
26
- $options[$key] = $seopress_titles_home_site_title_value;
27
- }
28
- if (isset($seopress_titles_home_site_title_option['seopress_titles_home_site_title'])) {
29
  return $seopress_titles_home_site_title_option['seopress_titles_home_site_title'];
30
  }
 
 
31
  }
 
 
32
  }
33
 
34
  //Single CPT Titles
@@ -157,17 +171,24 @@ function seopress_titles_paged_rel_option() {
157
  }
158
  }
159
 
160
- //Homepage Description
 
 
 
 
 
 
161
  function seopress_titles_home_site_desc_option() {
162
- $seopress_titles_home_site_desc_option = get_option('seopress_titles_option_name');
163
- if ( ! empty($seopress_titles_home_site_desc_option)) {
164
- foreach ($seopress_titles_home_site_desc_option as $key => $seopress_titles_home_site_desc_value) {
165
- $options[$key] = $seopress_titles_home_site_desc_value;
166
- }
167
- if (isset($seopress_titles_home_site_desc_option['seopress_titles_home_site_desc'])) {
168
- return $seopress_titles_home_site_desc_option['seopress_titles_home_site_desc'];
169
  }
 
 
170
  }
 
 
171
  }
172
 
173
  //Single CPT Description
@@ -493,10 +514,14 @@ function seopress_titles_the_title() {
493
  if (has_filter('seopress_titles_title')) {
494
  $seopress_titles_title_template = apply_filters('seopress_titles_title', $seopress_titles_title_template);
495
  }
 
496
  //Return Title tag
497
  return $seopress_titles_title_template;
498
  }
499
- add_filter('pre_get_document_title', 'seopress_titles_the_title', 10);
 
 
 
500
 
501
  //THE Meta Description
502
  function seopress_titles_the_description_content() {
@@ -709,7 +734,10 @@ function seopress_titles_the_description() {
709
  echo $html;
710
  }
711
  }
712
- add_action('wp_head', 'seopress_titles_the_description', 1);
 
 
 
713
 
714
  //Advanced
715
  //noindex
5
  //=================================================================================================
6
  //Titles
7
  //Titles & Metas
8
+ /**
9
+ * Separator.
10
+ *
11
+ * @deprecated 4.4.0
12
+ *
13
+ * @return string
14
+ */
15
  function seopress_titles_sep_option() {
16
+ if ( ! function_exists('seopress_get_service')) {
17
+ $seopress_titles_sep_option = get_option('seopress_titles_option_name');
18
+ if ( ! empty($seopress_titles_sep_option)) {
19
+ if (isset($seopress_titles_sep_option['seopress_titles_sep'])) {
20
+ return $seopress_titles_sep_option['seopress_titles_sep'];
21
+ }
 
22
  }
23
  }
24
+
25
+ return seopress_get_service('TitleOption')->getSeparator();
26
  }
27
 
28
+ /**
29
+ * Home site title meta.
30
+ *
31
+ * @deprecated 4.4.0
32
+ *
33
+ * @return string
34
+ */
35
  function seopress_titles_home_site_title_option() {
36
+ if ( ! function_exists('seopress_get_service')) {
37
+ $seopress_titles_home_site_title_option = get_option('seopress_titles_option_name');
38
+ if ( ! empty($seopress_titles_home_site_title_option)) {
 
 
 
39
  return $seopress_titles_home_site_title_option['seopress_titles_home_site_title'];
40
  }
41
+
42
+ return null;
43
  }
44
+
45
+ return seopress_get_service('TitleOption')->getHomeSiteTitle();
46
  }
47
 
48
  //Single CPT Titles
171
  }
172
  }
173
 
174
+ /**
175
+ * Homepage Description.
176
+ *
177
+ * @since 4.4.0
178
+ *
179
+ * @return string
180
+ */
181
  function seopress_titles_home_site_desc_option() {
182
+ if ( ! function_exists('seopress_get_service')) {
183
+ $seopress_titles_home_site_title_option = get_option('seopress_titles_option_name');
184
+ if ( ! empty($seopress_titles_home_site_title_option)) {
185
+ return $seopress_titles_home_site_title_option['seopress_titles_home_site_desc'];
 
 
 
186
  }
187
+
188
+ return null;
189
  }
190
+
191
+ return seopress_get_service('TitleOption')->getHomeDescriptionTitle();
192
  }
193
 
194
  //Single CPT Description
514
  if (has_filter('seopress_titles_title')) {
515
  $seopress_titles_title_template = apply_filters('seopress_titles_title', $seopress_titles_title_template);
516
  }
517
+
518
  //Return Title tag
519
  return $seopress_titles_title_template;
520
  }
521
+
522
+ if (apply_filters('seopress_old_pre_get_document_title', ! function_exists('seopress_get_service'))) {
523
+ add_filter('pre_get_document_title', 'seopress_titles_the_title', 10);
524
+ }
525
 
526
  //THE Meta Description
527
  function seopress_titles_the_description_content() {
734
  echo $html;
735
  }
736
  }
737
+
738
+ if (apply_filters('seopress_old_wp_head_description', false)) {
739
+ add_action('wp_head', 'seopress_titles_the_description', 1);
740
+ }
741
 
742
  //Advanced
743
  //noindex
languages/wp-seopress-pt_BR.mo DELETED
Binary file
languages/wp-seopress-pt_BR.po DELETED
@@ -1,3493 +0,0 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: SEOPress\n"
4
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-seopress\n"
5
- "POT-Creation-Date: 2017-09-18 19:42+0200\n"
6
- "PO-Revision-Date: 2017-10-21 15:01+0200\n"
7
- "Last-Translator: \n"
8
- "Language-Team: contact@seopress.org\n"
9
- "Language: pt_BR\n"
10
- "MIME-Version: 1.0\n"
11
- "Content-Type: text/plain; charset=UTF-8\n"
12
- "Content-Transfer-Encoding: 8bit\n"
13
- "X-Generator: Poedit 2.0.1\n"
14
- "X-Poedit-Basepath: ..\n"
15
- "X-Poedit-WPHeader: style.css\n"
16
- "X-Poedit-SourceCharset: UTF-8\n"
17
- "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
18
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
19
- "X-Poedit-SearchPath-0: .\n"
20
- "X-Poedit-SearchPathExcluded-0: *.js\n"
21
-
22
- #: inc/admin/admin-header.php:11
23
- msgid "SEOPress"
24
- msgstr "SEOPress"
25
-
26
- #: inc/admin/admin-header.php:15 inc/admin/adminbar.php:72
27
- msgid "PRO"
28
- msgstr "PRO"
29
-
30
- #: inc/admin/admin-header.php:27 inc/admin/admin.php:185
31
- #: inc/admin/adminbar.php:22
32
- msgid "Titles & Metas"
33
- msgstr "Títulos e Metas"
34
-
35
- #: inc/admin/admin-header.php:33 inc/admin/admin.php:186
36
- #: inc/admin/adminbar.php:28
37
- msgid "XML / HTML Sitemap"
38
- msgstr "Mapa do site XML / HTML"
39
-
40
- #: inc/admin/admin-header.php:39 inc/admin/admin.php:187
41
- #: inc/admin/admin.php:1329 inc/admin/adminbar.php:34
42
- msgid "Social Networks"
43
- msgstr "Redes sociais"
44
-
45
- #: inc/admin/admin-header.php:45 inc/admin/admin.php:188
46
- #: inc/admin/admin.php:1367 inc/admin/adminbar.php:40
47
- msgid "Google Analytics"
48
- msgstr "Google Analytics"
49
-
50
- #: inc/admin/admin-header.php:51 inc/admin/admin-metaboxes-form.php:124
51
- #: inc/admin/admin.php:189 inc/admin/admin.php:302 inc/admin/admin.php:576
52
- #: inc/admin/admin.php:1405 inc/admin/adminbar.php:46
53
- msgid "Advanced"
54
- msgstr "Avançado"
55
-
56
- #: inc/admin/admin-header.php:59 inc/admin/admin.php:1434
57
- msgid "WooCommerce"
58
- msgstr "WooCommerce"
59
-
60
- #: inc/admin/admin-header.php:65 inc/admin/admin.php:1462
61
- msgid "Local Business"
62
- msgstr "Negócio local"
63
-
64
- #: inc/admin/admin-header.php:71 inc/admin/admin.php:1490
65
- msgid "Dublin Core"
66
- msgstr "Dublin Core"
67
-
68
- #: inc/admin/admin-header.php:77 inc/admin/admin.php:1518
69
- msgid "Structured Data Types"
70
- msgstr "Tipos de dados estruturados"
71
-
72
- #: inc/admin/admin-header.php:83 inc/admin/admin.php:1546
73
- msgid "Breadcrumbs"
74
- msgstr "Breadcrumbs"
75
-
76
- #: inc/admin/admin-header.php:89 inc/admin/admin.php:1584
77
- msgid "Google Page Speed"
78
- msgstr "Google Page Speed"
79
-
80
- #: inc/admin/admin-header.php:96 inc/admin/admin.php:745
81
- #: inc/admin/admin.php:1605
82
- msgid "robots.txt"
83
- msgstr "robots.txt"
84
-
85
- #: inc/admin/admin-header.php:103 inc/admin/admin.php:1644
86
- msgid "Google News Sitemap"
87
- msgstr "Mapa do Google News"
88
-
89
- #: inc/admin/admin-header.php:109 inc/admin/admin.php:1672
90
- #: inc/admin/adminbar.php:78
91
- msgid "Redirections"
92
- msgstr "Redirecionamentos"
93
-
94
- #: inc/admin/admin-header.php:115 inc/admin/admin.php:1711
95
- msgid "SEOPress BOT - Broken links"
96
- msgstr "SEOPress BOT - links quebrados"
97
-
98
- #: inc/admin/admin-header.php:121 inc/admin/admin.php:1722
99
- #: inc/admin/adminbar.php:90
100
- msgid "Backlinks"
101
- msgstr "Backlinks"
102
-
103
- #: inc/admin/admin-header.php:128 inc/admin/admin.php:746
104
- #: inc/admin/admin.php:1734
105
- msgid ".htaccess"
106
- msgstr ".htaccess"
107
-
108
- #: inc/admin/admin-header.php:135 inc/admin/admin.php:1746
109
- msgid "RSS"
110
- msgstr "RSS"
111
-
112
- #: inc/admin/admin-header.php:141 inc/admin/admin.php:1779
113
- #: inc/admin/adminbar.php:66
114
- msgid "License"
115
- msgstr "Licença"
116
-
117
- #: inc/admin/admin-header.php:148 inc/admin/admin.php:190
118
- #: inc/admin/admin.php:1758 inc/admin/adminbar.php:52
119
- msgid "Tools"
120
- msgstr "Ferramentas"
121
-
122
- #: inc/admin/admin-header.php:170
123
- msgid "See the changelog (new window)"
124
- msgstr "Veja o changelog (nova janela)"
125
-
126
- #: inc/admin/admin-header.php:172
127
- msgid "See the changelog"
128
- msgstr "Veja o changelog"
129
-
130
- #: inc/admin/admin-header.php:174 inc/admin/admin-header.php:176
131
- msgid "Send feedback"
132
- msgstr "Enviar comentários"
133
-
134
- #: inc/admin/admin-header.php:178
135
- msgid "Follow us on Twitter (new window)"
136
- msgstr "Siga-nos no Twitter (nova janela)"
137
-
138
- #: inc/admin/admin-header.php:180
139
- msgid "Follow us on Twitter"
140
- msgstr "Siga-nos no Twitter"
141
-
142
- #: inc/admin/admin-header.php:182
143
- msgid "Follow us on YouTube (new window)"
144
- msgstr "Siga-nos no YouTube (nova janela)"
145
-
146
- #: inc/admin/admin-header.php:184
147
- msgid "Follow us on YouTube"
148
- msgstr "Siga-nos no YouTube"
149
-
150
- #: inc/admin/admin-header.php:186
151
- msgid "Official website (new window)"
152
- msgstr "Site oficial (nova janela)"
153
-
154
- #: inc/admin/admin-header.php:188
155
- msgid "Official website"
156
- msgstr "Website oficial"
157
-
158
- #: inc/admin/admin-header.php:190
159
- msgid "Support (new window)"
160
- msgstr "Suporte (nova janela)"
161
-
162
- #: inc/admin/admin-header.php:192
163
- msgid "Support"
164
- msgstr "Suporte"
165
-
166
- #: inc/admin/admin-metaboxes-form.php:114 inc/admin/admin-metaboxes.php:31
167
- #: inc/admin/admin-metaboxes.php:33 inc/admin/adminbar.php:16
168
- #: inc/functions/options-advanced-admin.php:528
169
- msgid "SEO"
170
- msgstr "SEO"
171
-
172
- #: inc/admin/admin-metaboxes-form.php:123
173
- msgid "Titles settings"
174
- msgstr "Configurações de títulos"
175
-
176
- #: inc/admin/admin-metaboxes-form.php:125
177
- msgid "Social"
178
- msgstr "Social"
179
-
180
- #: inc/admin/admin-metaboxes-form.php:127
181
- msgid "Redirection"
182
- msgstr "Redirecionamento"
183
-
184
- #: inc/admin/admin-metaboxes-form.php:132
185
- msgid "Google News"
186
- msgstr "Google News"
187
-
188
- #: inc/admin/admin-metaboxes-form.php:143
189
- msgid "Title"
190
- msgstr "Título"
191
-
192
- #: inc/admin/admin-metaboxes-form.php:144
193
- msgid "Enter your title"
194
- msgstr "Digite seu título"
195
-
196
- #: inc/admin/admin-metaboxes-form.php:148
197
- #: inc/admin/admin-metaboxes-form.php:156
198
- msgid "(maximum recommended limit)"
199
- msgstr "(limite máximo recomendado)"
200
-
201
- #: inc/admin/admin-metaboxes-form.php:151 inc/admin/admin.php:670
202
- #: inc/admin/admin.php:1866 inc/functions/options-advanced-admin.php:538
203
- msgid "Meta description"
204
- msgstr "Descrição do Meta"
205
-
206
- #: inc/admin/admin-metaboxes-form.php:152
207
- msgid "Enter your meta description"
208
- msgstr "Digite sua descrição do meta"
209
-
210
- #: inc/admin/admin-metaboxes-form.php:161
211
- msgid "Google Snippet Preview"
212
- msgstr "Google Snippet Preview"
213
-
214
- #: inc/admin/admin-metaboxes-form.php:162
215
- msgid "This is what your page will look like in Google search results"
216
- msgstr "Isto é o que a sua página se parecerá nos resultados de pesquisa do Google"
217
-
218
- #: inc/admin/admin-metaboxes-form.php:187 inc/admin/admin.php:2042
219
- #: inc/admin/admin.php:3068 inc/admin/admin.php:3201 inc/admin/admin.php:3293
220
- #: inc/admin/admin.php:3368 inc/admin/admin.php:3437 inc/admin/admin.php:3539
221
- msgid "noindex"
222
- msgstr "sem indice"
223
-
224
- #: inc/admin/admin-metaboxes-form.php:188 inc/admin/admin.php:3541
225
- msgid "Do not display all pages of the site in Google search results and do not display \"Cached\" links in search results."
226
- msgstr "Não exiba todas as páginas do site nos resultados de pesquisa do Google e não exiba links \\ \"Cached \" nos resultados de pesquisa."
227
-
228
- #: inc/admin/admin-metaboxes-form.php:193 inc/admin/admin.php:2050
229
- #: inc/admin/admin.php:3087 inc/admin/admin.php:3220 inc/admin/admin.php:3312
230
- #: inc/admin/admin.php:3558
231
- msgid "nofollow"
232
- msgstr "não siga"
233
-
234
- #: inc/admin/admin-metaboxes-form.php:194 inc/admin/admin.php:3560
235
- msgid "Do not follow links for all pages."
236
- msgstr "Não siga links para todas as páginas."
237
-
238
- #: inc/admin/admin-metaboxes-form.php:199 inc/admin/admin.php:2058
239
- #: inc/admin/admin.php:3577
240
- msgid "noodp"
241
- msgstr "noodp"
242
-
243
- #: inc/admin/admin-metaboxes-form.php:200 inc/admin/admin.php:3579
244
- msgid "Do not use Open Directory project metadata for titles or excerpts for all pages."
245
- msgstr "Não use metadados do projeto do Open Directory para títulos ou trechos para todas as páginas."
246
-
247
- #: inc/admin/admin-metaboxes-form.php:205 inc/admin/admin.php:2066
248
- #: inc/admin/admin.php:3596
249
- msgid "noimageindex"
250
- msgstr "noimageindex"
251
-
252
- #: inc/admin/admin-metaboxes-form.php:206 inc/admin/admin.php:3598
253
- msgid "Do not index images from the entire site."
254
- msgstr "Não indexe imagens de todo o site."
255
-
256
- #: inc/admin/admin-metaboxes-form.php:211 inc/admin/admin.php:2074
257
- #: inc/admin/admin.php:3615
258
- msgid "noarchive"
259
- msgstr "noarchive"
260
-
261
- #: inc/admin/admin-metaboxes-form.php:212 inc/admin/admin.php:3617
262
- msgid "Do not display a \"Cached\" link in the Google search results."
263
- msgstr "Não exiba um link \"Cached \" nos resultados de pesquisa do Google."
264
-
265
- #: inc/admin/admin-metaboxes-form.php:217 inc/admin/admin.php:2082
266
- #: inc/admin/admin.php:3634
267
- msgid "nosnippet"
268
- msgstr "nosnippet"
269
-
270
- #: inc/admin/admin-metaboxes-form.php:218 inc/admin/admin.php:3636
271
- msgid "Do not display a description in the Google search results for all pages."
272
- msgstr "Não exiba uma descrição nos resultados de pesquisa do Google para todas as páginas."
273
-
274
- #: inc/admin/admin-metaboxes-form.php:221 inc/admin/admin.php:674
275
- msgid "Canonical URL"
276
- msgstr "URL canônica"
277
-
278
- #: inc/admin/admin-metaboxes-form.php:222
279
- msgid "Default value: "
280
- msgstr "Valor padrão: "
281
-
282
- #: inc/admin/admin-metaboxes-form.php:228
283
- msgid "Ask Facebook to update his cache"
284
- msgstr "Peça ao Facebook para atualizar seu cache"
285
-
286
- #: inc/admin/admin-metaboxes-form.php:230
287
- msgid "Facebook Title"
288
- msgstr "Titulo do Facebook"
289
-
290
- #: inc/admin/admin-metaboxes-form.php:231
291
- msgid "Enter your Facebook title"
292
- msgstr "Digite seu título no Facebook"
293
-
294
- #: inc/admin/admin-metaboxes-form.php:234
295
- msgid "Facebook description"
296
- msgstr "Descrição do Facebook"
297
-
298
- #: inc/admin/admin-metaboxes-form.php:235
299
- msgid "Enter your Facebook description"
300
- msgstr "Insira sua descrição do Facebook"
301
-
302
- #: inc/admin/admin-metaboxes-form.php:238
303
- msgid "Facebook Thumbnail"
304
- msgstr "Miniatura do Facebook"
305
-
306
- #: inc/admin/admin-metaboxes-form.php:239
307
- msgid "Minimum size: 200x200px"
308
- msgstr "Tamanho mínimo: 200x200px"
309
-
310
- #: inc/admin/admin-metaboxes-form.php:240
311
- #: inc/admin/admin-metaboxes-form.php:256 inc/admin/admin.php:4149
312
- #: inc/admin/admin.php:4226
313
- msgid "Select your default thumbnail"
314
- msgstr "Selecione sua miniatura padrão"
315
-
316
- #: inc/admin/admin-metaboxes-form.php:241
317
- #: inc/admin/admin-metaboxes-form.php:257 inc/admin/admin.php:3907
318
- #: inc/admin/admin.php:4151 inc/admin/admin.php:4228
319
- msgid "Upload an Image"
320
- msgstr "Carregar uma imagem"
321
-
322
- #: inc/admin/admin-metaboxes-form.php:246
323
- msgid "Twitter Title"
324
- msgstr "Título do Twitter"
325
-
326
- #: inc/admin/admin-metaboxes-form.php:247
327
- msgid "Enter your Twitter title"
328
- msgstr "Digite seu título do Twitter"
329
-
330
- #: inc/admin/admin-metaboxes-form.php:250
331
- msgid "Twitter description"
332
- msgstr "Descrição do Twitter"
333
-
334
- #: inc/admin/admin-metaboxes-form.php:251
335
- msgid "Enter your Twitter description"
336
- msgstr "Digite sua descrição do Twitter"
337
-
338
- #: inc/admin/admin-metaboxes-form.php:254
339
- msgid "Twitter Thumbnail"
340
- msgstr "Miniatura do Twitter"
341
-
342
- #: inc/admin/admin-metaboxes-form.php:255
343
- msgid "Minimum size: 160x160px"
344
- msgstr "Tamanho mínimo: 160x160px"
345
-
346
- #: inc/admin/admin-metaboxes-form.php:266
347
- msgid "Enable redirection?"
348
- msgstr "Ativar redirecionamento?"
349
-
350
- #: inc/admin/admin-metaboxes-form.php:270
351
- msgid "URL redirection"
352
- msgstr "Redirecionamento de URL"
353
-
354
- #: inc/admin/admin-metaboxes-form.php:272
355
- msgid "301 Moved Permanently"
356
- msgstr "301 Movido Permanentemente"
357
-
358
- #: inc/admin/admin-metaboxes-form.php:273
359
- msgid "302 Found (HTTP 1.1) / Moved Temporarily (HTTP 1.0)"
360
- msgstr "302 Encontrado (HTTP 1.1) / Movido temporariamente (HTTP 1.0)"
361
-
362
- #: inc/admin/admin-metaboxes-form.php:274
363
- msgid "307 Moved Temporarily (HTTP 1.1 Only)"
364
- msgstr "307 Movido Temporariamente (apenas HTTP 1.1)"
365
-
366
- #: inc/admin/admin-metaboxes-form.php:276
367
- msgid "Enter your new URL"
368
- msgstr "Digite seu novo URL"
369
-
370
- #: inc/admin/admin-metaboxes-form.php:279
371
- #: inc/admin/admin-metaboxes-form.php:281
372
- msgid "Test your URL"
373
- msgstr "Teste seu URL"
374
-
375
- #: inc/admin/admin-metaboxes-form.php:292
376
- msgid "Exclude this post from Google News Sitemap?"
377
- msgstr "Excluir esta postagem do Google Sitemap de notícias?"
378
-
379
- #: inc/admin/admin-metaboxes-form.php:296
380
- msgid "Google News Genres"
381
- msgstr "Google News Genres"
382
-
383
- #: inc/admin/admin-metaboxes-form.php:298 inc/admin/admin.php:4490
384
- #: inc/admin/admin.php:4567 inc/admin/admin.php:4644 inc/admin/admin.php:4721
385
- #: inc/admin/admin.php:4798
386
- msgid "None"
387
- msgstr "Nenhum"
388
-
389
- #: inc/admin/admin-metaboxes-form.php:299
390
- msgid "Press Release"
391
- msgstr "Comunicado de imprensa"
392
-
393
- #: inc/admin/admin-metaboxes-form.php:300
394
- msgid "Satire"
395
- msgstr "Sátira"
396
-
397
- #: inc/admin/admin-metaboxes-form.php:301
398
- msgid "Blog"
399
- msgstr "Blog"
400
-
401
- #: inc/admin/admin-metaboxes-form.php:302
402
- msgid "OpEd"
403
- msgstr "OpEd"
404
-
405
- #: inc/admin/admin-metaboxes-form.php:303
406
- msgid "Opinion"
407
- msgstr "Opinião"
408
-
409
- #: inc/admin/admin-metaboxes-form.php:304
410
- msgid "UserGenerated"
411
- msgstr "UserGenerated"
412
-
413
- #: inc/admin/admin-metaboxes-form.php:309
414
- msgid "Google News Keywords <em>(max recommended limit: 12)</em>"
415
- msgstr "Palavras-chave do Google News <em> (limite máximo recomendado: 12) </ em>"
416
-
417
- #: inc/admin/admin-metaboxes-form.php:310
418
- msgid "Enter your Google News Keywords"
419
- msgstr "Digite suas palavras-chave do Google Notícias"
420
-
421
- #: inc/admin/admin.php:108
422
- msgid "404 - Page not found"
423
- msgstr "404 Página Não Encontrada"
424
-
425
- #: inc/admin/admin.php:177
426
- msgid "SEOPress Network settings"
427
- msgstr "Configurações de rede do SEOPress"
428
-
429
- #: inc/admin/admin.php:184
430
- msgid "Dashboard"
431
- msgstr "Painel de controle"
432
-
433
- #: inc/admin/admin.php:186 inc/admin/admin.php:1291
434
- msgid "XML / Image / HTML Sitemap"
435
- msgstr "Mapa do Website XML / Image / HTML"
436
-
437
- #: inc/admin/admin.php:197
438
- #, php-format
439
- msgid "%%sitetitle%%"
440
- msgstr "%%sitetitle%%"
441
-
442
- #: inc/admin/admin.php:197 inc/admin/admin.php:2985 inc/admin/admin.php:3036
443
- #: inc/admin/admin.php:3153 inc/admin/admin.php:3261 inc/admin/admin.php:3337
444
- #: inc/admin/admin.php:3407 inc/admin/admin.php:3476 inc/admin/admin.php:3508
445
- msgid "Site Title"
446
- msgstr "Titulo do site"
447
-
448
- #: inc/admin/admin.php:198
449
- #, php-format
450
- msgid "%%tagline%%"
451
- msgstr "%%tagline%%"
452
-
453
- #: inc/admin/admin.php:198 inc/admin/admin.php:2986 inc/admin/admin.php:2997
454
- msgid "Tagline"
455
- msgstr "Tagline"
456
-
457
- #: inc/admin/admin.php:199
458
- #, php-format
459
- msgid "%%post_title%%"
460
- msgstr "%% post_title %%"
461
-
462
- #: inc/admin/admin.php:199
463
- msgid "Post Title (post, page, custom post type)"
464
- msgstr "Título do post (publicação, página, tipo de postagem personalizado)"
465
-
466
- #: inc/admin/admin.php:200
467
- #, php-format
468
- msgid "%%post_excerpt%%"
469
- msgstr "%%post_excerpt%%"
470
-
471
- #: inc/admin/admin.php:200
472
- msgid "Post excerpt"
473
- msgstr "Excerto do post"
474
-
475
- #: inc/admin/admin.php:201
476
- #, php-format
477
- msgid "%%post_date%%"
478
- msgstr "%%post_date%%"
479
-
480
- #: inc/admin/admin.php:201
481
- msgid "Post date"
482
- msgstr "Data de postagem"
483
-
484
- #: inc/admin/admin.php:202
485
- #, php-format
486
- msgid "%%post_author%%"
487
- msgstr "%%post_author%%"
488
-
489
- #: inc/admin/admin.php:202 inc/admin/admin.php:3336
490
- msgid "Post author"
491
- msgstr "Autor do post"
492
-
493
- #: inc/admin/admin.php:203
494
- #, php-format
495
- msgid "%%_category_title%%"
496
- msgstr "%%_category_title%%"
497
-
498
- #: inc/admin/admin.php:203
499
- msgid "Category title"
500
- msgstr "Título da categoria"
501
-
502
- #: inc/admin/admin.php:204
503
- #, php-format
504
- msgid "%%_category_description%%"
505
- msgstr "%%_category_description%%"
506
-
507
- #: inc/admin/admin.php:204
508
- msgid "Category description"
509
- msgstr "Descrição da categoria"
510
-
511
- #: inc/admin/admin.php:205
512
- #, php-format
513
- msgid "%%tag_title%%"
514
- msgstr "%%tag_title%%"
515
-
516
- #: inc/admin/admin.php:205
517
- msgid "Tag title"
518
- msgstr "Título da etiqueta"
519
-
520
- #: inc/admin/admin.php:206
521
- #, php-format
522
- msgid "%%tag_description%%"
523
- msgstr "%%tag_description%%"
524
-
525
- #: inc/admin/admin.php:206
526
- msgid "Tag description"
527
- msgstr "Descrição do Tag"
528
-
529
- #: inc/admin/admin.php:207
530
- #, php-format
531
- msgid "%%term_title%%"
532
- msgstr "%%term_title%%"
533
-
534
- #: inc/admin/admin.php:207
535
- msgid "Term title"
536
- msgstr "Termo título"
537
-
538
- #: inc/admin/admin.php:208
539
- #, php-format
540
- msgid "%%term_description%%"
541
- msgstr "%%term_description%%"
542
-
543
- #: inc/admin/admin.php:208
544
- msgid "Term description"
545
- msgstr "Descrição do termo"
546
-
547
- #: inc/admin/admin.php:209
548
- #, php-format
549
- msgid "%%search_keywords%%"
550
- msgstr "%%search_keywords%%"
551
-
552
- #: inc/admin/admin.php:209
553
- msgid "Search keywords"
554
- msgstr "Procure por palavras-chave"
555
-
556
- #: inc/admin/admin.php:210
557
- #, php-format
558
- msgid "%%current_pagination%%"
559
- msgstr "%%current_pagination%%"
560
-
561
- #: inc/admin/admin.php:210
562
- msgid "Current number page"
563
- msgstr "Número da página atual"
564
-
565
- #: inc/admin/admin.php:211
566
- #, php-format
567
- msgid "%%cpt_plural%%"
568
- msgstr "%%cpt_plural%%"
569
-
570
- #: inc/admin/admin.php:211
571
- msgid "Plural Post Type Archive name"
572
- msgstr "Nome do arquivo do tipo de postagem plural"
573
-
574
- #: inc/admin/admin.php:212
575
- #, php-format
576
- msgid "%%date_archive%%"
577
- msgstr "%%date_archive%%"
578
-
579
- #: inc/admin/admin.php:212
580
- msgid "Date Archive"
581
- msgstr "Data do Arquivo"
582
-
583
- #: inc/admin/admin.php:213
584
- #, php-format
585
- msgid "%%wc_single_cat%%"
586
- msgstr "%%wc_single_cat%%"
587
-
588
- #: inc/admin/admin.php:213
589
- msgid "Single product category"
590
- msgstr "Categoria de produto único"
591
-
592
- #: inc/admin/admin.php:214
593
- #, php-format
594
- msgid "%%wc_single_tag%%"
595
- msgstr "%%wc_single_tag%%"
596
-
597
- #: inc/admin/admin.php:214
598
- msgid "Single product tag"
599
- msgstr "Etiqueta de produto único"
600
-
601
- #: inc/admin/admin.php:215
602
- #, php-format
603
- msgid "%%wc_single_short_desc%%"
604
- msgstr "%%wc_single_short_desc%%"
605
-
606
- #: inc/admin/admin.php:215
607
- msgid "Single product short description"
608
- msgstr "Breve descrição do produto"
609
-
610
- #: inc/admin/admin.php:221
611
- msgid "Templates variables"
612
- msgstr "Variáveis ​​dos modelos"
613
-
614
- #: inc/admin/admin.php:229 inc/admin/admin.php:237
615
- msgid "Browse our guides"
616
- msgstr "Navegue pelos nossos guias"
617
-
618
- #: inc/admin/admin.php:230 inc/admin/admin.php:238
619
- msgid "Read our FAQ"
620
- msgstr "Leia nossas FAQ"
621
-
622
- #: inc/admin/admin.php:231 inc/admin/admin.php:239
623
- msgid "Check our website"
624
- msgstr "Verifique o nosso site"
625
-
626
- #: inc/admin/admin.php:259 inc/admin/admin.php:728
627
- msgid "Discourage search engines from indexing this site is <strong>ON!</strong> None of the following settings will be applied."
628
- msgstr "Desalentar os mecanismos de busca de indexar este site é <strong> ON! </ Strong> Nenhuma das seguintes configurações será aplicada."
629
-
630
- #: inc/admin/admin.php:260 inc/admin/admin.php:729 inc/admin/admin.php:2858
631
- msgid "Change this settings"
632
- msgstr "Altere estas configurações"
633
-
634
- #: inc/admin/admin.php:280 inc/admin/admin.php:284 inc/admin/admin.php:347
635
- #: inc/admin/admin.php:351 inc/admin/admin.php:412 inc/admin/admin.php:416
636
- #: inc/admin/admin.php:479 inc/admin/admin.php:483 inc/admin/admin.php:558
637
- #: inc/admin/admin.php:562 inc/admin/admin.php:1267 inc/admin/admin.php:1271
638
- #: inc/admin/admin.php:1305 inc/admin/admin.php:1309 inc/admin/admin.php:1343
639
- #: inc/admin/admin.php:1347 inc/admin/admin.php:1381 inc/admin/admin.php:1385
640
- #: inc/admin/admin.php:1419 inc/admin/admin.php:1423 inc/admin/admin.php:1448
641
- #: inc/admin/admin.php:1452 inc/admin/admin.php:1476 inc/admin/admin.php:1480
642
- #: inc/admin/admin.php:1504 inc/admin/admin.php:1508 inc/admin/admin.php:1532
643
- #: inc/admin/admin.php:1536 inc/admin/admin.php:1560 inc/admin/admin.php:1564
644
- #: inc/admin/admin.php:1619 inc/admin/admin.php:1623 inc/admin/admin.php:1658
645
- #: inc/admin/admin.php:1662 inc/admin/admin.php:1687 inc/admin/admin.php:1691
646
- msgid "Click to disable this feature"
647
- msgstr "Clique para desativar esse recurso"
648
-
649
- #: inc/admin/admin.php:281 inc/admin/admin.php:283 inc/admin/admin.php:348
650
- #: inc/admin/admin.php:350 inc/admin/admin.php:413 inc/admin/admin.php:415
651
- #: inc/admin/admin.php:480 inc/admin/admin.php:482 inc/admin/admin.php:559
652
- #: inc/admin/admin.php:561 inc/admin/admin.php:1268 inc/admin/admin.php:1270
653
- #: inc/admin/admin.php:1306 inc/admin/admin.php:1308 inc/admin/admin.php:1344
654
- #: inc/admin/admin.php:1346 inc/admin/admin.php:1382 inc/admin/admin.php:1384
655
- #: inc/admin/admin.php:1420 inc/admin/admin.php:1422 inc/admin/admin.php:1449
656
- #: inc/admin/admin.php:1451 inc/admin/admin.php:1477 inc/admin/admin.php:1479
657
- #: inc/admin/admin.php:1505 inc/admin/admin.php:1507 inc/admin/admin.php:1533
658
- #: inc/admin/admin.php:1535 inc/admin/admin.php:1561 inc/admin/admin.php:1563
659
- #: inc/admin/admin.php:1620 inc/admin/admin.php:1622 inc/admin/admin.php:1659
660
- #: inc/admin/admin.php:1661 inc/admin/admin.php:1688 inc/admin/admin.php:1690
661
- msgid "Click to enable this feature"
662
- msgstr "Clique para ativar esse recurso"
663
-
664
- #: inc/admin/admin.php:298
665
- msgid "Home"
666
- msgstr "Inicio"
667
-
668
- #: inc/admin/admin.php:299
669
- msgid "Single Post Types"
670
- msgstr "Tipos de postagem única"
671
-
672
- #: inc/admin/admin.php:300
673
- msgid "Archives"
674
- msgstr "Tag Archives: %s"
675
-
676
- #: inc/admin/admin.php:301 inc/admin/admin.php:367
677
- msgid "Taxonomies"
678
- msgstr "Taxonomias"
679
-
680
- #: inc/admin/admin.php:365 inc/admin/admin.php:498 inc/admin/admin.php:506
681
- msgid "General"
682
- msgstr "Geral"
683
-
684
- #: inc/admin/admin.php:366
685
- msgid "Post Types"
686
- msgstr "Tipos de postagem"
687
-
688
- #: inc/admin/admin.php:368
689
- msgid "HTML Sitemap"
690
- msgstr "HTML Sitemap"
691
-
692
- #: inc/admin/admin.php:430
693
- msgid "Knowledge Graph"
694
- msgstr "Gráfico de conhecimento"
695
-
696
- #: inc/admin/admin.php:431
697
- msgid "Your social accounts"
698
- msgstr "Suas contas sociais"
699
-
700
- #: inc/admin/admin.php:432
701
- msgid "Facebook"
702
- msgstr "Facebook"
703
-
704
- #: inc/admin/admin.php:433
705
- msgid "Twitter"
706
- msgstr "Twitter"
707
-
708
- #: inc/admin/admin.php:499 inc/admin/admin.php:507
709
- msgid "Tracking"
710
- msgstr "Rastreamento"
711
-
712
- #: inc/admin/admin.php:500 inc/admin/admin.php:508
713
- msgid "Events"
714
- msgstr "Eventos"
715
-
716
- #: inc/admin/admin.php:501 inc/admin/admin.php:509
717
- msgid "Custom Dimensions"
718
- msgstr "Dimensões customizadas"
719
-
720
- #: inc/admin/admin.php:502
721
- msgid "Stats in Dashboard"
722
- msgstr "Estatísticas no Painel de Controle"
723
-
724
- #: inc/admin/admin.php:577
725
- msgid "Appearance"
726
- msgstr "Aparência"
727
-
728
- #: inc/admin/admin.php:578
729
- msgid "Security"
730
- msgstr "Segurança"
731
-
732
- #: inc/admin/admin.php:610
733
- msgid "Export Settings"
734
- msgstr "Configurações de exportação"
735
-
736
- #: inc/admin/admin.php:612
737
- msgid "Export the plugin settings for this site as a .json file. This allows you to easily import the configuration into another site."
738
- msgstr "Exporte as configurações do plugin para este site como um arquivo .json. Isso permite que você importe facilmente a configuração para outro site."
739
-
740
- #: inc/admin/admin.php:617
741
- msgid "Export"
742
- msgstr "Exportar"
743
-
744
- #: inc/admin/admin.php:624
745
- msgid "Import Settings"
746
- msgstr "Configurações de importação"
747
-
748
- #: inc/admin/admin.php:626
749
- msgid "Import the plugin settings from a .json file. This file can be obtained by exporting the settings on another site using the form above."
750
- msgstr "Importe as configurações do plugin de um arquivo .json. Este arquivo pode ser obtido exportando as configurações em outro site usando o formulário acima."
751
-
752
- #: inc/admin/admin.php:634 inc/admin/admin.php:657
753
- msgid "Import"
754
- msgstr "Importar"
755
-
756
- #: inc/admin/admin.php:642
757
- msgid "Import Redirections"
758
- msgstr "Redirecionamentos de importação"
759
-
760
- #: inc/admin/admin.php:644
761
- msgid "Import your own redirections from a .csv file (separator \";\"). You must have 3 columns in this order: url to match (without your domain name), url to redirect in absolute and type of redirection (301, 302 or 307)."
762
- msgstr "Importe seus próprios redirecionamentos a partir de um arquivo .csv (separador \\ \"; \"). Você deve ter 3 colunas nesta ordem: url para combinar (sem seu nome de domínio), url para redirecionar em absoluto e tipo de redirecionamento (301, 302 ou 307)."
763
-
764
- #: inc/admin/admin.php:647
765
- msgid "Download a CSV example"
766
- msgstr "Faça o download de um exemplo CSV"
767
-
768
- #: inc/admin/admin.php:665
769
- msgid "Import posts and terms metadata from Yoast"
770
- msgstr "Importar posts e termos metadados de Yoast"
771
-
772
- #: inc/admin/admin.php:667
773
- msgid "By clicking Migrate, we'll import:"
774
- msgstr "Ao clicar em Migrar, importaremos:"
775
-
776
- #: inc/admin/admin.php:669
777
- msgid "Title tags"
778
- msgstr "Título"
779
-
780
- #: inc/admin/admin.php:671
781
- msgid "Facebook Open Graph tags (title, description and image thumbnail)"
782
- msgstr "Etiquetas do Facebook Open Graph (título, descrição e miniatura da imagem)"
783
-
784
- #: inc/admin/admin.php:672
785
- msgid "Twitter tags (title, description and image thumbnail)"
786
- msgstr "Tags do Twitter (título, descrição e miniatura da imagem)"
787
-
788
- #: inc/admin/admin.php:673
789
- msgid "Meta Robots (noindex, nofollow...)"
790
- msgstr "Meta Robots (noindex, nofollow ...)"
791
-
792
- #: inc/admin/admin.php:676
793
- msgid "<strong>WARNING:</strong> Migration will delete all SEOPress posts metadata"
794
- msgstr "<strong>AVISO: </strong> A migração apagará todos os metadados das postagens do SEOPress"
795
-
796
- #: inc/admin/admin.php:677
797
- msgid "Migrate now"
798
- msgstr "Migre agora"
799
-
800
- #: inc/admin/admin.php:684
801
- msgid "Reset All Notices From Notifications Center"
802
- msgstr "Redefinir todos os avisos do Centro de notificações"
803
-
804
- #: inc/admin/admin.php:686
805
- msgid "By clicking Reset Notices, you'll see all notices again in notifications center."
806
- msgstr "Ao clicar em Repor Avisos, você verá todos os avisos novamente no centro de notificações."
807
-
808
- #: inc/admin/admin.php:691
809
- msgid "Reset notices"
810
- msgstr "Repor avisos"
811
-
812
- #: inc/admin/admin.php:698
813
- msgid "Reset All Settings"
814
- msgstr "Redefinir todas as configurações"
815
-
816
- #: inc/admin/admin.php:700
817
- msgid "<strong>WARNING:</strong> Delete all options related to SEOPress in your database AND set settings to their default values."
818
- msgstr "<strong>AVISO:</strong> Exclua todas as opções relacionadas ao SEOPress em seu banco de dados e configure as configurações para seus valores padrão."
819
-
820
- #: inc/admin/admin.php:705
821
- msgid "Reset settings"
822
- msgstr "Redefinir configurações"
823
-
824
- #: inc/admin/admin.php:797 inc/admin/admin.php:803
825
- msgid "SEO Tools"
826
- msgstr "Ferramentas de SEO"
827
-
828
- #: inc/admin/admin.php:798 inc/admin/admin.php:804 inc/admin/admin.php:810
829
- #: inc/admin/admin.php:815
830
- msgid "Useful links"
831
- msgstr "Links Úteis"
832
-
833
- #: inc/admin/admin.php:802 inc/admin/admin.php:814
834
- msgid "Notifications Center"
835
- msgstr "Centro de Notificações"
836
-
837
- #: inc/admin/admin.php:835
838
- msgid "Your theme doesn't use <strong>add_theme_support('title-tag');</strong>"
839
- msgstr "Seu tema não usa <strong>add_theme_support('title-tag');</strong>"
840
-
841
- #: inc/admin/admin.php:836 inc/admin/admin.php:891 inc/admin/admin.php:901
842
- #: inc/admin/admin.php:911
843
- msgid "High impact"
844
- msgstr "Alto impacto"
845
-
846
- #: inc/admin/admin.php:846 inc/admin/admin.php:877 inc/admin/admin.php:4321
847
- #: inc/admin/admin.php:4342 inc/admin/admin.php:4363 inc/admin/admin.php:4384
848
- msgid "Learn more"
849
- msgstr "Consulte mais Informação"
850
-
851
- #: inc/admin/admin.php:853
852
- msgid "We notice that you use Yoast SEO plugin. <br>Do you want to migrate all your posts metadata to SEOPress?"
853
- msgstr "Percebemos que você usa o plug-in Yoast SEO. <br>Você quer migrar todas as suas metadatas de posts para o SEOPress?"
854
-
855
- #: inc/admin/admin.php:855
856
- msgid "Migrate!"
857
- msgstr "Migrar!"
858
-
859
- #: inc/admin/admin.php:876
860
- msgid "Your site doesn't use an SSL certificate!"
861
- msgstr "Seu site não usa um certificado SSL!"
862
-
863
- #: inc/admin/admin.php:878
864
- msgid "Low impact"
865
- msgstr "Baixo impacto"
866
-
867
- #: inc/admin/admin.php:880
868
- msgid "Buy an SSL!"
869
- msgstr "Compre um SSL!"
870
-
871
- #: inc/admin/admin.php:890
872
- msgid "Your site is not visible to Search Engines!"
873
- msgstr "Seu site não está visível para os motores de busca!"
874
-
875
- #: inc/admin/admin.php:893 inc/admin/admin.php:903 inc/admin/admin.php:913
876
- #: inc/admin/admin.php:937 inc/admin/admin.php:991 inc/admin/admin.php:1004
877
- #: inc/admin/admin.php:1076
878
- msgid "Fix this!"
879
- msgstr "Corrijir isso!"
880
-
881
- #: inc/admin/admin.php:900
882
- msgid "Your site title is empty!"
883
- msgstr "O título do seu site está vazio!"
884
-
885
- #: inc/admin/admin.php:910 inc/admin/admin.php:2857
886
- msgid "Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
887
- msgstr "Os seus permalinks não são SEO Friendly! Habilite belos permalinks para corrigir isso."
888
-
889
- #: inc/admin/admin.php:934
890
- msgid "You RSS feed show full text!"
891
- msgstr "Você RSS feed mostra o texto completo!"
892
-
893
- #: inc/admin/admin.php:935 inc/admin/admin.php:989 inc/admin/admin.php:1002
894
- msgid "Medium impact"
895
- msgstr "Médio 500"
896
-
897
- #: inc/admin/admin.php:961
898
- msgid "Break comments into pages is ON!"
899
- msgstr "Os comentários de quebra nas páginas são ON!"
900
-
901
- #: inc/admin/admin.php:962 inc/admin/admin.php:1026 inc/admin/admin.php:1062
902
- msgid "Huge impact"
903
- msgstr "Grande impacto"
904
-
905
- #: inc/admin/admin.php:964
906
- msgid "Disable this!"
907
- msgstr "Desativar!"
908
-
909
- #: inc/admin/admin.php:988
910
- msgid "Display more posts per page on homepage and archives"
911
- msgstr "Mostrar Post Meta no Arquivo"
912
-
913
- #: inc/admin/admin.php:1001
914
- msgid "You don't have an XML Sitemap!"
915
- msgstr "Você não tem um Sitemap XML!"
916
-
917
- #: inc/admin/admin.php:1025
918
- msgid "Do you have a Google Business page? It's free!"
919
- msgstr "Você tem uma página do Google Business? É grátis!"
920
-
921
- #: inc/admin/admin.php:1028
922
- msgid "Create your page now!"
923
- msgstr "Crie sua página agora!"
924
-
925
- #: inc/admin/admin.php:1061
926
- msgid "Add your site to Google. It's free!"
927
- msgstr "Adicione seu site ao Google. É grátis!"
928
-
929
- #: inc/admin/admin.php:1064
930
- msgid "Add your site to Search Console!"
931
- msgstr "Adicione seu site ao Search Console!"
932
-
933
- #: inc/admin/admin.php:1074
934
- msgid "You have to enter your licence key to get updates and support"
935
- msgstr "Você deve inserir sua chave de licença para obter atualizações e suporte"
936
-
937
- #: inc/admin/admin.php:1089
938
- msgid "Check websites setup on your server"
939
- msgstr "Verifique a configuração dos sites em seu servidor"
940
-
941
- #: inc/admin/admin.php:1091
942
- msgid "Host IP: "
943
- msgstr "Host IP: "
944
-
945
- #: inc/admin/admin.php:1097
946
- msgid "Server IP Address: "
947
- msgstr "Endereço IP do servidor: "
948
-
949
- #: inc/admin/admin.php:1099
950
- msgid "Last scrape: "
951
- msgstr "Última raspa: "
952
-
953
- #: inc/admin/admin.php:1100
954
- msgid "Number of websites on your server: "
955
- msgstr "Número de sites no seu servidor: "
956
-
957
- #: inc/admin/admin.php:1112
958
- msgid "Get list"
959
- msgstr "Obter lista"
960
-
961
- #: inc/admin/admin.php:1120
962
- msgid "Check your domain expiration date"
963
- msgstr "Verifique a data de validade do seu domínio"
964
-
965
- #: inc/admin/admin.php:1151
966
- msgid "Your domain name: "
967
- msgstr "Seu nome: "
968
-
969
- #: inc/admin/admin.php:1154
970
- msgid "Your registrar: "
971
- msgstr "Seu registrador: "
972
-
973
- #: inc/admin/admin.php:1157
974
- msgid "Last updated date: "
975
- msgstr "Exibir data atualizada: "
976
-
977
- #: inc/admin/admin.php:1160
978
- msgid "Domain creation date: "
979
- msgstr "Data de criação do domínio: "
980
-
981
- #: inc/admin/admin.php:1163
982
- msgid "Your domain expires: "
983
- msgstr "Seu domínio expira: "
984
-
985
- #: inc/admin/admin.php:1168
986
- msgid "Sorry, you domain name can't be verified :("
987
- msgstr "Desculpe, o seu nome de domínio não pode ser verificado :("
988
-
989
- #: inc/admin/admin.php:1171
990
- msgid "Email me before expiration"
991
- msgstr "Envie-me um email antes do vencimento"
992
-
993
- #: inc/admin/admin.php:1180
994
- msgid "Check your Alexa Rank (Amazon index)"
995
- msgstr "Verifique o seu ranking Alexa (índice Amazon)"
996
-
997
- #: inc/admin/admin.php:1195
998
- msgid "Your Alexa Rank"
999
- msgstr "Sua avaliação"
1000
-
1001
- #: inc/admin/admin.php:1217
1002
- msgid "Country Rank: "
1003
- msgstr "Classificação do país: "
1004
-
1005
- #: inc/admin/admin.php:1226
1006
- msgid "The lower, the best"
1007
- msgstr "O mais baixo, o melhor"
1008
-
1009
- #: inc/admin/admin.php:1230
1010
- msgid "Get Alexa Rank"
1011
- msgstr "Obter Alexa Rank"
1012
-
1013
- #: inc/admin/admin.php:1238
1014
- msgid "Upload a list of links to disavow to Google"
1015
- msgstr "Carregar uma lista de links para desautorizar o Google"
1016
-
1017
- #: inc/admin/admin.php:1239
1018
- msgid "Google Trends"
1019
- msgstr "Google Plus"
1020
-
1021
- #: inc/admin/admin.php:1240
1022
- msgid "Google Campaign URL Builder tool"
1023
- msgstr "Ferramenta Google Builder URL da campanha"
1024
-
1025
- #: inc/admin/admin.php:1253
1026
- msgid "Titles & metas"
1027
- msgstr "Títulos e metas"
1028
-
1029
- #: inc/admin/admin.php:1254
1030
- msgid "Manage all your titles & metas"
1031
- msgstr "Gerencie todos os seus títulos e metas"
1032
-
1033
- #: inc/admin/admin.php:1255 inc/admin/admin.php:1293 inc/admin/admin.php:1331
1034
- #: inc/admin/admin.php:1369 inc/admin/admin.php:1407 inc/admin/admin.php:1436
1035
- #: inc/admin/admin.php:1464 inc/admin/admin.php:1492 inc/admin/admin.php:1520
1036
- #: inc/admin/admin.php:1548 inc/admin/admin.php:1586 inc/admin/admin.php:1607
1037
- #: inc/admin/admin.php:1646 inc/admin/admin.php:1675 inc/admin/admin.php:1725
1038
- #: inc/admin/admin.php:1736 inc/admin/admin.php:1748 inc/admin/admin.php:1760
1039
- #: inc/admin/admin.php:1781
1040
- msgid "Manage"
1041
- msgstr "Gerir"
1042
-
1043
- #: inc/admin/admin.php:1292
1044
- msgid "Manage your XML / Image / HTML Sitemap"
1045
- msgstr "Gerencie seu mapa do site XML / Image / HTML"
1046
-
1047
- #: inc/admin/admin.php:1330
1048
- msgid "Open Graph, Twitter Card, Google Knowledge Graph and more..."
1049
- msgstr "Gráfico aberto, Cartão Twitter, Gráfico de conhecimento do Google e mais ..."
1050
-
1051
- #: inc/admin/admin.php:1368
1052
- msgid "Track everything about your visitors with Google Analytics"
1053
- msgstr "Acompanhe tudo sobre seus visitantes com o Google Analytics"
1054
-
1055
- #: inc/admin/admin.php:1406
1056
- msgid "Advanced SEO options for advanced users!"
1057
- msgstr "Opções avançadas de SEO para usuários avançados!"
1058
-
1059
- #: inc/admin/admin.php:1435
1060
- msgid "Improve WooCommerce SEO"
1061
- msgstr "Melhore o SEO do WooCommerce"
1062
-
1063
- #: inc/admin/admin.php:1463
1064
- msgid "Add Google Local Business data type"
1065
- msgstr "Adicionar tipo de dados do Google Local Business"
1066
-
1067
- #: inc/admin/admin.php:1491
1068
- msgid "Add Dublin Core meta tags"
1069
- msgstr "Adicionar anotações de Dublin Core"
1070
-
1071
- #: inc/admin/admin.php:1519
1072
- msgid "Add data types to your content: articles, courses, recipes, videos, events and products"
1073
- msgstr "Adicione tipos de dados ao seu conteúdo: artigos, cursos, receitas, vídeos, eventos e produtos"
1074
-
1075
- #: inc/admin/admin.php:1547
1076
- msgid "Enable Breadcrumbs for your theme and improve your SEO in SERPs"
1077
- msgstr "Permita Breadcrumbs para o seu tema e melhore o seu SEO em SERPs"
1078
-
1079
- #: inc/admin/admin.php:1585
1080
- msgid "Track your website performance to improve SEO with Google Page Speed"
1081
- msgstr "Acompanhe o desempenho do seu site para melhorar o SEO com o Google Page Speed"
1082
-
1083
- #: inc/admin/admin.php:1606
1084
- msgid "Edit your robots.txt file"
1085
- msgstr "Edite seu arquivo robots.txt"
1086
-
1087
- #: inc/admin/admin.php:1645
1088
- msgid "Optimize your site for Google News"
1089
- msgstr "Otimize seu site para o Google News"
1090
-
1091
- #: inc/admin/admin.php:1673
1092
- msgid "Monitor 404, create 301, 302 and 307 redirections"
1093
- msgstr "Monitor 404, crie redirecionamentos 301, 302 e 307"
1094
-
1095
- #: inc/admin/admin.php:1674
1096
- msgid "See redirects"
1097
- msgstr "Ver redirecionamentos"
1098
-
1099
- #: inc/admin/admin.php:1712
1100
- msgid "Scan your site to find SEO problems."
1101
- msgstr "Digitalize seu site para encontrar problemas de SEO."
1102
-
1103
- #: inc/admin/admin.php:1713
1104
- msgid "See broken links"
1105
- msgstr "Veja links quebrados"
1106
-
1107
- #: inc/admin/admin.php:1714
1108
- msgid "Scan"
1109
- msgstr "Digitalizar"
1110
-
1111
- #: inc/admin/admin.php:1723
1112
- msgid "Check your backlinks with Majestic API."
1113
- msgstr "Verifique os seus backlinks com a Majestic API."
1114
-
1115
- #: inc/admin/admin.php:1724
1116
- msgid "See backlinks"
1117
- msgstr "Ver backlinks"
1118
-
1119
- #: inc/admin/admin.php:1735
1120
- msgid "Edit your htaccess file."
1121
- msgstr "Edite seu arquivo htaccess."
1122
-
1123
- #: inc/admin/admin.php:1747
1124
- msgid "Configure default WordPress RSS."
1125
- msgstr "Configure o RSS WordPress padrão."
1126
-
1127
- #: inc/admin/admin.php:1759
1128
- msgid "Import / export SEOPress settings from site to site."
1129
- msgstr "Importar / exportar as configurações do SEOPress de um site para outro."
1130
-
1131
- #: inc/admin/admin.php:1780
1132
- msgid "Edit your SEOPress license key."
1133
- msgstr "Edite sua chave de licença SEOPress."
1134
-
1135
- #: inc/admin/admin.php:1858
1136
- msgid "Site title"
1137
- msgstr "Titulo do site"
1138
-
1139
- #: inc/admin/admin.php:2090
1140
- msgid "Indicate paginated content to Google"
1141
- msgstr "Indique conteúdo paginado ao Google"
1142
-
1143
- #: inc/admin/admin.php:2107 inc/admin/admin.php:3672
1144
- msgid "Enable XML Sitemap"
1145
- msgstr "Ativar mapa do site XML"
1146
-
1147
- #: inc/admin/admin.php:2115
1148
- msgid "Enable XML Image Sitemaps"
1149
- msgstr "Ativar mapa do site de Imagem XML"
1150
-
1151
- #: inc/admin/admin.php:2123 inc/admin/admin.php:3726
1152
- msgid "Enable HTML Sitemap"
1153
- msgstr "Habilitar mapa HTML"
1154
-
1155
- #: inc/admin/admin.php:2139
1156
- msgid "Check to INCLUDE Post Types"
1157
- msgstr "Verifique INCLUIR Tipos de postagem"
1158
-
1159
- #: inc/admin/admin.php:2155
1160
- msgid "Check to INCLUDE Taxonomies"
1161
- msgstr "Verifique para INCLUIR Taxonomias"
1162
-
1163
- #: inc/admin/admin.php:2171
1164
- msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
1165
- msgstr "Digite uma ou mais postagens, página ou ID (s) do tipo de postagem personalizado para exibir o sitemap"
1166
-
1167
- #: inc/admin/admin.php:2179
1168
- msgid "Exclude some Posts, Pages or Custom Post Types"
1169
- msgstr "Excluir algumas postagens, páginas ou tipos de postagem personalizados"
1170
-
1171
- #: inc/admin/admin.php:2187
1172
- msgid "Disable the display of the publication date"
1173
- msgstr "Desativar a exibição da data de publicação"
1174
-
1175
- #: inc/admin/admin.php:2204
1176
- msgid "Person or organization"
1177
- msgstr "Pessoa ou organização"
1178
-
1179
- #: inc/admin/admin.php:2212
1180
- msgid "Your name / organization"
1181
- msgstr "Seu nome / organização"
1182
-
1183
- #: inc/admin/admin.php:2220
1184
- msgid "Your photo / organization logo"
1185
- msgstr "Seu logotipo de foto / organização"
1186
-
1187
- #: inc/admin/admin.php:2228
1188
- msgid "Organization Phone number (only for Organization)"
1189
- msgstr "Organização Número de telefone (somente para Organização)"
1190
-
1191
- #: inc/admin/admin.php:2236
1192
- msgid "Contact type (only for Organization)"
1193
- msgstr "Tipo de contato (somente para Organização)"
1194
-
1195
- #: inc/admin/admin.php:2244
1196
- msgid "Contact option (only for Organization)"
1197
- msgstr "Opção de contato (somente para Organização)"
1198
-
1199
- #: inc/admin/admin.php:2261
1200
- msgid "Facebook Page URL"
1201
- msgstr "Link do Facebook"
1202
-
1203
- #: inc/admin/admin.php:2269
1204
- msgid "Twitter Username"
1205
- msgstr "Usuário no Twitter"
1206
-
1207
- #: inc/admin/admin.php:2277
1208
- msgid "Google + URL"
1209
- msgstr "Link do Google Plus"
1210
-
1211
- #: inc/admin/admin.php:2285
1212
- msgid "Pinterest URL"
1213
- msgstr "Pinterest"
1214
-
1215
- #: inc/admin/admin.php:2293
1216
- msgid "Instagram URL"
1217
- msgstr "Link do Instagram"
1218
-
1219
- #: inc/admin/admin.php:2301
1220
- msgid "YouTube URL"
1221
- msgstr "Link do YouTube"
1222
-
1223
- #: inc/admin/admin.php:2309
1224
- msgid "LinkedIn URL"
1225
- msgstr "Link do Linkedin"
1226
-
1227
- #: inc/admin/admin.php:2317
1228
- msgid "MySpace URL"
1229
- msgstr "URL do MySpace"
1230
-
1231
- #: inc/admin/admin.php:2325
1232
- msgid "Soundcloud URL"
1233
- msgstr "URL do Soundcloud"
1234
-
1235
- #: inc/admin/admin.php:2333
1236
- msgid "Tumblr URL"
1237
- msgstr "Link Tumblr"
1238
-
1239
- #: inc/admin/admin.php:2350
1240
- msgid "Enable Open Graph Data"
1241
- msgstr "Habilitar dados do gráfico aberto"
1242
-
1243
- #: inc/admin/admin.php:2358
1244
- msgid "Select a default image"
1245
- msgstr "Selecione uma imagem padrão"
1246
-
1247
- #: inc/admin/admin.php:2366
1248
- msgid "Facebook Admin ID"
1249
- msgstr "Admin ID do Facebook"
1250
-
1251
- #: inc/admin/admin.php:2374
1252
- msgid "Facebook App ID"
1253
- msgstr "App ID do Facebook"
1254
-
1255
- #: inc/admin/admin.php:2391
1256
- msgid "Enable Twitter Card"
1257
- msgstr "Ativar cartão do Twitter"
1258
-
1259
- #: inc/admin/admin.php:2399
1260
- msgid "Use Open Graph if no Twitter Cards filled"
1261
- msgstr "Use Gráfico aberto se nenhum cartão do Twitter preenchido"
1262
-
1263
- #: inc/admin/admin.php:2407
1264
- msgid "Default Twitter Image"
1265
- msgstr "Imagem padrão do Twitter"
1266
-
1267
- #: inc/admin/admin.php:2415
1268
- msgid "Image size for Twitter Summary card"
1269
- msgstr "Tamanho da imagem para o Twitter Summary Card"
1270
-
1271
- #: inc/admin/admin.php:2432 inc/admin/admin.php:4265
1272
- msgid "Enable Google Analytics tracking"
1273
- msgstr "Habilitar o acompanhamento do Google Analytics"
1274
-
1275
- #: inc/admin/admin.php:2440
1276
- msgid "Enter your tracking ID"
1277
- msgstr "Digite seu ID de rastreamento"
1278
-
1279
- #: inc/admin/admin.php:2448
1280
- msgid "Exclude user roles from tracking"
1281
- msgstr "Exclua as funções dos usuários do rastreamento"
1282
-
1283
- #: inc/admin/admin.php:2466 inc/admin/admin.php:4318
1284
- msgid "Enable remarketing, demographics and interest reporting"
1285
- msgstr "Permitir remarketing, dados demográficos e relatórios de interesse"
1286
-
1287
- #: inc/admin/admin.php:2474 inc/admin/admin.php:4339
1288
- msgid "Enable IP Anonymization"
1289
- msgstr "Ativar anonimato de IP"
1290
-
1291
- #: inc/admin/admin.php:2482 inc/admin/admin.php:4360
1292
- msgid "Enhanced Link Attribution"
1293
- msgstr "Atribuição de Link melhorada"
1294
-
1295
- #: inc/admin/admin.php:2490 inc/admin/admin.php:4381
1296
- msgid "Enable cross-domain tracking"
1297
- msgstr "Habilitar rastreamento entre domínios"
1298
-
1299
- #: inc/admin/admin.php:2498
1300
- msgid "Cross domains"
1301
- msgstr "Cross-Domain"
1302
-
1303
- #: inc/admin/admin.php:2516
1304
- msgid "Enable external links tracking (all links with target _blank attribute)"
1305
- msgstr "Ativar rastreamento de links externos (todos os links com o atributo _blank do alvo)"
1306
-
1307
- #: inc/admin/admin.php:2524
1308
- msgid "Enable downloads tracking (eg: PDF, XLSX, DOCX...)"
1309
- msgstr "Habilite o rastreamento de downloads (por exemplo: PDF, XLSX, DOCX ...)"
1310
-
1311
- #: inc/admin/admin.php:2532
1312
- msgid "Track click downloads"
1313
- msgstr "Acompanhar downloads de cliques"
1314
-
1315
- #: inc/admin/admin.php:2540
1316
- msgid "Enable affiliate / outbound links tracking (eg: aff, go, out, recommends"
1317
- msgstr "Ative o rastreamento de links afiliados / de saída (por exemplo: aff, go, out, recommend"
1318
-
1319
- #: inc/admin/admin.php:2548
1320
- msgid "Track affiliate / outbound links"
1321
- msgstr "Acompanhar links afiliados / de saída"
1322
-
1323
- #: inc/admin/admin.php:2566
1324
- msgid "Track Authors"
1325
- msgstr "Acompanhar Autores"
1326
-
1327
- #: inc/admin/admin.php:2574
1328
- msgid "Track Categories"
1329
- msgstr "Categorias de trilha"
1330
-
1331
- #: inc/admin/admin.php:2582
1332
- msgid "Track Tags"
1333
- msgstr "Etiquetas de faixa"
1334
-
1335
- #: inc/admin/admin.php:2590
1336
- msgid "Track Post Types"
1337
- msgstr "Tipos de postagem de pista"
1338
-
1339
- #: inc/admin/admin.php:2598
1340
- msgid "Track Logged In Users"
1341
- msgstr "Controlar usuários registrados"
1342
-
1343
- #: inc/admin/admin.php:2615
1344
- msgid "Redirect attachment pages to post parent"
1345
- msgstr "Redirecionar páginas de anexos para postar o pai"
1346
-
1347
- #: inc/admin/admin.php:2623
1348
- msgid "Remove stop words from URL"
1349
- msgstr "Remova as palavras de parada do URL"
1350
-
1351
- #: inc/admin/admin.php:2631
1352
- msgid "Remove /category/ in URL"
1353
- msgstr "Remover / categoria / em URL"
1354
-
1355
- #: inc/admin/admin.php:2639 inc/admin/admin.php:4927
1356
- msgid "Disable trailing slash for metas"
1357
- msgstr "Desativar a barra diagonal para metas"
1358
-
1359
- #: inc/admin/admin.php:2647
1360
- msgid "Google site verification"
1361
- msgstr "Verificação do site do Google"
1362
-
1363
- #: inc/admin/admin.php:2655
1364
- msgid "Bing site verification"
1365
- msgstr "Verificação do site Bing"
1366
-
1367
- #: inc/admin/admin.php:2663
1368
- msgid "Pinterest site verification"
1369
- msgstr "Verificação do site Pinterest"
1370
-
1371
- #: inc/admin/admin.php:2671
1372
- msgid "Yandex site verification"
1373
- msgstr "Verificação do site Yandex"
1374
-
1375
- #: inc/admin/admin.php:2688
1376
- msgid "SEOPress in admin bar"
1377
- msgstr "SEOPress na barra de administração"
1378
-
1379
- #: inc/admin/admin.php:2696
1380
- msgid "Move SEOPress metaboxe position"
1381
- msgstr "Mover a posição do metaboxe SEOPress"
1382
-
1383
- #: inc/admin/admin.php:2704
1384
- msgid "Hide SEOPress Notifications Center"
1385
- msgstr "Ocultar Centro de notificações SEOPress"
1386
-
1387
- #: inc/admin/admin.php:2712
1388
- msgid "Show Title tag column in post types"
1389
- msgstr "Mostrar coluna de tag de título em tipos de postagem"
1390
-
1391
- #: inc/admin/admin.php:2720
1392
- msgid "Show Meta description column in post types"
1393
- msgstr "Mostrar coluna de descrição Meta em tipos de postagem"
1394
-
1395
- #: inc/admin/admin.php:2728
1396
- msgid "Show noindex column in post types"
1397
- msgstr "Mostrar coluna noindex em tipos de postagem"
1398
-
1399
- #: inc/admin/admin.php:2736
1400
- msgid "Show nofollow column in post types"
1401
- msgstr "Mostrar coluna nofollow em tipos de postagem"
1402
-
1403
- #: inc/admin/admin.php:2744
1404
- msgid "Show total number of words column in post types"
1405
- msgstr "Mostrar número total de coluna de palavras em tipos de publicação"
1406
-
1407
- #: inc/admin/admin.php:2752
1408
- msgid "Show W3C validator column in post types"
1409
- msgstr "Mostrar coluna do validador W3C em tipos de postagem"
1410
-
1411
- #: inc/admin/admin.php:2760
1412
- msgid "Show Google Page Speed column in post types"
1413
- msgstr "Mostrar coluna de velocidade da página do Google em tipos de postagem"
1414
-
1415
- #: inc/admin/admin.php:2769
1416
- msgid "Hide Genesis SEO Metaboxe"
1417
- msgstr "Ocultar Genesis SEO Metaboxe"
1418
-
1419
- #: inc/admin/admin.php:2786
1420
- msgid "Block SEO metaboxe to user roles"
1421
- msgstr "Bloqueie metaboxe de SEO para funções de usuário"
1422
-
1423
- #: inc/admin/admin.php:2830
1424
- msgid "<p>Customize your titles & metas for homepage</p>"
1425
- msgstr "<p>Personalizar seus títulos e metas para a página inicial</p>"
1426
-
1427
- #: inc/admin/admin.php:2835
1428
- msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
1429
- msgstr "<p>Personalize seus títulos e metas para Tipos de postagem personalizados simples</p>"
1430
-
1431
- #: inc/admin/admin.php:2840
1432
- msgid "<p>Customize your metas for all pages</p>"
1433
- msgstr "<p>Personalize suas metas para todas as páginas</p>"
1434
-
1435
- #: inc/admin/admin.php:2845
1436
- msgid "<p>Customize your metas for all taxonomies archives</p>"
1437
- msgstr "<p>Personalize suas metas para todos os arquivos de taxonomias</p>"
1438
-
1439
- #: inc/admin/admin.php:2850
1440
- msgid "<p>Customize your metas for all archives</p>"
1441
- msgstr "<p>Personalize seus metas para todos os arquivos</p>"
1442
-
1443
- #: inc/admin/admin.php:2861
1444
- msgid "To view your sitemap, enable permalinks (not default one), and save settings to flush them."
1445
- msgstr "Para visualizar o seu sitemap, habilite permalinks (não padrão) e salve as configurações para liberá-los."
1446
-
1447
- #: inc/admin/admin.php:2862
1448
- msgid "Only the last 1000 items are listed in Sitemaps for performances issues."
1449
- msgstr "Somente os últimos 1000 itens estão listados em Sitemaps para problemas de desempenho."
1450
-
1451
- #: inc/admin/admin.php:2864
1452
- msgid "Your server use NGINX. If XML Sitemaps doesn't work, you have to add this rules to your configuration:"
1453
- msgstr "Seu servidor usa NGINX. Se XML Sitemaps não funcionar, você deve adicionar estas regras à sua configuração:"
1454
-
1455
- #: inc/admin/admin.php:2874
1456
- msgid "Noindex content will not be displayed in Sitemaps."
1457
- msgstr "O conteúdo do Noindex não será exibido nos Sitemaps."
1458
-
1459
- #: inc/admin/admin.php:2876
1460
- msgid "View your sitemap"
1461
- msgstr "Veja seu sitemap"
1462
-
1463
- #: inc/admin/admin.php:2878
1464
- msgid "Ping Google manually"
1465
- msgstr "Ping Google manualmente"
1466
-
1467
- #: inc/admin/admin.php:2880
1468
- msgid "Flush permalinks"
1469
- msgstr "Descarregar os links permanentes"
1470
-
1471
- #: inc/admin/admin.php:2886
1472
- msgid "<p>Create an HTML for your visitors and boost your SEO.</p>"
1473
- msgstr "<p>Crie um HTML para seus visitantes e turbine seu SEO.</p>"
1474
-
1475
- #: inc/admin/admin.php:2901
1476
- msgid "<p>Include / Exclude Post Types</p>"
1477
- msgstr "<p>Incluir / Excluir tipos de postagem</p>"
1478
-
1479
- #: inc/admin/admin.php:2906
1480
- msgid "<p>Include / Exclude Taxonomies</p>"
1481
- msgstr "<p>Incluir / Excluir Taxonomias</p>"
1482
-
1483
- #: inc/admin/admin.php:2911
1484
- msgid "<p>Configure Google Knowledge Graph</p>"
1485
- msgstr "<p>Configure o Google Knowledge Graph</p>"
1486
-
1487
- #: inc/admin/admin.php:2916
1488
- msgid "<p>Link your site with your social accounts</p>"
1489
- msgstr "<p>Vincule seu site com suas contas sociais</p>"
1490
-
1491
- #: inc/admin/admin.php:2921
1492
- msgid "<p>Manage Open Graph datas</p>"
1493
- msgstr "<p>Gerenciar Dados do Gráfico Aberto</p>"
1494
-
1495
- #: inc/admin/admin.php:2926
1496
- msgid "<p>Manage your Twitter card</p>"
1497
- msgstr "<p>Gerencie seu cartão do Twitter</p>"
1498
-
1499
- #: inc/admin/admin.php:2931
1500
- msgid "<p>Link your Google Analytics to your website</p>"
1501
- msgstr "<p>Vincule seu Google Analytics ao seu site</p>"
1502
-
1503
- #: inc/admin/admin.php:2936
1504
- msgid "<p>Configure your Google Analytics tracking code</p>"
1505
- msgstr "<p>Configure seu código de rastreamento do Google Analytics</p>"
1506
-
1507
- #: inc/admin/admin.php:2941
1508
- msgid "<p>Track events in Google Analytics</p>"
1509
- msgstr "<p>Acompanha eventos no Google Analytics</p>"
1510
-
1511
- #: inc/admin/admin.php:2946
1512
- msgid "<p>Configure your Google Analytics custom dimensions. <br>Custom dimensions and custom metrics are like default dimensions and metrics in your Analytics account,<br> except you create them yourself. You can use them to collect and analyze data that Analytics doesn't automatically track.<br> Notice that you have to setup your custom dimensions in your Google Analytics account too. More info by clicking on help icon."
1513
- msgstr "<p>Configure as suas dimensões personalizadas do Google Analytics. <br> As dimensões personalizadas e métricas personalizadas são como dimensões e métricas padrão em sua conta do Google Analytics, exceto você criá-las você mesmo. Você pode usá-los para coletar e analisar dados que o Analytics não acompanha automaticamente. <br> Observe que você também precisa configurar suas dimensões personalizadas em sua conta do Google Analytics. Mais informações clicando no ícone de ajuda."
1514
-
1515
- #: inc/admin/admin.php:2961
1516
- msgid "<p>Advanced SEO options</p>"
1517
- msgstr "<p>Opções avançadas de SEO</p>"
1518
-
1519
- #: inc/admin/admin.php:2966
1520
- msgid "<p>Customize SEOPress to fit your needs</p>"
1521
- msgstr "<p>Personalizar o SEOPress para atender às suas necessidades</p>"
1522
-
1523
- #: inc/admin/admin.php:2971
1524
- msgid "<p>Manage security</p>"
1525
- msgstr "<p>Gerenciar segurança</p>"
1526
-
1527
- #: inc/admin/admin.php:2982
1528
- msgid "My awesome website"
1529
- msgstr "Seu website"
1530
-
1531
- #: inc/admin/admin.php:2987 inc/admin/admin.php:2998 inc/admin/admin.php:3038
1532
- #: inc/admin/admin.php:3155 inc/admin/admin.php:3186 inc/admin/admin.php:3263
1533
- #: inc/admin/admin.php:3338 inc/admin/admin.php:3408 inc/admin/admin.php:3477
1534
- #: inc/admin/admin.php:3509
1535
- msgid "More tags"
1536
- msgstr "Mais opções"
1537
-
1538
- #: inc/admin/admin.php:2993
1539
- msgid "This is a cool website about Wookiees"
1540
- msgstr "Este é um site legal sobre Wookiees"
1541
-
1542
- #: inc/admin/admin.php:3001
1543
- msgid "Looking for editing your blog page?"
1544
- msgstr "Procurando a edição da página do seu blog?"
1545
-
1546
- #: inc/admin/admin.php:3015 inc/admin/admin.php:3126 inc/admin/admin.php:3240
1547
- #: inc/admin/admin.php:3327 inc/admin/admin.php:3397 inc/admin/admin.php:3466
1548
- #: inc/admin/admin.php:3500
1549
- msgid "Title template"
1550
- msgstr "Modelo de título"
1551
-
1552
- #: inc/admin/admin.php:3034
1553
- msgid "Post Title"
1554
- msgstr "Título da postagem"
1555
-
1556
- #: inc/admin/admin.php:3045 inc/admin/admin.php:3162 inc/admin/admin.php:3270
1557
- #: inc/admin/admin.php:3344 inc/admin/admin.php:3414 inc/admin/admin.php:3483
1558
- #: inc/admin/admin.php:3515
1559
- msgid "Meta description template"
1560
- msgstr "Modelo de descrição meta"
1561
-
1562
- #: inc/admin/admin.php:3106
1563
- msgid "Display date in Google search results?"
1564
- msgstr "Exibir data nos resultados de pesquisa do Google?"
1565
-
1566
- #: inc/admin/admin.php:3146
1567
- msgid "Category Title"
1568
- msgstr "Categoria"
1569
-
1570
- #: inc/admin/admin.php:3148
1571
- msgid "Tag Title"
1572
- msgstr "Título"
1573
-
1574
- #: inc/admin/admin.php:3150
1575
- msgid "Term Title"
1576
- msgstr "Título"
1577
-
1578
- #: inc/admin/admin.php:3179
1579
- msgid "Category Description"
1580
- msgstr "Categoria"
1581
-
1582
- #: inc/admin/admin.php:3181
1583
- msgid "Tag Description"
1584
- msgstr "Descrição do Tag"
1585
-
1586
- #: inc/admin/admin.php:3183
1587
- msgid "Term Description"
1588
- msgstr "Descrição do Termo"
1589
-
1590
- #: inc/admin/admin.php:3259
1591
- msgid "Post Type Archive Name"
1592
- msgstr "Tipo de Postagem Nome do arquivo"
1593
-
1594
- #: inc/admin/admin.php:3325
1595
- msgid "Author archives"
1596
- msgstr "Arquivos do autor"
1597
-
1598
- #: inc/admin/admin.php:3386
1599
- msgid "Disable author archives"
1600
- msgstr "Desabilitar arquivos do autor"
1601
-
1602
- #: inc/admin/admin.php:3395
1603
- msgid "Date archives"
1604
- msgstr "Arquivos de data"
1605
-
1606
- #: inc/admin/admin.php:3406
1607
- msgid "Archive date"
1608
- msgstr "Data do arquivo"
1609
-
1610
- #: inc/admin/admin.php:3455
1611
- msgid "Disable date archives"
1612
- msgstr "Desabilitar arquivos de data"
1613
-
1614
- #: inc/admin/admin.php:3464
1615
- msgid "Search archives"
1616
- msgstr "Procurar arquivos"
1617
-
1618
- #: inc/admin/admin.php:3475
1619
- msgid "Search Keywords"
1620
- msgstr "Procure palavras-chave"
1621
-
1622
- #: inc/admin/admin.php:3498
1623
- msgid "404 archives"
1624
- msgstr "404 arquivos"
1625
-
1626
- #: inc/admin/admin.php:3653
1627
- msgid "Add rel next/prev link in head of paginated archive pages"
1628
- msgstr "Adicione rel next / prev no cabeçalho das páginas de arquivo paginadas"
1629
-
1630
- #: inc/admin/admin.php:3655
1631
- msgid "Learn more on Google website"
1632
- msgstr "Saiba mais no site do Google"
1633
-
1634
- #: inc/admin/admin.php:3699
1635
- msgid "Enable Image Sitemaps"
1636
- msgstr "Ativar imagem do mapa do site"
1637
-
1638
- #: inc/admin/admin.php:3776 inc/admin/admin.php:3816
1639
- msgid "Include"
1640
- msgstr "Incluir"
1641
-
1642
- #: inc/admin/admin.php:3831
1643
- msgid "eg: 2, 28, 68"
1644
- msgstr "por exemplo: 2, 28, 68"
1645
-
1646
- #: inc/admin/admin.php:3835
1647
- msgid "You can also use this shorcode:"
1648
- msgstr "Você também pode usar esse shorcode:"
1649
-
1650
- #: inc/admin/admin.php:3845
1651
- msgid "eg: 13, 8, 38"
1652
- msgstr "por exemplo: 13, 8, 38"
1653
-
1654
- #: inc/admin/admin.php:3860
1655
- msgid "Disable date after each post, page, post type?"
1656
- msgstr "Desativar data após cada postagem, página, tipo de publicação?"
1657
-
1658
- #: inc/admin/admin.php:3876
1659
- msgid "Person"
1660
- msgstr "Pessoa"
1661
-
1662
- #: inc/admin/admin.php:3879
1663
- msgid "Organization"
1664
- msgstr "Empresa"
1665
-
1666
- #: inc/admin/admin.php:3892
1667
- msgid "eg: Apple"
1668
- msgstr "por exemplo: Apple"
1669
-
1670
- #: inc/admin/admin.php:3905
1671
- msgid "Select your logo"
1672
- msgstr "Selecione seu logotipo"
1673
-
1674
- #: inc/admin/admin.php:3933
1675
- msgid "eg: +33123456789 (internationalized version required)"
1676
- msgstr "por exemplo: +33123456789 (versão internacionalizada necessária)"
1677
-
1678
- #: inc/admin/admin.php:3948
1679
- msgid "Customer support"
1680
- msgstr "Suporte ao cliente"
1681
-
1682
- #: inc/admin/admin.php:3951
1683
- msgid "Technical support"
1684
- msgstr "Suporte técnico"
1685
-
1686
- #: inc/admin/admin.php:3954
1687
- msgid "Billing support"
1688
- msgstr "Suporte de faturamento"
1689
-
1690
- #: inc/admin/admin.php:3957
1691
- msgid "Bill payment"
1692
- msgstr "Pagamento de conta"
1693
-
1694
- #: inc/admin/admin.php:3960
1695
- msgid "Sales"
1696
- msgstr "Vendas"
1697
-
1698
- #: inc/admin/admin.php:3963
1699
- msgid "Credit card support"
1700
- msgstr "Suporte ao cartão de crédito"
1701
-
1702
- #: inc/admin/admin.php:3966
1703
- msgid "Emergency"
1704
- msgstr "Emergência"
1705
-
1706
- #: inc/admin/admin.php:3969
1707
- msgid "Baggage tracking"
1708
- msgstr "Acompanhamento de Bagagem"
1709
-
1710
- #: inc/admin/admin.php:3972
1711
- msgid "Roadside assistance"
1712
- msgstr "Assistência rodoviária"
1713
-
1714
- #: inc/admin/admin.php:3975
1715
- msgid "Package tracking"
1716
- msgstr "Acompanhamento de pacotes"
1717
-
1718
- #: inc/admin/admin.php:3992
1719
- msgid "Toll Free"
1720
- msgstr "Grátis"
1721
-
1722
- #: inc/admin/admin.php:3995
1723
- msgid "Hearing impaired supported"
1724
- msgstr "Deficientes auditivos suportados"
1725
-
1726
- #: inc/admin/admin.php:4008
1727
- msgid "eg: https://www.facebook.com/your-page"
1728
- msgstr "por exemplo: https://www.facebook.com/your-page"
1729
-
1730
- #: inc/admin/admin.php:4021
1731
- msgid "eg: @wp_seopress"
1732
- msgstr "por exemplo: @wp_seopress"
1733
-
1734
- #: inc/admin/admin.php:4033
1735
- msgid "eg: https://plus.google.com/+BenjaminDenis"
1736
- msgstr "por exemplo: https://plus.google.com/+BenjaminDenis"
1737
-
1738
- #: inc/admin/admin.php:4045
1739
- msgid "eg: https://pinterest.com/wpbuy/"
1740
- msgstr "por exemplo: https://pinterest.com/wpbuy/"
1741
-
1742
- #: inc/admin/admin.php:4057
1743
- msgid "eg: https://www.instagram.com/rainbowgeek64/"
1744
- msgstr "por exemplo: https://www.instagram.com/rainbowgeek64/"
1745
-
1746
- #: inc/admin/admin.php:4069
1747
- msgid "eg: https://www.youtube.com/channel/UCpQzarWu55UzCIH7-OW6pwA"
1748
- msgstr "por exemplo: https://www.youtube.com/channel/UCpQzarWu55UzCIH7 -OW6pwA"
1749
-
1750
- #: inc/admin/admin.php:4081
1751
- msgid "eg: https://www.linkedin.com/in/benjamin-denis-70672b3b"
1752
- msgstr "por exemplo: https://www.linkedin.com/in/benjamin-denis-70672b3b"
1753
-
1754
- #: inc/admin/admin.php:4093
1755
- msgid "eg: https://myspace.com/your-page"
1756
- msgstr "por exemplo: https://myspace.com/your-page"
1757
-
1758
- #: inc/admin/admin.php:4105
1759
- msgid "eg: https://soundcloud.com/michaelmccannmusic"
1760
- msgstr "por exemplo: https://soundcloud.com/michaelmccannmusic"
1761
-
1762
- #: inc/admin/admin.php:4117
1763
- msgid "eg: https://your-site.tumblr.com"
1764
- msgstr "por exemplo: https://your-site.tumblr.com"
1765
-
1766
- #: inc/admin/admin.php:4134
1767
- msgid "Enable OG data"
1768
- msgstr "Habilitar dados OG"
1769
-
1770
- #: inc/admin/admin.php:4180
1771
- msgid "How-to create a Facebook App ID"
1772
- msgstr "Como criar um ID de aplicativo do Facebook"
1773
-
1774
- #: inc/admin/admin.php:4194
1775
- msgid "Enable Twitter card"
1776
- msgstr "Ativar cartão Twitter"
1777
-
1778
- #: inc/admin/admin.php:4211
1779
- msgid "Use OG if no Twitter Cards"
1780
- msgstr "Use OG se nenhum cartão do Twitter"
1781
-
1782
- #: inc/admin/admin.php:4244
1783
- msgid "Default"
1784
- msgstr "Padrão"
1785
-
1786
- #: inc/admin/admin.php:4247
1787
- msgid "Large"
1788
- msgstr "Ampla"
1789
-
1790
- #: inc/admin/admin.php:4275
1791
- msgid "Enter your Tracking ID (UA-XXXX-XX)"
1792
- msgstr "Digite seu ID de rastreamento (UA-XXXX-XX)"
1793
-
1794
- #: inc/admin/admin.php:4279
1795
- msgid "Find your tracking ID"
1796
- msgstr "Encontre seu ID de rastreamento"
1797
-
1798
- #: inc/admin/admin.php:4320
1799
- msgid "A remarketing audience is a list of cookies or mobile-advertising IDs that represents a group of users you want to re-engage because of their likelihood to convert."
1800
- msgstr "Um público de remarketing é uma lista de cookies ou IDs de publicidade móvel que representa um grupo de usuários que deseja re-engajar devido à sua probabilidade de se converter."
1801
-
1802
- #: inc/admin/admin.php:4341
1803
- msgid "When a customer of Analytics requests IP address anonymization, Analytics anonymizes the address as soon as technically feasible at the earliest possible stage of the collection network."
1804
- msgstr "Quando um cliente do Analytics solicita anonimato de endereço IP, o Analytics anonimiza o endereço, logo que tecnicamente viável, na fase mais antiga possível da rede de coleta."
1805
-
1806
- #: inc/admin/admin.php:4362
1807
- msgid "Enhanced Link Attribution improves the accuracy of your In-Page Analytics report by automatically differentiating between multiple links to the same URL on a single page by using link element IDs."
1808
- msgstr "O Atributo de Link Melhorado melhora a precisão do seu relatório In-Page Analytics, diferenciando automaticamente vários links para o mesmo URL em uma única página, usando IDs de elementos de link."
1809
-
1810
- #: inc/admin/admin.php:4383
1811
- msgid "Cross domain tracking makes it possible for Analytics to see sessions on two related sites (such as an ecommerce site and a separate shopping cart site) as a single session. This is sometimes called site linking."
1812
- msgstr "O rastreamento de domínio cruzado permite que o Google Analytics veja sessões em dois sites relacionados (como um site de comércio eletrônico e um site de carrinho de compras separado) como uma única sessão. Isso às vezes é chamado de link do site."
1813
-
1814
- #: inc/admin/admin.php:4395
1815
- msgid "Enter yours domains"
1816
- msgstr "Digite seus domínios"
1817
-
1818
- #: inc/admin/admin.php:4412
1819
- msgid "Enable external links tracking"
1820
- msgstr "Ativar rastreamento de links externos"
1821
-
1822
- #: inc/admin/admin.php:4429
1823
- msgid "Enable download tracking"
1824
- msgstr "Ativar o rastreamento do download"
1825
-
1826
- #: inc/admin/admin.php:4441
1827
- msgid "pdf|docx|pptx|zip"
1828
- msgstr "pdf|docx|pptx|zip"
1829
-
1830
- #: inc/admin/admin.php:4445
1831
- msgid "Separate each file type extensions with a pipe \"|\""
1832
- msgstr "Separar cada extensão de tipo de arquivo com um pipe \"| \""
1833
-
1834
- #: inc/admin/admin.php:4460
1835
- msgid "Enable affiliate / outbound tracking"
1836
- msgstr "Ativar acompanhamento de afiliados / saída"
1837
-
1838
- #: inc/admin/admin.php:4472
1839
- msgid "aff|go|out"
1840
- msgstr "aff|go|out"
1841
-
1842
- #: inc/admin/admin.php:4476
1843
- msgid "Separate each keyword with a pipe \"|\""
1844
- msgstr "Separe cada palavra-chave com um pipe \"| \""
1845
-
1846
- #: inc/admin/admin.php:4493 inc/admin/admin.php:4570 inc/admin/admin.php:4647
1847
- #: inc/admin/admin.php:4724 inc/admin/admin.php:4801
1848
- msgid "Custom Dimension #1"
1849
- msgstr "Dimensão personalizada #1"
1850
-
1851
- #: inc/admin/admin.php:4496 inc/admin/admin.php:4573 inc/admin/admin.php:4650
1852
- #: inc/admin/admin.php:4727 inc/admin/admin.php:4804
1853
- msgid "Custom Dimension #2"
1854
- msgstr "Dimensão personalizada #2"
1855
-
1856
- #: inc/admin/admin.php:4499 inc/admin/admin.php:4576 inc/admin/admin.php:4653
1857
- #: inc/admin/admin.php:4730 inc/admin/admin.php:4807
1858
- msgid "Custom Dimension #3"
1859
- msgstr "Dimensão personalizada #3"
1860
-
1861
- #: inc/admin/admin.php:4502 inc/admin/admin.php:4579 inc/admin/admin.php:4656
1862
- #: inc/admin/admin.php:4733 inc/admin/admin.php:4810
1863
- msgid "Custom Dimension #4"
1864
- msgstr "Dimensão personalizada #4"
1865
-
1866
- #: inc/admin/admin.php:4505 inc/admin/admin.php:4582 inc/admin/admin.php:4659
1867
- #: inc/admin/admin.php:4736 inc/admin/admin.php:4813
1868
- msgid "Custom Dimension #5"
1869
- msgstr "Dimensão personalizada #5"
1870
-
1871
- #: inc/admin/admin.php:4508 inc/admin/admin.php:4585 inc/admin/admin.php:4662
1872
- #: inc/admin/admin.php:4739 inc/admin/admin.php:4816
1873
- msgid "Custom Dimension #6"
1874
- msgstr "Dimensão personalizada #6"
1875
-
1876
- #: inc/admin/admin.php:4511 inc/admin/admin.php:4588 inc/admin/admin.php:4665
1877
- #: inc/admin/admin.php:4742 inc/admin/admin.php:4819
1878
- msgid "Custom Dimension #7"
1879
- msgstr "Dimensão personalizada #7"
1880
-
1881
- #: inc/admin/admin.php:4514 inc/admin/admin.php:4591 inc/admin/admin.php:4668
1882
- #: inc/admin/admin.php:4745 inc/admin/admin.php:4822
1883
- msgid "Custom Dimension #8"
1884
- msgstr "Dimensão personalizada #8"
1885
-
1886
- #: inc/admin/admin.php:4517 inc/admin/admin.php:4594 inc/admin/admin.php:4671
1887
- #: inc/admin/admin.php:4748 inc/admin/admin.php:4825
1888
- msgid "Custom Dimension #9"
1889
- msgstr "Dimensão personalizada #9"
1890
-
1891
- #: inc/admin/admin.php:4520 inc/admin/admin.php:4597 inc/admin/admin.php:4674
1892
- #: inc/admin/admin.php:4751 inc/admin/admin.php:4828
1893
- msgid "Custom Dimension #10"
1894
- msgstr "Dimensão personalizada #10"
1895
-
1896
- #: inc/admin/admin.php:4523 inc/admin/admin.php:4600 inc/admin/admin.php:4677
1897
- #: inc/admin/admin.php:4754 inc/admin/admin.php:4831
1898
- msgid "Custom Dimension #11"
1899
- msgstr "Dimensão personalizada #11"
1900
-
1901
- #: inc/admin/admin.php:4526 inc/admin/admin.php:4603 inc/admin/admin.php:4680
1902
- #: inc/admin/admin.php:4757 inc/admin/admin.php:4834
1903
- msgid "Custom Dimension #12"
1904
- msgstr "Dimensão personalizada #12"
1905
-
1906
- #: inc/admin/admin.php:4529 inc/admin/admin.php:4606 inc/admin/admin.php:4683
1907
- #: inc/admin/admin.php:4760 inc/admin/admin.php:4837
1908
- msgid "Custom Dimension #13"
1909
- msgstr "Dimensão personalizada #13"
1910
-
1911
- #: inc/admin/admin.php:4532 inc/admin/admin.php:4609 inc/admin/admin.php:4686
1912
- #: inc/admin/admin.php:4763 inc/admin/admin.php:4840
1913
- msgid "Custom Dimension #14"
1914
- msgstr "Dimensão personalizada #14"
1915
-
1916
- #: inc/admin/admin.php:4535 inc/admin/admin.php:4612 inc/admin/admin.php:4689
1917
- #: inc/admin/admin.php:4766 inc/admin/admin.php:4843
1918
- msgid "Custom Dimension #15"
1919
- msgstr "Dimensão personalizada #15"
1920
-
1921
- #: inc/admin/admin.php:4538 inc/admin/admin.php:4615 inc/admin/admin.php:4692
1922
- #: inc/admin/admin.php:4769 inc/admin/admin.php:4846
1923
- msgid "Custom Dimension #16"
1924
- msgstr "Dimensão personalizada #16"
1925
-
1926
- #: inc/admin/admin.php:4541 inc/admin/admin.php:4618 inc/admin/admin.php:4695
1927
- #: inc/admin/admin.php:4772 inc/admin/admin.php:4849
1928
- msgid "Custom Dimension #17"
1929
- msgstr "Dimensão personalizada #17"
1930
-
1931
- #: inc/admin/admin.php:4544 inc/admin/admin.php:4621 inc/admin/admin.php:4698
1932
- #: inc/admin/admin.php:4775 inc/admin/admin.php:4852
1933
- msgid "Custom Dimension #18"
1934
- msgstr "Dimensão personalizada #18"
1935
-
1936
- #: inc/admin/admin.php:4547 inc/admin/admin.php:4624 inc/admin/admin.php:4701
1937
- #: inc/admin/admin.php:4778 inc/admin/admin.php:4855
1938
- msgid "Custom Dimension #19"
1939
- msgstr "Dimensão personalizada #19"
1940
-
1941
- #: inc/admin/admin.php:4550 inc/admin/admin.php:4627 inc/admin/admin.php:4704
1942
- #: inc/admin/admin.php:4781 inc/admin/admin.php:4858
1943
- msgid "Custom Dimension #20"
1944
- msgstr "Dimensão personalizada #20"
1945
-
1946
- #: inc/admin/admin.php:4876
1947
- msgid "Redirect attachment pages to post parent (or homepage if none)"
1948
- msgstr "Redirecionar páginas de anexos para postar pai (ou página inicial, se não houver)"
1949
-
1950
- #: inc/admin/admin.php:4893
1951
- msgid "Remove stop words in permalinks"
1952
- msgstr "Remova palavras de parada em permalinks"
1953
-
1954
- #: inc/admin/admin.php:4893
1955
- msgid "Setting based on site language. Supported language EN, FR, ES, DE, IT, PT."
1956
- msgstr "Configuração baseada no idioma do site. Idioma suportado EN, FR, ES, DE, IT, PT."
1957
-
1958
- #: inc/admin/admin.php:4910
1959
- msgid "Remove /category/ in your permalinks"
1960
- msgstr "Remover /categoria/ em seus permalinks"
1961
-
1962
- #: inc/admin/admin.php:4910
1963
- msgid "You have to flush your permalinks each time you change this settings"
1964
- msgstr "Você deve liberar seus permalinks cada vez que você altera essas configurações"
1965
-
1966
- #: inc/admin/admin.php:4927
1967
- msgid "You must check this box if the structure of your permalinks DOES NOT contain a slash at the end (eg: /%postname%)"
1968
- msgstr "Você deve marcar esta caixa se a estrutura de seus permalinks NÃO contiver uma barra no final (por exemplo: /%postname%)"
1969
-
1970
- #: inc/admin/admin.php:4939
1971
- msgid "Enter Google meta value site verification"
1972
- msgstr "Digite a verificação do site do valor meta do Google"
1973
-
1974
- #: inc/admin/admin.php:4951
1975
- msgid "Enter Bing meta value site verification"
1976
- msgstr "Digite a verificação do site do valor meta do Bing"
1977
-
1978
- #: inc/admin/admin.php:4963
1979
- msgid "Enter Pinterest meta value site verification"
1980
- msgstr "Insira a verificação do site do meta valor de Pinterest"
1981
-
1982
- #: inc/admin/admin.php:4975
1983
- msgid "Enter Yandex meta value site verification"
1984
- msgstr "Digite a verificação do site do valor meta Yandex"
1985
-
1986
- #: inc/admin/admin.php:4992
1987
- msgid "Remove SEOPress from Admin Bar in backend and frontend"
1988
- msgstr "Remova o SEOPress da barra de administração no backend e no frontend"
1989
-
1990
- #: inc/admin/admin.php:5008
1991
- msgid "High priority (top)"
1992
- msgstr "Alta prioridade (superior)"
1993
-
1994
- #: inc/admin/admin.php:5011
1995
- msgid "Normal priority (default)"
1996
- msgstr "Prioridade normal (padrão)"
1997
-
1998
- #: inc/admin/admin.php:5014
1999
- msgid "Low priority"
2000
- msgstr "Baixa prioridade"
2001
-
2002
- #: inc/admin/admin.php:5032
2003
- msgid "Hide Notifications Center in SEOPress Dashboard page"
2004
- msgstr "Ocultar Centro de Notificações na página do Painel SEOPress"
2005
-
2006
- #: inc/admin/admin.php:5049
2007
- msgid "Add title column"
2008
- msgstr "Adicionar coluna de título"
2009
-
2010
- #: inc/admin/admin.php:5066
2011
- msgid "Add meta description column"
2012
- msgstr "Adicionar coluna de descrição de meta"
2013
-
2014
- #: inc/admin/admin.php:5083
2015
- msgid "Display noindex status"
2016
- msgstr "Exibir status de nonddex"
2017
-
2018
- #: inc/admin/admin.php:5100
2019
- msgid "Display nofollow status"
2020
- msgstr "Exibir status nofollow"
2021
-
2022
- #: inc/admin/admin.php:5117
2023
- msgid "Display total number of words in content"
2024
- msgstr "Exibir o número total de palavras no conteúdo"
2025
-
2026
- #: inc/admin/admin.php:5134
2027
- msgid "Display W3C column to check code quality"
2028
- msgstr "Exibir coluna W3C para verificar a qualidade do código"
2029
-
2030
- #: inc/admin/admin.php:5152
2031
- msgid "Display Page Speed column to check performances"
2032
- msgstr "Mostrar coluna de velocidade da página para verificar performances"
2033
-
2034
- #: inc/admin/admin.php:5170
2035
- msgid "Remove Genesis SEO Metaboxe"
2036
- msgstr "Remove Genesis SEO Metaboxe"
2037
-
2038
- #: inc/admin/adminbar.php:60
2039
- msgid "BOT"
2040
- msgstr "BOT"
2041
-
2042
- #: inc/admin/adminbar.php:84
2043
- msgid "Broken Links"
2044
- msgstr "Links Quabrados"
2045
-
2046
- #: inc/functions/options-advanced-admin.php:100
2047
- #: inc/functions/options-advanced-admin.php:530
2048
- msgid "Title tag"
2049
- msgstr "Título da etiqueta"
2050
-
2051
- #: inc/functions/options-advanced-admin.php:103
2052
- msgid "Meta Desc."
2053
- msgstr "Meta Desc."
2054
-
2055
- #: inc/functions/options-advanced-admin.php:106
2056
- msgid "Noindex?"
2057
- msgstr "Noindex?"
2058
-
2059
- #: inc/functions/options-advanced-admin.php:109
2060
- msgid "Nofollow?"
2061
- msgstr "Nofollow?"
2062
-
2063
- #: inc/functions/options-advanced-admin.php:112
2064
- msgid "Count words?"
2065
- msgstr "Contar palavras?"
2066
-
2067
- #: inc/functions/options-advanced-admin.php:115
2068
- msgid "W3C check"
2069
- msgstr "Verificação do W3C"
2070
-
2071
- #: inc/functions/options-advanced-admin.php:118
2072
- msgid "Page Speed"
2073
- msgstr "Velocidade da página"
2074
-
2075
- #: inc/functions/options-advanced-admin.php:146
2076
- msgid "Check code quality of this page"
2077
- msgstr "Verifique a qualidade do código desta página"
2078
-
2079
- #: inc/functions/options-advanced-admin.php:149
2080
- msgid "Analyse this page with Google Page Speed"
2081
- msgstr "Analise esta página com Google Page Speed"
2082
-
2083
- #: inc/functions/options-advanced-admin.php:357
2084
- msgid "Enable noindex"
2085
- msgstr "Ativar noindex"
2086
-
2087
- #: inc/functions/options-advanced-admin.php:396
2088
- msgid "Enable index"
2089
- msgstr "Habilitar índice"
2090
-
2091
- #: inc/functions/options-advanced-admin.php:436
2092
- msgid "Enable nofollow"
2093
- msgstr "Habilite nofollow"
2094
-
2095
- #: inc/functions/options-advanced-admin.php:475
2096
- msgid "Enable follow"
2097
- msgstr "Habilitar follow"
2098
-
2099
- #: inc/functions/options-import-export.php:49
2100
- msgid "Please upload a valid .json file"
2101
- msgstr "Faça o upload de um arquivo .json válido"
2102
-
2103
- #: inc/functions/options-import-export.php:53
2104
- #: inc/functions/options-import-export.php:88
2105
- msgid "Please upload a file to import"
2106
- msgstr "Carregue um arquivo para importar"
2107
-
2108
- #: inc/functions/options-import-export.php:84
2109
- msgid "Please upload a valid .csv file"
2110
- msgstr "Carregue um arquivo .csv válido"
2111
-
2112
- #: inc/functions/options-redirections.php:120
2113
- msgid "Once per day"
2114
- msgstr "Uma vez por dia"
2115
-
2116
- #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:113
2117
- msgid "XML Sitemaps"
2118
- msgstr "Mapa do site XML"
2119
-
2120
- #: seopress.php:304
2121
- msgid "You like SEOPress? Don't forget to rate it 5 stars!"
2122
- msgstr "Você gosta de SEOPress? Não se esqueça de classificar 5 estrelas!"
2123
-
2124
- #: seopress.php:351
2125
- msgid "Settings"
2126
- msgstr "Configurações"
2127
-
2128
- #: seopress.php:352
2129
- msgid "SEOPress.org"
2130
- msgstr "SEOPress.org"
2131
-
2132
- #: seopress.php:354
2133
- msgid "GO PRO!"
2134
- msgstr "SEJA PRO!"
2135
-
2136
- #: seopress.php:607
2137
- msgid "The PRO release of SEOPress with Google Local Business, Dublin Core, WooCommerce, Google Structured Data Types, Breadcrumbs, Google Page Speed, robots.txt, Google News, 404 monitoring, .htaccess, RSS, Broken links, Redirections and more..."
2138
- msgstr "O lançamento PRO do SEOPress com o Google Local Business, Dublin Core, WooCommerce, Tipos de dados estruturados do Google, Breadcrumbs, Google Page Speed, robots.txt, Google News, monitoramento 404, .htaccess, RSS, links quebrados, Redirecionamentos e muito mais ..."
2139
-
2140
- #: seopress.php:626
2141
- msgid "Buy now"
2142
- msgstr "Compre agora"
2143
-
2144
- #: seopress.php:627
2145
- msgid "More details"
2146
- msgstr "Mais detalhes"
2147
-
2148
- #~ msgid "Oops! That page can not be found."
2149
- #~ msgstr "Opa! Página não pode ser encontrada."
2150
-
2151
- #~ msgid "It looks like nothing was found at this location. Maybe try a search?"
2152
- #~ msgstr "Parece que nada foi encontrado neste local. Talvez tente uma pesquisa?"
2153
-
2154
- #~ msgctxt "comments title"
2155
- #~ msgid "%3$s comment on &ldquo;%2$s&rdquo;"
2156
- #~ msgid_plural "%1$s comments on &ldquo;%2$s&rdquo;"
2157
- #~ msgstr[0] "%1$s comentarios sobre &ldquo;%2$s&rdquo;"
2158
- #~ msgstr[1] "%1$s comentarios sobre &ldquo;%2$s&rdquo;"
2159
-
2160
- #~ msgid "One"
2161
- #~ msgstr "Um"
2162
-
2163
- #~ msgid "&larr; Older Comments"
2164
- #~ msgstr "&larr; Comentários mais antigos"
2165
-
2166
- #~ msgid "Newer Comments &rarr;"
2167
- #~ msgstr "Comentários mais recentes &rarr;"
2168
-
2169
- #~ msgid "Comments are closed for this post !!"
2170
- #~ msgstr "Os comentários estão fechados para esta publicação !!"
2171
-
2172
- #~ msgid "Pages:"
2173
- #~ msgstr "Páginas:"
2174
-
2175
- #~ msgid "&larr; Next Image"
2176
- #~ msgstr "&larr; Próxima"
2177
-
2178
- #~ msgid "Previous Image &rarr;"
2179
- #~ msgstr "Imagem anterior &rarr;"
2180
-
2181
- #~ msgid "Thank you for activating SEOPress theme. Let start from <a target=\"_blank\" href=\"%4$s\">Getting Started Video</a> | <a target=\"_blank\" href=\"%1$s\">Documentation</a> | <a target=\"_blank\" href=\"%2$s\">Visit Demo</a> | <a href=\"%3$s\">Hide it</a>"
2182
- #~ msgstr "Obrigado por ativar o tema SEOPress. Deixe começar de <a target=\"_blank\" href=\" %4$s \"> Vídeo de Iniciando </a> </a> | <a target=\"_blank\" href=\" %1$s \"> Documentação </a> | <a target=\"_blank\" href=\" %2$s \"> Visite Demo </a> | <a href=\" %3$s \"> Esconda-o </a>"
2183
-
2184
- #~ msgid "Name"
2185
- #~ msgstr "Nome"
2186
-
2187
- #~ msgid "Email"
2188
- #~ msgstr "E-mail"
2189
-
2190
- #~ msgid "Your email"
2191
- #~ msgstr "Seu e-mail"
2192
-
2193
- #~ msgid "Website"
2194
- #~ msgstr "Website"
2195
-
2196
- #~ msgctxt "noun"
2197
- #~ msgid "Comment"
2198
- #~ msgstr "Comentário"
2199
-
2200
- #~ msgid "Your comment"
2201
- #~ msgstr "Seu comentário"
2202
-
2203
- #~ msgid "Display social profile. Social link will be fetch from customize."
2204
- #~ msgstr "Mostrar perfil social. O link social será buscado para personalizar."
2205
-
2206
- #~ msgid "SEOPress Social Profile"
2207
- #~ msgstr "Perfil social de SEOPress"
2208
-
2209
- #~ msgid "YouTube"
2210
- #~ msgstr "YouTube"
2211
-
2212
- #~ msgid "VK"
2213
- #~ msgstr "VK"
2214
-
2215
- #~ msgid "Linkedin"
2216
- #~ msgstr "Linkedin"
2217
-
2218
- #~ msgid "Telegram"
2219
- #~ msgstr "Telegram"
2220
-
2221
- #~ msgid "Snapchat"
2222
- #~ msgstr "Snapchat"
2223
-
2224
- #~ msgid "Flickr"
2225
- #~ msgstr "Flickr"
2226
-
2227
- #~ msgid "Reddit"
2228
- #~ msgstr "Reddit"
2229
-
2230
- #~ msgid "Tumblr"
2231
- #~ msgstr "Tumblr"
2232
-
2233
- #~ msgid "Yelp"
2234
- #~ msgstr "Yelp"
2235
-
2236
- #~ msgid "WhatsApp"
2237
- #~ msgstr "WhatsApp"
2238
-
2239
- #~ msgid "Skype"
2240
- #~ msgstr "Skype"
2241
-
2242
- #~ msgid "Open links in:"
2243
- #~ msgstr "Abrir links em:"
2244
-
2245
- #~ msgid "New Tab"
2246
- #~ msgstr "Nova Aba"
2247
-
2248
- #~ msgid "Same Tab"
2249
- #~ msgstr "Mesma Aba"
2250
-
2251
- #~ msgid "&larr; Older Entries "
2252
- #~ msgstr "&larr; Comentarios antigos "
2253
-
2254
- #~ msgid "Newer Entries &rarr;"
2255
- #~ msgstr "Entradas mais recentes e rarr;"
2256
-
2257
- #~ msgid "&laquo;"
2258
- #~ msgstr "&laquo;"
2259
-
2260
- #~ msgid "&raquo;"
2261
- #~ msgstr "&raquo;"
2262
-
2263
- #~ msgid "Tag: "
2264
- #~ msgstr "Tag: "
2265
-
2266
- #~ msgid "Author: "
2267
- #~ msgstr "Autor: "
2268
-
2269
- #~ msgid "Page: "
2270
- #~ msgstr "Página: "
2271
-
2272
- #~ msgid "Search: "
2273
- #~ msgstr "Pesquisar: "
2274
-
2275
- #~ msgid "Error 404"
2276
- #~ msgstr "Erro 404"
2277
-
2278
- #~ msgid "Untitled"
2279
- #~ msgstr "Sem título"
2280
-
2281
- #~ msgid "Have any Question or Comment?"
2282
- #~ msgstr "Tem alguma pergunta ou comentário?"
2283
-
2284
- #~ msgid "Responsive"
2285
- #~ msgstr "Responsivo"
2286
-
2287
- #~ msgid "Fast"
2288
- #~ msgstr "Rápido"
2289
-
2290
- #~ msgid "Adsense"
2291
- #~ msgstr "Adsense"
2292
-
2293
- #~ msgid "Mega Menu"
2294
- #~ msgstr "Mega Menu"
2295
-
2296
- #~ msgid "Page Builder"
2297
- #~ msgstr "Page Builder"
2298
-
2299
- #~ msgid "Slider"
2300
- #~ msgstr "Slider"
2301
-
2302
- #~ msgid "Add Menu"
2303
- #~ msgstr "Adicionar Menu"
2304
-
2305
- #~ msgid "Your comment is awaiting approval."
2306
- #~ msgstr "Seu comentário está aguardando aprovação."
2307
-
2308
- #~ msgid "%1$s at %2$s"
2309
- #~ msgstr "%1$s em %2$s"
2310
-
2311
- #~ msgid "Reply"
2312
- #~ msgstr "Resposta"
2313
-
2314
- #~ msgid "Edit"
2315
- #~ msgstr "Editar"
2316
-
2317
- #~ msgid "SEOPress Options for this Page"
2318
- #~ msgstr "Opcoes SEOPress para essa pagina"
2319
-
2320
- #~ msgid "Slider Shortcode : "
2321
- #~ msgstr "Slider Shortcode: "
2322
-
2323
- #~ msgid "Info: Use any slider plugin to create slider and copy slider shortcode."
2324
- #~ msgstr "Info: use qualquer plugin do slider para criar slider e copiar shortcode do slider."
2325
-
2326
- #~ msgid "Want to hide Headline/Title? "
2327
- #~ msgstr "Deseja ocultar Headline / Title? "
2328
-
2329
- #~ msgid "Info: This will hide page title above content."
2330
- #~ msgstr "Info: Isto irá ocultar o título da página acima do conteúdo."
2331
-
2332
- #~ msgid "Want to hide Footer Widgets? "
2333
- #~ msgstr "Deseja ocultar Widgets do rodapé? "
2334
-
2335
- #~ msgid "Info: This will hide footer widget section, if you are using footer widget."
2336
- #~ msgstr "Info: isso irá ocultar a seção do widget do rodapé, se você estiver usando o widget do rodapé."
2337
-
2338
- #~ msgid "Want to show Breadcrumb? "
2339
- #~ msgstr "Quer mostrar Breadcrumb? "
2340
-
2341
- #~ msgid "Info: This will display breadcrumb on this page."
2342
- #~ msgstr "Info: Isso exibirá o breadcrumb nesta página."
2343
-
2344
- #~ msgid "SEOPress Options for this Post"
2345
- #~ msgstr "Opções de SEOPress para este Post"
2346
-
2347
- #~ msgid "Blog Sidebar"
2348
- #~ msgstr "Barra lateral do blog"
2349
-
2350
- #~ msgid "Widgets for Blog sidebar. If you are using Full Width Layout in customize, then this sidebar will not display."
2351
- #~ msgstr "Barra lateral Widgets for Blog. Se você estiver usando Layout de largura total em personalizar, essa barra lateral não será exibida."
2352
-
2353
- #~ msgid "Widgets for Page sidebar. If you are using Full Width No Sidebar Template, then this sidebar will not display."
2354
- #~ msgstr "Widgets para barra lateral da página. Se você estiver usando Full Width No Sidebar Template, essa barra lateral não será exibida."
2355
-
2356
- #~ msgid "Widgets for Woocommerce Pages (For:- Product Loop, Product Search and Product Single Page). If you are using Full Width Layout in customize, then this sidebar will not display."
2357
- #~ msgstr "Widgets para páginas do Woocommerce (para: - Loop do produto, Pesquisa de produtos e Página única do produto). Se você estiver usando Layout de largura total em personalizar, essa barra lateral não será exibida."
2358
-
2359
- #~ msgid "Top Header right"
2360
- #~ msgstr "Cabeçalho superior direito"
2361
-
2362
- #~ msgid "Widgets for top header right. You can select header layout accordingly here: Dashboard > Appearance > Customize > SEOPress Options > Header Layout Options."
2363
- #~ msgstr "Widgets para o cabeçalho superior direito. Você pode selecionar o layout do cabeçalho de acordo aqui: Painel de controle> Aparência> Personalizar> Opções do SEOPress> Opções de layout do cabeçalho."
2364
-
2365
- #~ msgid "Top Header Left"
2366
- #~ msgstr "Cabeçalho superior à esquerda"
2367
-
2368
- #~ msgid "Widgets for top header left. You can select header layout accordingly here: Dashboard > Appearance > Customize > SEOPress Options > Header Layout Options."
2369
- #~ msgstr "Widgets para o cabeçalho superior esquerdo. Você pode selecionar o layout do cabeçalho de acordo aqui: Painel de controle> Aparência> Personalizar> Opções do SEOPress> Opções de layout do cabeçalho."
2370
-
2371
- #~ msgid "Footer Widget "
2372
- #~ msgstr "Widget de rodapé "
2373
-
2374
- #~ msgid "Widgets for footer "
2375
- #~ msgstr "Widgets para rodapé "
2376
-
2377
- #~ msgid "Top Main Menu"
2378
- #~ msgstr "Top Menu Principal"
2379
-
2380
- #~ msgid "Sidebar Menu"
2381
- #~ msgstr "Menu barra lateral"
2382
-
2383
- #~ msgid "SEOPress Theme by <a target=\"_blank\" href=\"http://ewptheme.com/\">EWP Theme</a>."
2384
- #~ msgstr "Tema SEOPress por <a target=\"_blank\" href=\"http://ewptheme.com/\"> Tema EWP </a>."
2385
-
2386
- #~ msgid "All options of SEOPress theme"
2387
- #~ msgstr "Todas as opções do tema SEOPress"
2388
-
2389
- #~ msgid "Typography Options"
2390
- #~ msgstr "Opções de tipografia"
2391
-
2392
- #~ msgid "Body Typography"
2393
- #~ msgstr "Tipografia de corpo"
2394
-
2395
- #~ msgid "H1 / Headline 1 Typography"
2396
- #~ msgstr "H1 / Título 1 Tipografia"
2397
-
2398
- #~ msgid "H2 / Headline 2 Typography"
2399
- #~ msgstr "Tipografia H2 / Headline 2"
2400
-
2401
- #~ msgid "H3 / Headline 3 Typography"
2402
- #~ msgstr "H3 / Título 3 Tipografia"
2403
-
2404
- #~ msgid "H4 / Headline 4 Typography"
2405
- #~ msgstr "H4 / ​​Título 4 Tipografia"
2406
-
2407
- #~ msgid "H5 / Headline 5 Typography"
2408
- #~ msgstr "H5 / Headline 5 Typography"
2409
-
2410
- #~ msgid "H6 / Headline 6 Typography"
2411
- #~ msgstr "H6 / Título 6 Tipografia"
2412
-
2413
- #~ msgid "Paragraph Typography"
2414
- #~ msgstr "Tipografia de parágrafo"
2415
-
2416
- #~ msgid "Top Bar Typography"
2417
- #~ msgstr "Tipografia Top Bar"
2418
-
2419
- #~ msgid "Main Menu Typography"
2420
- #~ msgstr "Tipografia de menu principal"
2421
-
2422
- #~ msgid "Sidebar Menu Typography"
2423
- #~ msgstr "Tipografia do menu da barra lateral"
2424
-
2425
- #~ msgid "Widgets UL/OL Typography"
2426
- #~ msgstr "Widgets Tipografia UL / OL"
2427
-
2428
- #~ msgid "Widgets Unordered List / Ordered List Typography"
2429
- #~ msgstr "Widgets Lista não ordenada / Lista ordenada Tipografia"
2430
-
2431
- #~ msgid "Container UL/OL Typography"
2432
- #~ msgstr "Container UL / OL Typography"
2433
-
2434
- #~ msgid "Typography for list in main contents."
2435
- #~ msgstr "Tipografia para lista nos principais conteúdos."
2436
-
2437
- #~ msgid "Footer Widgets Typography"
2438
- #~ msgstr "Footer Widgets Typography"
2439
-
2440
- #~ msgid "Footer Copyright Typography"
2441
- #~ msgstr "Tipologia de direitos autorais do rodapé"
2442
-
2443
- #~ msgid "Top Bar Options"
2444
- #~ msgstr "Top Bar Options"
2445
-
2446
- #~ msgid "Top Bar Feature"
2447
- #~ msgstr "Topo da barra"
2448
-
2449
- #~ msgid "Enable/Disable Top Bar"
2450
- #~ msgstr "Enable / Disable Top Bar"
2451
-
2452
- #~ msgid "Enable/Disable Social Icons"
2453
- #~ msgstr "Ativar / Desativar ícones sociais"
2454
-
2455
- #~ msgid "Social Links in New Tab?"
2456
- #~ msgstr "Links Sociais em Nova Guia?"
2457
-
2458
- #~ msgid "Open social links in new tab or same."
2459
- #~ msgstr "Abra links sociais em uma nova aba ou o mesmo."
2460
-
2461
- #~ msgid "Top Bar Left Content View"
2462
- #~ msgstr "Top Bar Left Content View"
2463
-
2464
- #~ msgid "Simply phone, email or Text/HTML or Disable ?"
2465
- #~ msgstr "Simplesmente telefone, e-mail ou Texto / HTML ou Desativar?"
2466
-
2467
- #~ msgid "Text / HTML"
2468
- #~ msgstr "Texto / HTML"
2469
-
2470
- #~ msgid "Phone and Email"
2471
- #~ msgstr "Telefone e e-mail"
2472
-
2473
- #~ msgid "Phone Number"
2474
- #~ msgstr "Número de telefone"
2475
-
2476
- #~ msgid "Leave empty for disable."
2477
- #~ msgstr "Deixe vazio para desativar."
2478
-
2479
- #~ msgid "Email Address"
2480
- #~ msgstr "Endereco de E-mail"
2481
-
2482
- #~ msgid "Top Bar Left Content"
2483
- #~ msgstr "Top Bar Left Content"
2484
-
2485
- #~ msgid "Content/HTML of Top Bar Left Side. Leave empty for disable."
2486
- #~ msgstr "Conteúdo / HTML do lado superior da barra superior. Deixe vazio para desativar."
2487
-
2488
- #~ msgid "Search Icon"
2489
- #~ msgstr "Procurar Icone"
2490
-
2491
- #~ msgid "Enable/Disable Search Icon"
2492
- #~ msgstr "Ativar / Desativar ícone de pesquisa"
2493
-
2494
- #~ msgid "Header Layout Options"
2495
- #~ msgstr "Opções de layout de cabeçalho"
2496
-
2497
- #~ msgid "Select Header Layout"
2498
- #~ msgstr "Selecionar layout de cabeçalho"
2499
-
2500
- #~ msgid "Save and reload front page for alignment"
2501
- #~ msgstr "Salvar e recarregar a página inicial para alinhamento"
2502
-
2503
- #~ msgid "Logo Width"
2504
- #~ msgstr "Largura do logotipo"
2505
-
2506
- #~ msgid "Width will be set in Pixel. Height is automatic to maintain quality of Logo"
2507
- #~ msgstr "A largura será definida em Pixel. Altura é automática para manter a qualidade do logotipo"
2508
-
2509
- #~ msgid "Color Options"
2510
- #~ msgstr "Opções de cores"
2511
-
2512
- #~ msgid "Default Color of Links"
2513
- #~ msgstr "Cor Padrão de Links"
2514
-
2515
- #~ msgid "Default Color of Mouse Over Links"
2516
- #~ msgstr "Cor padrão do mouse sobre links"
2517
-
2518
- #~ msgid "More color options"
2519
- #~ msgstr "Mais opções de cores"
2520
-
2521
- #~ msgid "Social Profile"
2522
- #~ msgstr "Perfil Social"
2523
-
2524
- #~ msgid "Leave empty for disable"
2525
- #~ msgstr "Deixe vazio para desativar"
2526
-
2527
- #~ msgid "VK Link"
2528
- #~ msgstr "Link VK"
2529
-
2530
- #~ msgid "Pinterest Link"
2531
- #~ msgstr "Link do Pinterest"
2532
-
2533
- #~ msgid "Instagram Link"
2534
- #~ msgstr "Link Instagram"
2535
-
2536
- #~ msgid "Telegram Link"
2537
- #~ msgstr "Link Telegram"
2538
-
2539
- #~ msgid "Snapchat Link"
2540
- #~ msgstr "Link Snapchat"
2541
-
2542
- #~ msgid "Flickr Link"
2543
- #~ msgstr "Link Flickr"
2544
-
2545
- #~ msgid "Reddit Link"
2546
- #~ msgstr "Link Reddit"
2547
-
2548
- #~ msgid "Yelp Link"
2549
- #~ msgstr "Link Yelp"
2550
-
2551
- #~ msgid "WhatsApp Number"
2552
- #~ msgstr "Link WhatsApp"
2553
-
2554
- #~ msgid "Skype Id"
2555
- #~ msgstr "Skype ID"
2556
-
2557
- #~ msgid "Blog Options"
2558
- #~ msgstr "Opções de Blog"
2559
-
2560
- #~ msgid "Enable/Disable Breadcrumb"
2561
- #~ msgstr "Ativar / Desativar Breadcrumb"
2562
-
2563
- #~ msgid "Thumbnail on Archive Post"
2564
- #~ msgstr "Thumbnail em Arquivo Postar"
2565
-
2566
- #~ msgid "Enable/Disable Thumbnail on Archive/Loop Page"
2567
- #~ msgstr "Ativar / Desativar miniatura na página Arquivo / Loop"
2568
-
2569
- #~ msgid "Thumbnail on Single Post"
2570
- #~ msgstr "Thumbnail em Single Post"
2571
-
2572
- #~ msgid "Enable/Disable Thumbnail on Single Post"
2573
- #~ msgstr "Ativar / Desativar miniatura no único post"
2574
-
2575
- #~ msgid "Show/Hide post meta on archive / loop posts like: author, category, date."
2576
- #~ msgstr "Mostrar / Ocultar postar meta em arquivo / loops como: autor, categoria, data."
2577
-
2578
- #~ msgid "Display Post Meta on Single Post"
2579
- #~ msgstr "Visualizar o Post Meta no Single Post"
2580
-
2581
- #~ msgid "Show/Hide post meta on single post like: author, category, date."
2582
- #~ msgstr "Mostrar / Ocultar meta de publicação em uma única publicação como: autor, categoria, data."
2583
-
2584
- #~ msgid "Display Sticky Post Date"
2585
- #~ msgstr "Exibir a Data de Postagem Fixa"
2586
-
2587
- #~ msgid "Show/Hide date of sticky post on archive/loop page."
2588
- #~ msgstr "Mostrar / Ocultar a data da publicação pegajosa no arquivo / página de loop."
2589
-
2590
- #~ msgid "Which date do you want to display for single post?"
2591
- #~ msgstr "Qual data você deseja exibir para uma única publicação?"
2592
-
2593
- #~ msgid "Display Publish Date"
2594
- #~ msgstr "Data de publicação do display"
2595
-
2596
- #~ msgid "Display Excerpt or Content on Archive"
2597
- #~ msgstr "Exibir extrato ou conteúdo no arquivo"
2598
-
2599
- #~ msgid "Display Excerpt"
2600
- #~ msgstr "Excerto de exibição"
2601
-
2602
- #~ msgid "Excerpt Length"
2603
- #~ msgstr "Comprimento do trecho"
2604
-
2605
- #~ msgid "How much words you want to display on Archive page?"
2606
- #~ msgstr "Quantas palavras você deseja exibir na página Arquivo?"
2607
-
2608
- #~ msgid "Display Pagination on Archive"
2609
- #~ msgstr "Exibir Paginação em Arquivo"
2610
-
2611
- #~ msgid "Which type of pagination, you want to display?"
2612
- #~ msgstr "Qual tipo de paginação, você quer exibir?"
2613
-
2614
- #~ msgid "Next Previous Pagination"
2615
- #~ msgstr "Próxima Paginação Anterior"
2616
-
2617
- #~ msgid "Number Pagination"
2618
- #~ msgstr "Paginação de números"
2619
-
2620
- #~ msgid "Comment Box Headline"
2621
- #~ msgstr "Cabeçalho da caixa de comentários"
2622
-
2623
- #~ msgid "Sidebar Menu Options"
2624
- #~ msgstr "Opções do menu barra lateral"
2625
-
2626
- #~ msgid "Side Bar Menu"
2627
- #~ msgstr "Menu do menu lateral"
2628
-
2629
- #~ msgid "Enable/Disable Side Bar Menu"
2630
- #~ msgstr "Ativar / Desativar o menu da barra lateral"
2631
-
2632
- #~ msgid "Woocommerce Options"
2633
- #~ msgstr "Opções de Woocommerce"
2634
-
2635
- #~ msgid "Display shop icon in Top Bar?"
2636
- #~ msgstr "Ícone do display shop na Top Bar?"
2637
-
2638
- #~ msgid "Enable/Disable shop icon in Top Bar"
2639
- #~ msgstr "Ativar / Desativar o ícone da loja na Barra superior"
2640
-
2641
- #~ msgid "Display cart icon in Top Bar?"
2642
- #~ msgstr "Ícone do carrinho de exibição no Top Bar?"
2643
-
2644
- #~ msgid "Enable/Disable cart icon in Top Bar"
2645
- #~ msgstr "Ativar / Desativar ícone do carrinho na barra superior"
2646
-
2647
- #~ msgid "Display My Account icon in Top Bar?"
2648
- #~ msgstr "Exibir o ícone da minha conta na barra superior?"
2649
-
2650
- #~ msgid "Enable/Disable My Account icon in Top Bar"
2651
- #~ msgstr "Ativar / Desativar o ícone da minha conta na barra superior"
2652
-
2653
- #~ msgid "WC Breadcrumbs"
2654
- #~ msgstr "Panelas de panela"
2655
-
2656
- #~ msgid "Enable/Disable WooCommerce Breadcrumbs."
2657
- #~ msgstr "Ativar / Desativar WooCommerce Breadcrumbs."
2658
-
2659
- #~ msgid "Related Products"
2660
- #~ msgstr "Produtos relacionados"
2661
-
2662
- #~ msgid "Enable/Disable WooCommerce Related Products."
2663
- #~ msgstr "Ativar / Desativar produtos relacionados do WooCommerce."
2664
-
2665
- #~ msgid "Gallery Zoom"
2666
- #~ msgstr "Galeria Zoom"
2667
-
2668
- #~ msgid "Enable/Disable gallery zoom support on single product."
2669
- #~ msgstr "Ativar / Desativar o suporte ao zoom da galeria em um único produto."
2670
-
2671
- #~ msgid "Gallery Light Box"
2672
- #~ msgstr "Galeria Light Box"
2673
-
2674
- #~ msgid "Enable/Disable gallery light box support on single product."
2675
- #~ msgstr "Ativar / Desativar o suporte da caixa de luz da galeria em um único produto."
2676
-
2677
- #~ msgid "Gallery Slider"
2678
- #~ msgstr "Slider da galeria"
2679
-
2680
- #~ msgid "Enable/Disable gallery slider support on single product."
2681
- #~ msgstr "Ativar / Desativar o suporte do controle deslizante da galeria em um único produto."
2682
-
2683
- #~ msgid "Number of products display on loop page"
2684
- #~ msgstr "Número de produtos exibidos na página do loop"
2685
-
2686
- #~ msgid "How much products you want to display on loop page?"
2687
- #~ msgstr "Quantos produtos você deseja exibir na página do loop?"
2688
-
2689
- #~ msgid "Number of products display per column"
2690
- #~ msgstr "Número de produtos exibidos por coluna"
2691
-
2692
- #~ msgid "How much products you want to display in single line?"
2693
- #~ msgstr "Quantos produtos você deseja exibir em uma única linha?"
2694
-
2695
- #~ msgid "This layout will apply on Shop, Single Product and Product Search Pages. If you want to set full width for Cart, Checkout and My Account pages, then edit these pages and select Full Width No Sidebar Template."
2696
- #~ msgstr "Este layout será aplicado nas Páginas de Pesquisa de Produtos, Produtos Únicos e Produtos. Se você quiser definir a largura total para as páginas de Cart, Checkout e Minha Conta, edite estas páginas e selecione Largura Completa Nenhum Modelo de Barra Lateral."
2697
-
2698
- #~ msgid "WooCommerce Page Layout"
2699
- #~ msgstr "WooCommerce Page Layout"
2700
-
2701
- #~ msgid "Footer Widget Options"
2702
- #~ msgstr "Opções do Widget do rodapé"
2703
-
2704
- #~ msgid "Footer Widgets"
2705
- #~ msgstr "Widgets de rodapé"
2706
-
2707
- #~ msgid "How much Widgets you want? (please save and go to Widgets page to add.)"
2708
- #~ msgstr "Quanto Widgets você quer? (salve e vá para a página Widgets para adicionar.)"
2709
-
2710
- #~ msgid "Footer Copyright Options"
2711
- #~ msgstr "Opções de direitos autorais do rodapé"
2712
-
2713
- #~ msgid "Footer Left Content"
2714
- #~ msgstr "Conteúdo esquerdo do rodapé"
2715
-
2716
- #~ msgid "Content of Footer Left Side"
2717
- #~ msgstr "Conteúdo do rodapé lado esquerdo"
2718
-
2719
- #~ msgid "Footer Center Content"
2720
- #~ msgstr "Conteúdo do Centro de rodapé"
2721
-
2722
- #~ msgid "Content of Footer Center Side"
2723
- #~ msgstr "Conteúdo do Footer Center Side"
2724
-
2725
- #~ msgid "Footer Right Content"
2726
- #~ msgstr "Footer Right Content"
2727
-
2728
- #~ msgid "MISC Options"
2729
- #~ msgstr "Opções do MISC"
2730
-
2731
- #~ msgid "Sticky Menu"
2732
- #~ msgstr "Menu Sticky"
2733
-
2734
- #~ msgid "Enable/Disable Sticky Menu (This will not work for small devices)"
2735
- #~ msgstr "Ativar / Desativar o Menu Fixo (Isso não funcionará para dispositivos pequenos)"
2736
-
2737
- #~ msgid "Back To Top Button"
2738
- #~ msgstr "Botão Voltar ao Topo"
2739
-
2740
- #~ msgid "Enable/Disable Back To Top Button"
2741
- #~ msgstr "Ativar / Desativar Botão Voltar ao Início"
2742
-
2743
- #~ msgid "Page Loading Icon"
2744
- #~ msgstr "Icone lendo pagina"
2745
-
2746
- #~ msgid "Enable/Disable Page Loading Icon"
2747
- #~ msgstr "Ativar / Desativar Ícone de carregamento da página"
2748
-
2749
- #~ msgid "Upload Custom Loading Icon"
2750
- #~ msgstr "Carregar ícone de carregamento personalizado"
2751
-
2752
- #~ msgid "It will replace default loading icon."
2753
- #~ msgstr "Ele irá substituir o ícone de carregamento padrão."
2754
-
2755
- #~ msgid "Theme Info"
2756
- #~ msgstr "Informaçoes do Tema"
2757
-
2758
- #~ msgid "SEOPress DOCS"
2759
- #~ msgstr "SEOPress DOCS"
2760
-
2761
- #~ msgid "SEOPress Demo"
2762
- #~ msgstr "Demonstração SEOPress"
2763
-
2764
- #~ msgid "Background Color"
2765
- #~ msgstr "Cor de fundo"
2766
-
2767
- #~ msgid "Background Image"
2768
- #~ msgstr "Imagem de fundo"
2769
-
2770
- #~ msgid "No File Selected"
2771
- #~ msgstr "Nenhum arquivo selecionado"
2772
-
2773
- #~ msgid "Remove"
2774
- #~ msgstr "Remover"
2775
-
2776
- #~ msgid "Select File"
2777
- #~ msgstr "Selecione o arquivo"
2778
-
2779
- #~ msgid "Background Repeat"
2780
- #~ msgstr "Repetição ativa"
2781
-
2782
- #~ msgid "No Repeat"
2783
- #~ msgstr "Sem repetição"
2784
-
2785
- #~ msgid "Repeat All"
2786
- #~ msgstr "Repita tudo"
2787
-
2788
- #~ msgid "Repeat Horizontally"
2789
- #~ msgstr "Repita horizontalmente"
2790
-
2791
- #~ msgid "Repeat Vertically"
2792
- #~ msgstr "Repita verticalmente"
2793
-
2794
- #~ msgid "Background Position"
2795
- #~ msgstr "Posição de fundo"
2796
-
2797
- #~ msgid "Left Top"
2798
- #~ msgstr "Superior esquerdo"
2799
-
2800
- #~ msgid "Left Center"
2801
- #~ msgstr "Centro esquerdo"
2802
-
2803
- #~ msgid "Left Bottom"
2804
- #~ msgstr "Inferior esquerdo"
2805
-
2806
- #~ msgid "Right Top"
2807
- #~ msgstr "Right Top"
2808
-
2809
- #~ msgid "Right Center"
2810
- #~ msgstr "Centro Direito"
2811
-
2812
- #~ msgid "Right Bottom"
2813
- #~ msgstr "Inferior direito"
2814
-
2815
- #~ msgid "Center Top"
2816
- #~ msgstr "Topo do centro"
2817
-
2818
- #~ msgid "Center Center"
2819
- #~ msgstr "Centro Centro"
2820
-
2821
- #~ msgid "Center Bottom"
2822
- #~ msgstr "Centro de fundo"
2823
-
2824
- #~ msgid "Background Size"
2825
- #~ msgstr "Tamanho do fundo"
2826
-
2827
- #~ msgid "Cover"
2828
- #~ msgstr "Tampa"
2829
-
2830
- #~ msgid "Contain"
2831
- #~ msgstr "Conter"
2832
-
2833
- #~ msgid "Auto"
2834
- #~ msgstr "Auto"
2835
-
2836
- #~ msgid "Background Attachment"
2837
- #~ msgstr "Anexo de fundo"
2838
-
2839
- #~ msgid "Scroll"
2840
- #~ msgstr "Rolagem"
2841
-
2842
- #~ msgid "Fixed"
2843
- #~ msgstr "Fixo"
2844
-
2845
- #~ msgid "Invalid Value"
2846
- #~ msgstr "Valor inválido"
2847
-
2848
- #~ msgid "Font Size"
2849
- #~ msgstr "Tamanho da fonte"
2850
-
2851
- #~ msgid "Font Weight"
2852
- #~ msgstr "Largura da FONTE"
2853
-
2854
- #~ msgid "Line Height"
2855
- #~ msgstr "Altura da linha"
2856
-
2857
- #~ msgid "Font Style"
2858
- #~ msgstr "Estilo de fonte"
2859
-
2860
- #~ msgid "Letter Spacing"
2861
- #~ msgstr "Espaçamento das letras"
2862
-
2863
- #~ msgid "Word Spacing"
2864
- #~ msgstr "Espaçamento de palavras"
2865
-
2866
- #~ msgid "Top"
2867
- #~ msgstr "Topo"
2868
-
2869
- #~ msgid "Bottom"
2870
- #~ msgstr "Inferior"
2871
-
2872
- #~ msgid "Left"
2873
- #~ msgstr "Esquerda"
2874
-
2875
- #~ msgid "Right"
2876
- #~ msgstr "Certo"
2877
-
2878
- #~ msgid "Center"
2879
- #~ msgstr "Centro"
2880
-
2881
- #~ msgid "Size"
2882
- #~ msgstr "Tamanho"
2883
-
2884
- #~ msgid "Height"
2885
- #~ msgstr "Altura"
2886
-
2887
- #~ msgid "Spacing"
2888
- #~ msgstr "Espaçamento"
2889
-
2890
- #~ msgid "Width"
2891
- #~ msgstr "Largura"
2892
-
2893
- #~ msgid "Open Editor"
2894
- #~ msgstr "Editar"
2895
-
2896
- #~ msgid "Close Editor"
2897
- #~ msgstr "Fechar editor"
2898
-
2899
- #~ msgid "Switch Editor"
2900
- #~ msgstr "Editor alternar"
2901
-
2902
- #~ msgid "Mode"
2903
- #~ msgstr "Modo"
2904
-
2905
- #~ msgid "Linear"
2906
- #~ msgstr "Linear"
2907
-
2908
- #~ msgid "Radial"
2909
- #~ msgstr "Radial"
2910
-
2911
- #~ msgid "Angle"
2912
- #~ msgstr "Ângulo"
2913
-
2914
- #~ msgid "Start Color"
2915
- #~ msgstr "Início da cor"
2916
-
2917
- #~ msgid "Color Stop"
2918
- #~ msgstr "Parada de cores"
2919
-
2920
- #~ msgid "End Color"
2921
- #~ msgstr "Cor de fim"
2922
-
2923
- #~ msgid "Value lower than allowed minimum"
2924
- #~ msgstr "Valor inferior ao mínimo permitido"
2925
-
2926
- #~ msgid "Value higher than allowed maximum"
2927
- #~ msgstr "Valor superior ao permitido máximo"
2928
-
2929
- #~ msgid "row"
2930
- #~ msgstr "linha"
2931
-
2932
- #~ msgid "Add new %s"
2933
- #~ msgstr "Adicionar novos %s"
2934
-
2935
- #~ msgid "Limit: %s rows"
2936
- #~ msgstr "Limite: %s linhas"
2937
-
2938
- #~ msgid "Hex Value"
2939
- #~ msgstr "Valor Hex"
2940
-
2941
- #~ msgid "No Image Selected"
2942
- #~ msgstr "Nenhuma imagem selecionada"
2943
-
2944
- #~ msgid "Add Image"
2945
- #~ msgstr "Adicionar Imagem"
2946
-
2947
- #~ msgid "Change Image"
2948
- #~ msgstr "Alterar Imagem"
2949
-
2950
- #~ msgid "Add File"
2951
- #~ msgstr "Adicionar Arquivo"
2952
-
2953
- #~ msgid "Change File"
2954
- #~ msgstr "Alterar arquivo"
2955
-
2956
- #~ msgid "Font Family"
2957
- #~ msgstr "Família de fontes"
2958
-
2959
- #~ msgid "Select Font Family"
2960
- #~ msgstr "Selecione a família de fontes"
2961
-
2962
- #~ msgid "Backup Font"
2963
- #~ msgstr "Fonte de backup"
2964
-
2965
- #~ msgid "Variant"
2966
- #~ msgstr "Variante"
2967
-
2968
- #~ msgid "Subset(s)"
2969
- #~ msgstr "Subconjunto (s)"
2970
-
2971
- #~ msgid "Text Align"
2972
- #~ msgstr "Alinhamento de texto"
2973
-
2974
- #~ msgid "Inherit"
2975
- #~ msgstr "Herdar"
2976
-
2977
- #~ msgid "Justify"
2978
- #~ msgstr "Justificar"
2979
-
2980
- #~ msgid "Text Transform"
2981
- #~ msgstr "Transformação de texto"
2982
-
2983
- #~ msgid "Capitalize"
2984
- #~ msgstr "Capitalizar"
2985
-
2986
- #~ msgid "Uppercase"
2987
- #~ msgstr "Maiúscula"
2988
-
2989
- #~ msgid "Lowercase"
2990
- #~ msgstr "Minúsculas"
2991
-
2992
- #~ msgid "Initial"
2993
- #~ msgstr "Inicial"
2994
-
2995
- #~ msgid "Color"
2996
- #~ msgstr "Cor"
2997
-
2998
- #~ msgid "Margin Top"
2999
- #~ msgstr "Top de Margem"
3000
-
3001
- #~ msgid "Margin Bottom"
3002
- #~ msgstr "Margem inferior"
3003
-
3004
- #~ msgid "On"
3005
- #~ msgstr "Em"
3006
-
3007
- #~ msgid "Off"
3008
- #~ msgstr "Fora"
3009
-
3010
- #~ msgid "Customizing &#9656; %s"
3011
- #~ msgstr "Customizing & # 9656; % s"
3012
-
3013
- #~ msgid "%s Reset"
3014
- #~ msgstr "%s Redefinir"
3015
-
3016
- #~ msgid "Ultra-Light 100"
3017
- #~ msgstr "Ultra-Light 100"
3018
-
3019
- #~ msgid "Ultra-Light 100 Italic"
3020
- #~ msgstr "Ultra-Light 100 Itálico"
3021
-
3022
- #~ msgid "Light 200"
3023
- #~ msgstr "Luz 200"
3024
-
3025
- #~ msgid "Light 200 Italic"
3026
- #~ msgstr "Light 200 Itálico"
3027
-
3028
- #~ msgid "Book 300"
3029
- #~ msgstr "Livro 300"
3030
-
3031
- #~ msgid "Book 300 Italic"
3032
- #~ msgstr "Livro 300 Itálico"
3033
-
3034
- #~ msgid "Normal 400"
3035
- #~ msgstr "Normal 400"
3036
-
3037
- #~ msgid "Normal 400 Italic"
3038
- #~ msgstr "Normal 400 Itálico"
3039
-
3040
- #~ msgid "Medium 500 Italic"
3041
- #~ msgstr "Medium 500 Itálico"
3042
-
3043
- #~ msgid "Semi-Bold 600"
3044
- #~ msgstr "Semi-Negrito 600"
3045
-
3046
- #~ msgid "Semi-Bold 600 Italic"
3047
- #~ msgstr "Semi-Bold 600 Itálico"
3048
-
3049
- #~ msgid "Bold 700"
3050
- #~ msgstr "Negrito 700"
3051
-
3052
- #~ msgid "Bold 700 Italic"
3053
- #~ msgstr "Bold 700 Itálico"
3054
-
3055
- #~ msgid "Extra-Bold 800"
3056
- #~ msgstr "Extra-Bold 800"
3057
-
3058
- #~ msgid "Extra-Bold 800 Italic"
3059
- #~ msgstr "Extra-Bold 800 Itálico"
3060
-
3061
- #~ msgid "Ultra-Bold 900"
3062
- #~ msgstr "Ultra-Bold 900"
3063
-
3064
- #~ msgid "Ultra-Bold 900 Italic"
3065
- #~ msgstr "Ultra-Bold 900 Itálico"
3066
-
3067
- #~ msgid "Important Upgrade Notice:"
3068
- #~ msgstr "Aviso Importante de Upgrade:"
3069
-
3070
- #~ msgid "Install Required Plugins"
3071
- #~ msgstr "Instalar Plugins Requeridos"
3072
-
3073
- #~ msgid "Install Plugins"
3074
- #~ msgstr "Instalar Plugins"
3075
-
3076
- #~ msgid "Installing Plugin: %s"
3077
- #~ msgstr "Instalando o Plugin: %s"
3078
-
3079
- #~ msgid "Updating Plugin: %s"
3080
- #~ msgstr "Actualização do Plugin: %s"
3081
-
3082
- #~ msgid "Something went wrong with the plugin API."
3083
- #~ msgstr "Algo deu errado com a API do plugin."
3084
-
3085
- #~ msgid "This theme requires the following plugin: %1$s."
3086
- #~ msgid_plural "This theme requires the following plugins: %1$s."
3087
- #~ msgstr[0] "Este tema requer o seguinte plug-in: %1$s ."
3088
- #~ msgstr[1] "Este tema requer o seguinte plug-in: %1$s ."
3089
-
3090
- #~ msgid "This theme recommends the following plugin: %1$s."
3091
- #~ msgid_plural "This theme recommends the following plugins: %1$s."
3092
- #~ msgstr[0] "Este tema recomenda o seguinte plug-in: %1$s ."
3093
- #~ msgstr[1] "Este tema recomenda o seguinte plug-in: %1$s ."
3094
-
3095
- #~ msgid "The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s."
3096
- #~ msgid_plural "The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s."
3097
- #~ msgstr[0] "O seguinte plug-in precisa ser atualizado para sua versão mais recente para garantir a máxima compatibilidade com este tema: %1$s ."
3098
- #~ msgstr[1] "O seguinte plug-in precisa ser atualizado para sua versão mais recente para garantir a máxima compatibilidade com este tema: %1$s ."
3099
-
3100
- #~ msgid "There is an update available for: %1$s."
3101
- #~ msgid_plural "There are updates available for the following plugins: %1$s."
3102
- #~ msgstr[0] "Existe uma atualização disponível para: %1$s ."
3103
- #~ msgstr[1] "Existe uma atualização disponível para: %1$s ."
3104
-
3105
- #~ msgid "The following required plugin is currently inactive: %1$s."
3106
- #~ msgid_plural "The following required plugins are currently inactive: %1$s."
3107
- #~ msgstr[0] "O seguinte plugin necessário está atualmente inativo: %1$s ."
3108
- #~ msgstr[1] "O seguinte plugin necessário está atualmente inativo: %1$s ."
3109
-
3110
- #~ msgid "The following recommended plugin is currently inactive: %1$s."
3111
- #~ msgid_plural "The following recommended plugins are currently inactive: %1$s."
3112
- #~ msgstr[0] "O seguinte complemento recomendado está atualmente inativo: %1$s ."
3113
- #~ msgstr[1] "O seguinte complemento recomendado está atualmente inativo: %1$s ."
3114
-
3115
- #~ msgid "Begin installing plugin"
3116
- #~ msgid_plural "Begin installing plugins"
3117
- #~ msgstr[0] "Comece a instalar o plugin"
3118
- #~ msgstr[1] "Comece a instalar o plugin"
3119
-
3120
- #~ msgid "Begin updating plugin"
3121
- #~ msgid_plural "Begin updating plugins"
3122
- #~ msgstr[0] "Inicie o plugin de atualização"
3123
- #~ msgstr[1] "Inicie o plugin de atualização"
3124
-
3125
- #~ msgid "Begin activating plugin"
3126
- #~ msgid_plural "Begin activating plugins"
3127
- #~ msgstr[0] "Comece a ativar o plugin"
3128
- #~ msgstr[1] "Comece a ativar o plugin"
3129
-
3130
- #~ msgid "Return to Required Plugins Installer"
3131
- #~ msgstr "Voltar para instalador de Plugins necessários"
3132
-
3133
- #~ msgid "Plugin activated successfully."
3134
- #~ msgstr "Plugin ativado com sucesso."
3135
-
3136
- #~ msgid "The following plugin was activated successfully:"
3137
- #~ msgid_plural "The following plugins were activated successfully:"
3138
- #~ msgstr[0] "O seguinte plug-in foi ativado com sucesso:"
3139
- #~ msgstr[1] "O seguinte plug-in foi ativado com sucesso:"
3140
-
3141
- #~ msgid "No action taken. Plugin %1$s was already active."
3142
- #~ msgstr "Nenhuma ação tomada. O plugin %1$s já estava ativo."
3143
-
3144
- #~ msgid "Plugin not activated. A higher version of %s is needed for this theme. Please update the plugin."
3145
- #~ msgstr "Plugin não ativado. É necessária uma versão mais alta de %s para este tema. Atualize o plugin."
3146
-
3147
- #~ msgid "All plugins installed and activated successfully. %1$s"
3148
- #~ msgstr "Todos os plugins instalados e ativados com sucesso. %1$s"
3149
-
3150
- #~ msgid "Dismiss this notice"
3151
- #~ msgstr "Descartar essa notificação"
3152
-
3153
- #~ msgid "There are one or more required or recommended plugins to install, update or activate."
3154
- #~ msgstr "Há um ou mais plugins necessários ou recomendados para instalar, atualizar ou ativar."
3155
-
3156
- #~ msgid "Please contact the administrator of this site for help."
3157
- #~ msgstr "Entre em contato com o administrador deste site para obter ajuda."
3158
-
3159
- #~ msgid "This plugin needs to be updated to be compatible with your theme."
3160
- #~ msgstr "Este plugin precisa ser atualizado para ser compatível com seu tema."
3161
-
3162
- #~ msgid "Update Required"
3163
- #~ msgstr "Atualização necessária"
3164
-
3165
- #~ msgid "The remote plugin package does not contain a folder with the desired slug and renaming did not work."
3166
- #~ msgstr "O pacote de plugin remoto não contém uma pasta com o slug desejado e a renomeação não funcionou."
3167
-
3168
- #~ msgid "Please contact the plugin provider and ask them to package their plugin according to the WordPress guidelines."
3169
- #~ msgstr "Entre em contato com o provedor de plugins e peça-lhes para empacotar seu plugin de acordo com as diretrizes do WordPress."
3170
-
3171
- #~ msgid "The remote plugin package consists of more than one file, but the files are not packaged in a folder."
3172
- #~ msgstr "O pacote de plugin remoto consiste em mais de um arquivo, mas os arquivos não são empacotados em uma pasta."
3173
-
3174
- #~ msgctxt "plugin A *and* plugin B"
3175
- #~ msgid "and"
3176
- #~ msgstr "e"
3177
-
3178
- #~ msgid "TGMPA v%s"
3179
- #~ msgstr "TGMPA v %s"
3180
-
3181
- #~ msgid "Required"
3182
- #~ msgstr "Requeridos"
3183
-
3184
- #~ msgid "Recommended"
3185
- #~ msgstr "Recomendado"
3186
-
3187
- #~ msgid "WordPress Repository"
3188
- #~ msgstr "Repositorio WordPress"
3189
-
3190
- #~ msgid "External Source"
3191
- #~ msgstr "Fonte externa"
3192
-
3193
- #~ msgid "Pre-Packaged"
3194
- #~ msgstr "Pré-embalados"
3195
-
3196
- #~ msgid "Not Installed"
3197
- #~ msgstr "Não instalado"
3198
-
3199
- #~ msgid "Installed But Not Activated"
3200
- #~ msgstr "Instalado, mas não ativado"
3201
-
3202
- #~ msgid "Active"
3203
- #~ msgstr "Ativo"
3204
-
3205
- #~ msgid "Required Update not Available"
3206
- #~ msgstr "Atualização necessária não disponível"
3207
-
3208
- #~ msgid "Requires Update"
3209
- #~ msgstr "Requer atualização"
3210
-
3211
- #~ msgid "Update recommended"
3212
- #~ msgstr "Atualização recomendada"
3213
-
3214
- #~ msgctxt "Install/Update Status"
3215
- #~ msgid "%1$s, %2$s"
3216
- #~ msgstr "%1$s , %2$s"
3217
-
3218
- #~ msgctxt "plugins"
3219
- #~ msgid "All <span class=\"count\">(%s)</span>"
3220
- #~ msgid_plural "All <span class=\"count\">(%s)</span>"
3221
- #~ msgstr[0] "Todos <span class = \\ \"count \"> ( %s ) </ span>"
3222
- #~ msgstr[1] "Todos <span class = \\ \"count \"> ( %s ) </ span>"
3223
-
3224
- #~ msgid "To Install <span class=\"count\">(%s)</span>"
3225
- #~ msgid_plural "To Install <span class=\"count\">(%s)</span>"
3226
- #~ msgstr[0] "Para instalar <span class = \\ \"count \"> ( %s ) </ span>"
3227
- #~ msgstr[1] "Para instalar <span class = \\ \"count \"> ( %s ) </ span>"
3228
-
3229
- #~ msgid "Update Available <span class=\"count\">(%s)</span>"
3230
- #~ msgid_plural "Update Available <span class=\"count\">(%s)</span>"
3231
- #~ msgstr[0] "Atualização disponível <span class = \\ \"count \"> ( %s ) </ span>"
3232
- #~ msgstr[1] "Atualização disponível <span class = \\ \"count \"> ( %s ) </ span>"
3233
-
3234
- #~ msgid "To Activate <span class=\"count\">(%s)</span>"
3235
- #~ msgid_plural "To Activate <span class=\"count\">(%s)</span>"
3236
- #~ msgstr[0] "Para ativar <span class = \\ \"count \"> ( %s ) </ span>"
3237
- #~ msgstr[1] "Para ativar <span class = \\ \"count \"> ( %s ) </ span>"
3238
-
3239
- #~ msgctxt "as in: \"version nr unknown\""
3240
- #~ msgid "unknown"
3241
- #~ msgstr "desconhecido"
3242
-
3243
- #~ msgid "Installed version:"
3244
- #~ msgstr "Versão instalada:"
3245
-
3246
- #~ msgid "Minimum required version:"
3247
- #~ msgstr "Versão mínima exigida:"
3248
-
3249
- #~ msgid "Available version:"
3250
- #~ msgstr "Versão disponível:"
3251
-
3252
- #~ msgid "No plugins to install, update or activate."
3253
- #~ msgstr "Não há plugins para instalar, atualizar ou ativar."
3254
-
3255
- #~ msgid "Plugin"
3256
- #~ msgstr "Plugar"
3257
-
3258
- #~ msgid "Source"
3259
- #~ msgstr "Fonte"
3260
-
3261
- #~ msgid "Type"
3262
- #~ msgstr "Tipo"
3263
-
3264
- #~ msgid "Version"
3265
- #~ msgstr "Versão"
3266
-
3267
- #~ msgid "Status"
3268
- #~ msgstr "Status"
3269
-
3270
- #~ msgid "Install %2$s"
3271
- #~ msgstr "Instalar %2$s"
3272
-
3273
- #~ msgid "Update %2$s"
3274
- #~ msgstr "Atualização %2$s"
3275
-
3276
- #~ msgid "Activate %2$s"
3277
- #~ msgstr "Ativar %2$s"
3278
-
3279
- #~ msgid "Upgrade message from the plugin author:"
3280
- #~ msgstr "Mensagem de atualização do autor do plugin:"
3281
-
3282
- #~ msgid "Install"
3283
- #~ msgstr "Instalar"
3284
-
3285
- #~ msgid "Update"
3286
- #~ msgstr "Atualizar"
3287
-
3288
- #~ msgid "Activate"
3289
- #~ msgstr "Ativar"
3290
-
3291
- #~ msgid "No plugins were selected to be installed. No action taken."
3292
- #~ msgstr "Nenhum plugin foi selecionado para ser instalado. Nenhuma ação tomada."
3293
-
3294
- #~ msgid "No plugins were selected to be updated. No action taken."
3295
- #~ msgstr "Nenhum plugin foi selecionado para ser atualizado. Nenhuma ação tomada."
3296
-
3297
- #~ msgid "No plugins are available to be installed at this time."
3298
- #~ msgstr "Nenhum plugin está disponível para ser instalado no momento."
3299
-
3300
- #~ msgid "No plugins are available to be updated at this time."
3301
- #~ msgstr "Nenhum plug-in está disponível para ser atualizado neste momento."
3302
-
3303
- #~ msgid "No plugins were selected to be activated. No action taken."
3304
- #~ msgstr "Nenhum plugin foi selecionado para ser ativado. Nenhuma ação tomada."
3305
-
3306
- #~ msgid "No plugins are available to be activated at this time."
3307
- #~ msgstr "Nenhum plug-in está disponível para ser ativado neste momento."
3308
-
3309
- #~ msgid "Plugin activation failed."
3310
- #~ msgstr "A ativação do plugin falhou."
3311
-
3312
- #~ msgid "Updating Plugin %1$s (%2$d/%3$d)"
3313
- #~ msgstr "Actualização do Plugin %1$s ( %2$d / %3$d )"
3314
-
3315
- #~ msgid "An error occurred while installing %1$s: <strong>%2$s</strong>."
3316
- #~ msgstr "Ocorreu um erro ao instalar %1$s : <strong> %2$s </ strong>."
3317
-
3318
- #~ msgid "The installation of %1$s failed."
3319
- #~ msgstr "A instalação do %1$s falhou."
3320
-
3321
- #~ msgid "The installation and activation process is starting. This process may take a while on some hosts, so please be patient."
3322
- #~ msgstr "O processo de instalação e ativação está começando. Este processo pode demorar um pouco em alguns hosts, então seja paciente."
3323
-
3324
- #~ msgid "%1$s installed and activated successfully."
3325
- #~ msgstr "%1$s instalado e ativado com sucesso."
3326
-
3327
- #~ msgid "Hide Details"
3328
- #~ msgstr "Detalhes ocultos"
3329
-
3330
- #~ msgid "All installations and activations have been completed."
3331
- #~ msgstr "Todas as instalações e ativações foram concluídas."
3332
-
3333
- #~ msgid "Installing and Activating Plugin %1$s (%2$d/%3$d)"
3334
- #~ msgstr "Instalando e Ativando o Plugin %1$s ( %2$d / %3$d )"
3335
-
3336
- #~ msgid "The installation process is starting. This process may take a while on some hosts, so please be patient."
3337
- #~ msgstr "O processo de instalação está começando. Este processo pode demorar um pouco em alguns hosts, então seja paciente."
3338
-
3339
- #~ msgid "%1$s installed successfully."
3340
- #~ msgstr "%1$s instalado com sucesso."
3341
-
3342
- #~ msgid "All installations have been completed."
3343
- #~ msgstr "Todas as instalações foram concluídas."
3344
-
3345
- #~ msgid "Installing Plugin %1$s (%2$d/%3$d)"
3346
- #~ msgstr "Instalando o Plugin %1$s ( %2$d / %3$d )"
3347
-
3348
- #~ msgid "Meta Slider (for Slider)"
3349
- #~ msgstr "Meta Slider (para Slider)"
3350
-
3351
- #~ msgid "Max Mega Menu (for Mega Menu)"
3352
- #~ msgstr "Menu Max Mega (para Mega Menu)"
3353
-
3354
- #~ msgid "Page Builder by SiteOrigin (Page Builder)"
3355
- #~ msgstr "Construtor de Páginas por SiteOrigin (Page Builder)"
3356
-
3357
- #~ msgid "SiteOrigin Widgets Bundle (Page Builder Widgets)"
3358
- #~ msgstr "Pacote de Widgets do SiteOrigin (Widgets do Builder da Página)"
3359
-
3360
- #~ msgid "WooCommerce (For E-Commerce)"
3361
- #~ msgstr "WooCommerce (For E-Commerce)"
3362
-
3363
- #~ msgid "Contact Form 7 (For Forms)"
3364
- #~ msgstr "Formulário de contato 7 (para formulários)"
3365
-
3366
- #~ msgid "SEO (Search Engine Optimization)"
3367
- #~ msgstr "SEO (Search Engine Optimization)"
3368
-
3369
- #~ msgid "Search Results for: %s"
3370
- #~ msgstr "Procurar produtos por: %s"
3371
-
3372
- #~ msgid "Search &raquo;"
3373
- #~ msgstr "Procurar &raquo;"
3374
-
3375
- #~ msgid "Posts Not Found"
3376
- #~ msgstr "Post nao encontrado"
3377
-
3378
- #~ msgid "Maybe try a search?"
3379
- #~ msgstr "Procurar produtos ?"
3380
-
3381
- #~ msgid "All right reserved."
3382
- #~ msgstr "Todos os direitos reservados."
3383
-
3384
- #~ msgid "Terms of Use - Privacy Policy"
3385
- #~ msgstr "Termos de Uso - Politica de Privacidade"
3386
-
3387
- #~ msgid "WordPress"
3388
- #~ msgstr "WordPress"
3389
-
3390
- #~ msgid "Theme"
3391
- #~ msgstr "Tema"
3392
-
3393
- #~ msgid "Toggle navigation"
3394
- #~ msgstr "Alternar de navegação"
3395
-
3396
- #~ msgid "Call:"
3397
- #~ msgstr "Ligar:"
3398
-
3399
- #~ msgid "Email:"
3400
- #~ msgstr "E-mail:"
3401
-
3402
- #~ msgid " Call: "
3403
- #~ msgstr " Ligar: "
3404
-
3405
- #~ msgid " | "
3406
- #~ msgstr " | "
3407
-
3408
- #~ msgid " Email: "
3409
- #~ msgstr " E-mail: "
3410
-
3411
- #~ msgid "Shop"
3412
- #~ msgstr "Comprar"
3413
-
3414
- #~ msgid "Cart"
3415
- #~ msgstr "Carrinho"
3416
-
3417
- #~ msgid "My Account "
3418
- #~ msgstr "Minha conta "
3419
-
3420
- #~ msgid "Search Website"
3421
- #~ msgstr "Procurar no Website"
3422
-
3423
- #~ msgid "Keywords..."
3424
- #~ msgstr "Palavras-chave..."
3425
-
3426
- #~ msgid "Hit enter to search or ESC to close"
3427
- #~ msgstr "Pressione Enter para procurar ou ESC para fechar"
3428
-
3429
- #~ msgid "%1$s review for %2$s"
3430
- #~ msgid_plural "%1$s reviews for %2$s"
3431
- #~ msgstr[0] "%1$s revisão por %2$s"
3432
- #~ msgstr[1] "%1$s revisão por %2$s"
3433
-
3434
- #~ msgid "Reviews"
3435
- #~ msgstr "Rever"
3436
-
3437
- #~ msgid "There are no reviews yet."
3438
- #~ msgstr "Não há comentários ainda."
3439
-
3440
- #~ msgid "Add a review"
3441
- #~ msgstr "Adicionar uma revisão"
3442
-
3443
- #~ msgid "Be the first to review &ldquo;%s&rdquo;"
3444
- #~ msgstr "Seja o primeiro a avaliar o & ldquo; %s&rdquo;"
3445
-
3446
- #~ msgid "Leave a Reply to %s"
3447
- #~ msgstr "Deixe uma resposta para %s"
3448
-
3449
- #~ msgid "Submit"
3450
- #~ msgstr "Enviar"
3451
-
3452
- #~ msgid "You must be <a href=\"%s\">logged in</a> to post a review."
3453
- #~ msgstr "Você deve ser <a href=\" %s \"> logado </a> para publicar uma revisão."
3454
-
3455
- #~ msgid "Rate&hellip;"
3456
- #~ msgstr "Rate & hellip;"
3457
-
3458
- #~ msgid "Perfect"
3459
- #~ msgstr "Perfeito"
3460
-
3461
- #~ msgid "Good"
3462
- #~ msgstr "Boa"
3463
-
3464
- #~ msgid "Average"
3465
- #~ msgstr "Média"
3466
-
3467
- #~ msgid "Not that bad"
3468
- #~ msgstr "Não tão ruim assim"
3469
-
3470
- #~ msgid "Very Poor"
3471
- #~ msgstr "Muito ruim"
3472
-
3473
- #~ msgid "Your Review"
3474
- #~ msgstr "Sua revisão"
3475
-
3476
- #~ msgid "Only logged in customers who have purchased this product may leave a review."
3477
- #~ msgstr "Apenas usuários registrados que compraram este produto podem deixar uma revisão."
3478
-
3479
- #~ msgid "SKU:"
3480
- #~ msgstr "Unidade de Manutenção de Estoque:"
3481
-
3482
- #~ msgid "N/A"
3483
- #~ msgstr "N/D"
3484
-
3485
- #~ msgid "Category:"
3486
- #~ msgid_plural "Categories:"
3487
- #~ msgstr[0] "Categoria:"
3488
- #~ msgstr[1] "Categorias:"
3489
-
3490
- #~ msgid "Tag:"
3491
- #~ msgid_plural "Tags:"
3492
- #~ msgstr[0] "Tag:"
3493
- #~ msgstr[1] "Tag:"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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-12-15 12:44+0100\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
@@ -18,185 +18,185 @@ msgstr ""
18
  "X-Poedit-Flags-xgettext: --add-comments\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
- #: inc/admin/admin-dyn-variables-helper.php:5
22
- #: inc/admin/admin-metaboxes-form.php:130 inc/admin/admin.php:250
23
- #: inc/admin/admin.php:3294 inc/admin/admin.php:3400 inc/admin/admin.php:3517
24
- #: inc/admin/admin.php:3648 inc/admin/admin.php:3771 inc/admin/admin.php:3849
25
- #: inc/admin/admin.php:3920 inc/admin/admin.php:3990 inc/admin/admin.php:4040
26
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:67
27
  msgid "Site Title"
28
  msgstr ""
29
 
30
- #: inc/admin/admin-dyn-variables-helper.php:6 inc/admin/admin.php:251
31
- #: inc/admin/admin.php:3296 inc/admin/admin.php:3307
32
  msgid "Tagline"
33
  msgstr ""
34
 
35
- #: inc/admin/admin-dyn-variables-helper.php:7
36
- #: inc/admin/admin-metaboxes-form.php:128 inc/admin/admin.php:3396
37
- #: inc/admin/admin.php:3515 inc/admin/admin.php:4501
38
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:66
39
  msgid "Post Title"
40
  msgstr ""
41
 
42
- #: inc/admin/admin-dyn-variables-helper.php:8 inc/admin/admin.php:253
43
  msgid "Post excerpt"
44
  msgstr ""
45
 
46
- #: inc/admin/admin-dyn-variables-helper.php:9
47
  msgid "Post content / product description"
48
  msgstr ""
49
 
50
- #: inc/admin/admin-dyn-variables-helper.php:10 inc/admin/admin.php:255
51
  msgid "Post thumbnail URL"
52
  msgstr ""
53
 
54
- #: inc/admin/admin-dyn-variables-helper.php:11
55
  msgid "Post URL"
56
  msgstr ""
57
 
58
- #: inc/admin/admin-dyn-variables-helper.php:12 inc/admin/admin.php:257
59
  msgid "Post date"
60
  msgstr ""
61
 
62
- #: inc/admin/admin-dyn-variables-helper.php:13
63
  msgid "Post modified date"
64
  msgstr ""
65
 
66
- #: inc/admin/admin-dyn-variables-helper.php:14 inc/admin/admin.php:259
67
- #: inc/admin/admin.php:3847
68
  msgid "Post author"
69
  msgstr ""
70
 
71
- #: inc/admin/admin-dyn-variables-helper.php:15 inc/admin/admin.php:260
72
  msgid "Post category"
73
  msgstr ""
74
 
75
- #: inc/admin/admin-dyn-variables-helper.php:16 inc/admin/admin.php:261
76
  msgid "Post tag"
77
  msgstr ""
78
 
79
- #: inc/admin/admin-dyn-variables-helper.php:17 inc/admin/admin.php:262
80
  msgid "Category title"
81
  msgstr ""
82
 
83
- #: inc/admin/admin-dyn-variables-helper.php:18 inc/admin/admin.php:263
84
  msgid "Category description"
85
  msgstr ""
86
 
87
- #: inc/admin/admin-dyn-variables-helper.php:19 inc/admin/admin.php:264
88
  msgid "Tag title"
89
  msgstr ""
90
 
91
- #: inc/admin/admin-dyn-variables-helper.php:20 inc/admin/admin.php:265
92
  msgid "Tag description"
93
  msgstr ""
94
 
95
- #: inc/admin/admin-dyn-variables-helper.php:21 inc/admin/admin.php:266
96
  msgid "Term title"
97
  msgstr ""
98
 
99
- #: inc/admin/admin-dyn-variables-helper.php:22 inc/admin/admin.php:267
100
  msgid "Term description"
101
  msgstr ""
102
 
103
- #: inc/admin/admin-dyn-variables-helper.php:23 inc/admin/admin.php:268
104
  msgid "Search keywords"
105
  msgstr ""
106
 
107
- #: inc/admin/admin-dyn-variables-helper.php:24 inc/admin/admin.php:269
108
  msgid "Current number page"
109
  msgstr ""
110
 
111
- #: inc/admin/admin-dyn-variables-helper.php:25
112
  msgid "Page number with context"
113
  msgstr ""
114
 
115
- #: inc/admin/admin-dyn-variables-helper.php:26 inc/admin/admin.php:271
116
  msgid "Plural Post Type Archive name"
117
  msgstr ""
118
 
119
- #: inc/admin/admin-dyn-variables-helper.php:27 inc/admin/admin.php:272
120
  msgid "Archive title"
121
  msgstr ""
122
 
123
- #: inc/admin/admin-dyn-variables-helper.php:28
124
  msgid "Archive date"
125
  msgstr ""
126
 
127
- #: inc/admin/admin-dyn-variables-helper.php:29 inc/admin/admin.php:274
128
  msgid "Day Archive date"
129
  msgstr ""
130
 
131
- #: inc/admin/admin-dyn-variables-helper.php:30 inc/admin/admin.php:275
132
  msgid "Month Archive title"
133
  msgstr ""
134
 
135
- #: inc/admin/admin-dyn-variables-helper.php:31 inc/admin/admin.php:276
136
  msgid "Year Archive title"
137
  msgstr ""
138
 
139
- #: inc/admin/admin-dyn-variables-helper.php:32
140
  msgid "Custom fields from post, page or post type"
141
  msgstr ""
142
 
143
- #: inc/admin/admin-dyn-variables-helper.php:33
144
  msgid "Custom term taxonomy from post, page or post type"
145
  msgstr ""
146
 
147
- #: inc/admin/admin-dyn-variables-helper.php:34 inc/admin/admin.php:282
148
  msgid "Single product category"
149
  msgstr ""
150
 
151
- #: inc/admin/admin-dyn-variables-helper.php:35 inc/admin/admin.php:283
152
  msgid "Single product tag"
153
  msgstr ""
154
 
155
- #: inc/admin/admin-dyn-variables-helper.php:36 inc/admin/admin.php:284
156
  msgid "Single product short description"
157
  msgstr ""
158
 
159
- #: inc/admin/admin-dyn-variables-helper.php:37 inc/admin/admin.php:285
160
  msgid "Single product price"
161
  msgstr ""
162
 
163
- #: inc/admin/admin-dyn-variables-helper.php:38 inc/admin/admin.php:286
164
  msgid "Single product price taxes excluded"
165
  msgstr ""
166
 
167
- #: inc/admin/admin-dyn-variables-helper.php:39 inc/admin/admin.php:287
168
  msgid "Single SKU product"
169
  msgstr ""
170
 
171
- #: inc/admin/admin-dyn-variables-helper.php:40 inc/admin/admin.php:288
172
  msgid "Current day"
173
  msgstr ""
174
 
175
- #: inc/admin/admin-dyn-variables-helper.php:41 inc/admin/admin.php:289
176
  msgid "Current month"
177
  msgstr ""
178
 
179
- #: inc/admin/admin-dyn-variables-helper.php:42
180
  msgid "Current month in 3 letters"
181
  msgstr ""
182
 
183
- #: inc/admin/admin-dyn-variables-helper.php:43 inc/admin/admin.php:291
184
  msgid "Current year"
185
  msgstr ""
186
 
187
- #: inc/admin/admin-dyn-variables-helper.php:44 inc/admin/admin.php:292
188
  msgid "Current date"
189
  msgstr ""
190
 
191
- #: inc/admin/admin-dyn-variables-helper.php:45 inc/admin/admin.php:293
192
  msgid "Current time"
193
  msgstr ""
194
 
195
- #: inc/admin/admin-dyn-variables-helper.php:46
196
  msgid "Author biography"
197
  msgstr ""
198
 
199
- #: inc/admin/admin-dyn-variables-helper.php:47 inc/admin/admin.php:295
200
  msgid "Current month in digital format"
201
  msgstr ""
202
 
@@ -230,7 +230,8 @@ msgstr ""
230
  #: inc/admin/admin-features-list.php:233 inc/admin/admin-features-list.php:252
231
  #: inc/admin/admin-features-list.php:271 inc/admin/admin-features-list.php:290
232
  #: inc/admin/admin-features-list.php:338 inc/admin/admin-features-list.php:356
233
- #: inc/admin/admin.php:341 inc/admin/admin.php:347
 
234
  msgid "Read our guide"
235
  msgstr ""
236
 
@@ -238,7 +239,7 @@ msgstr ""
238
  msgid "Guide to manage your titles and meta descriptions - new window"
239
  msgstr ""
240
 
241
- #: inc/admin/admin-features-list.php:31 inc/admin/admin.php:238
242
  msgid "XML / Image / Video / HTML Sitemap"
243
  msgstr ""
244
 
@@ -251,7 +252,7 @@ msgid "Guide to enable your XML Sitemaps - new window"
251
  msgstr ""
252
 
253
  #: inc/admin/admin-features-list.php:47 inc/admin/admin-header.php:57
254
- #: inc/admin/admin.php:239 inc/admin/adminbar.php:137
255
  msgid "Social Networks"
256
  msgstr ""
257
 
@@ -264,7 +265,7 @@ msgid "Guide to enable Google Knowledge Graph - new window"
264
  msgstr ""
265
 
266
  #: inc/admin/admin-features-list.php:63 inc/admin/admin-header.php:63
267
- #: inc/admin/admin.php:240 inc/admin/adminbar.php:143
268
  msgid "Analytics"
269
  msgstr ""
270
 
@@ -277,8 +278,8 @@ msgid "Guide to getting started with Google Analytics - new window"
277
  msgstr ""
278
 
279
  #: inc/admin/admin-features-list.php:79 inc/admin/admin-header.php:69
280
- #: inc/admin/admin-metaboxes-form.php:62 inc/admin/admin.php:241
281
- #: inc/admin/admin.php:407 inc/admin/admin.php:703 inc/admin/adminbar.php:149
282
  msgid "Advanced"
283
  msgstr ""
284
 
@@ -288,7 +289,7 @@ msgstr ""
288
 
289
  #: inc/admin/admin-features-list.php:90 inc/admin/admin-header.php:25
290
  #: inc/admin/admin-header.php:77 inc/admin/adminbar.php:157
291
- #: inc/functions/options-advanced-admin.php:435
292
  msgid "Insights"
293
  msgstr ""
294
 
@@ -412,7 +413,7 @@ msgid "Create / manage your schemas"
412
  msgstr ""
413
 
414
  #: inc/admin/admin-features-list.php:260 inc/admin/admin-header.php:142
415
- #: inc/admin/admin.php:742 inc/admin/adminbar.php:200
416
  msgid "Redirections"
417
  msgstr ""
418
 
@@ -473,7 +474,7 @@ msgid "Configure default WordPress RSS."
473
  msgstr ""
474
 
475
  #: inc/admin/admin-features-list.php:330 inc/admin/admin-header.php:187
476
- #: inc/admin/admin.php:242 inc/admin/adminbar.php:164
477
  msgid "Tools"
478
  msgstr ""
479
 
@@ -486,7 +487,7 @@ msgid "Guide to Export/Import/Reset settings - new window"
486
  msgstr ""
487
 
488
  #: inc/admin/admin-features-list.php:348 inc/admin/admin-header.php:180
489
- #: inc/admin/admin-notifications-center.php:787 inc/admin/adminbar.php:179
490
  msgid "License"
491
  msgstr ""
492
 
@@ -538,7 +539,7 @@ msgstr ""
538
  msgid "SEOPress"
539
  msgstr ""
540
 
541
- #: inc/admin/admin-header.php:31 inc/admin/admin-notifications-center.php:816
542
  #: inc/admin/adminbar.php:185
543
  msgid "PRO"
544
  msgstr ""
@@ -547,12 +548,12 @@ msgstr ""
547
  msgid "FREE"
548
  msgstr ""
549
 
550
- #: inc/admin/admin-header.php:45 inc/admin/admin.php:237
551
  #: inc/admin/adminbar.php:125
552
  msgid "Titles & Metas"
553
  msgstr ""
554
 
555
- #: inc/admin/admin-header.php:51 inc/admin/admin.php:238
556
  #: inc/admin/adminbar.php:131
557
  msgid "XML / HTML Sitemap"
558
  msgstr ""
@@ -573,11 +574,11 @@ msgstr ""
573
  msgid "Send feedback"
574
  msgstr ""
575
 
576
- #: inc/admin/admin-header.php:219 seopress.php:1276
577
  msgid "Join our Facebook Community group"
578
  msgstr ""
579
 
580
- #: inc/admin/admin-header.php:223 seopress.php:1301
581
  msgid "Follow us on Twitter"
582
  msgstr ""
583
 
@@ -593,137 +594,136 @@ msgstr ""
593
  msgid "Support"
594
  msgstr ""
595
 
596
- #: inc/admin/admin-metaboxes-content-analysis-form.php:5
597
  msgid "Enter a few keywords for analysis to help you write optimized content."
598
  msgstr ""
599
 
600
- #: inc/admin/admin-metaboxes-content-analysis-form.php:8
601
  msgid "Did you know?"
602
  msgstr ""
603
 
604
- #: inc/admin/admin-metaboxes-content-analysis-form.php:8
605
  msgid ""
606
  "Writing content for your users is the most important thing! If it doesn‘t "
607
  "feel natural, your visitors will leave your site, Google will know it and "
608
  "your ranking will be affected."
609
  msgstr ""
610
 
611
- #: inc/admin/admin-metaboxes-content-analysis-form.php:12
612
  #: inc/admin/admin-metaboxes-content-analysis-form.php:13
613
- #: inc/admin/admin-metaboxes-content-analysis-form.php:15
614
- #: inc/admin/admin.php:786 inc/admin/admin.php:819
 
615
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:556
616
- #: inc/functions/options-advanced-admin.php:987
617
  msgid "Target keywords"
618
  msgstr ""
619
 
620
- #: inc/admin/admin-metaboxes-content-analysis-form.php:13
621
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:558
622
  msgid ""
623
  "Separate target keywords with commas. Do not use spaces after the commas, "
624
  "unless you want to include them"
625
  msgstr ""
626
 
627
- #: inc/admin/admin-metaboxes-content-analysis-form.php:15
628
  msgid "Enter your target keywords"
629
  msgstr ""
630
 
631
- #: inc/admin/admin-metaboxes-content-analysis-form.php:18
632
  msgid "Analyze my content"
633
  msgstr ""
634
 
635
- #: inc/admin/admin-metaboxes-content-analysis-form.php:20
636
  #: inc/admin/page-builders/elementor/inc/controls/class-content-analysis-control.php:43
637
  msgid "Refresh analysis"
638
  msgstr ""
639
 
640
- #: inc/admin/admin-metaboxes-content-analysis-form.php:24
641
  msgid "Track with Insights"
642
  msgstr ""
643
 
644
- #: inc/admin/admin-metaboxes-content-analysis-form.php:29
645
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:582
646
  msgid ""
647
  "To get the most accurate analysis, save your post first. We analyze all of "
648
  "your source code as a search engine would."
649
  msgstr ""
650
 
651
- #: inc/admin/admin-metaboxes-content-analysis-form.php:34
652
  #: inc/admin/admin-metaboxes-content-analysis-form.php:35
 
653
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:569
654
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:49
655
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:50
656
  msgid "Google suggestions"
657
  msgstr ""
658
 
659
- #: inc/admin/admin-metaboxes-content-analysis-form.php:35
660
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:50
661
  msgid ""
662
  "Enter a keyword, or a phrase, to find the top 10 Google suggestions "
663
  "instantly. This is useful if you want to work with the long tail technique."
664
  msgstr ""
665
 
666
- #: inc/admin/admin-metaboxes-content-analysis-form.php:37
667
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:51
668
  msgid "Get suggestions from Google"
669
  msgstr ""
670
 
671
- #: inc/admin/admin-metaboxes-content-analysis-form.php:39
672
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:52
673
  msgid "Get suggestions!"
674
  msgstr ""
675
 
676
- #: inc/admin/admin-metaboxes-form.php:51 inc/admin/admin-metaboxes.php:163
677
- #: inc/admin/admin-metaboxes.php:166 inc/admin/admin.php:235
678
  #: inc/admin/adminbar.php:44
679
  #: inc/admin/page-builders/gutenberg/gutenberg-addon.php:36
680
- #: inc/functions/options-advanced-admin.php:969
681
  msgid "SEO"
682
  msgstr ""
683
 
684
- #: inc/admin/admin-metaboxes-form.php:61
685
  msgid "Titles settings"
686
  msgstr ""
687
 
688
- #: inc/admin/admin-metaboxes-form.php:63
689
  msgid "Social"
690
  msgstr ""
691
 
692
- #: inc/admin/admin-metaboxes-form.php:66
693
  msgid "Redirection"
694
  msgstr ""
695
 
696
- #: inc/admin/admin-metaboxes-form.php:72
697
  msgid "Google News"
698
  msgstr ""
699
 
700
- #: inc/admin/admin-metaboxes-form.php:79
701
  msgid "Video Sitemap"
702
  msgstr ""
703
 
704
- #: inc/admin/admin-metaboxes-form.php:102
705
  msgid ""
706
  "This is your <strong>Shop page</strong>. Go to <strong>SEO > Titles & Metas "
707
  "> Archives > Products</strong> "
708
  msgstr ""
709
 
710
- #: inc/admin/admin-metaboxes-form.php:102
711
  msgid "to edit your title and meta description"
712
  msgstr ""
713
 
714
- #: inc/admin/admin-metaboxes-form.php:109
715
- #: inc/admin/admin-metaboxes-form.php:112
716
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:114
717
  msgid "Title"
718
  msgstr ""
719
 
720
- #: inc/admin/admin-metaboxes-form.php:110
721
- #: inc/admin/admin-metaboxes-get-content-analysis.php:37
722
- #: inc/admin/admin.php:765 inc/admin/admin.php:798
723
  msgid "Meta title"
724
  msgstr ""
725
 
726
- #: inc/admin/admin-metaboxes-form.php:110
727
  msgid ""
728
  "Titles are critical to give users a quick insight into the content of a "
729
  "result and why it’s relevant to their query. It's often the primary piece of "
@@ -731,54 +731,53 @@ msgid ""
731
  "use high-quality titles on your web pages."
732
  msgstr ""
733
 
734
- #: inc/admin/admin-metaboxes-form.php:112
735
  msgid "Enter your title"
736
  msgstr ""
737
 
738
- #: inc/admin/admin-metaboxes-form.php:119
739
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:55
740
  msgid " / 568 pixels - "
741
  msgstr ""
742
 
743
- #: inc/admin/admin-metaboxes-form.php:121
744
- #: inc/admin/admin-metaboxes-form.php:151
745
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:61
746
  msgid " (maximum recommended limit)"
747
  msgstr ""
748
 
749
- #: inc/admin/admin-metaboxes-form.php:126 inc/admin/admin.php:3643
750
  msgid "Term Title"
751
  msgstr ""
752
 
753
  #. ID
754
- #: inc/admin/admin-metaboxes-form.php:131 inc/admin/admin-wizard.php:508
755
- #: inc/admin/admin.php:1377 inc/admin/admin.php:3281 inc/admin/admin.php:3295
756
- #: inc/admin/admin.php:3398 inc/admin/admin.php:3516 inc/admin/admin.php:3646
757
- #: inc/admin/admin.php:3769 inc/admin/admin.php:3848 inc/admin/admin.php:3919
758
- #: inc/admin/admin.php:3989 inc/admin/admin.php:4041
759
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:68
760
  msgid "Separator"
761
  msgstr ""
762
 
763
  #. ID
764
- #: inc/admin/admin-metaboxes-form.php:139
765
- #: inc/admin/admin-metaboxes-form.php:140
766
- #: inc/admin/admin-metaboxes-form.php:142
767
- #: inc/admin/admin-metaboxes-get-content-analysis.php:42
768
- #: inc/admin/admin-wizard.php:303 inc/admin/admin-wizard.php:323
769
- #: inc/admin/admin-wizard.php:340 inc/admin/admin-wizard.php:359
770
- #: inc/admin/admin-wizard.php:378 inc/admin/admin-wizard.php:396
771
- #: inc/admin/admin-wizard.php:413 inc/admin/admin-wizard.php:429
772
- #: inc/admin/admin-wizard.php:448 inc/admin/admin.php:768
773
- #: inc/admin/admin.php:801 inc/admin/admin.php:894 inc/admin/admin.php:916
774
- #: inc/admin/admin.php:935 inc/admin/admin.php:956 inc/admin/admin.php:977
775
- #: inc/admin/admin.php:997 inc/admin/admin.php:1016 inc/admin/admin.php:1034
776
- #: inc/admin/admin.php:1054 inc/admin/admin.php:1393 inc/admin/admin.php:3303
777
- #: inc/functions/options-advanced-admin.php:979
778
  msgid "Meta description"
779
  msgstr ""
780
 
781
- #: inc/admin/admin-metaboxes-form.php:140
782
  msgid ""
783
  "A meta description tag should generally inform and interest users with a "
784
  "short, relevant summary of what a particular page is about. <br>They are "
@@ -788,34 +787,34 @@ msgid ""
788
  "device width."
789
  msgstr ""
790
 
791
- #: inc/admin/admin-metaboxes-form.php:142
792
  msgid "Enter your meta description"
793
  msgstr ""
794
 
795
- #: inc/admin/admin-metaboxes-form.php:149
796
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:57
797
  msgid " / 940 pixels - "
798
  msgstr ""
799
 
800
- #: inc/admin/admin-metaboxes-form.php:155
801
  msgid "Category / term description"
802
  msgstr ""
803
 
804
- #: inc/admin/admin-metaboxes-form.php:157
805
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:70
806
  msgid "Post Excerpt"
807
  msgstr ""
808
 
809
- #: inc/admin/admin-metaboxes-form.php:168
810
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:138
811
  msgid "Google Snippet Preview"
812
  msgstr ""
813
 
814
- #: inc/admin/admin-metaboxes-form.php:169
815
  msgid "Snippet Preview"
816
  msgstr ""
817
 
818
- #: inc/admin/admin-metaboxes-form.php:169
819
  msgid ""
820
  "The Google preview is a simulation. <br>There is no reliable preview because "
821
  "it depends on the screen resolution, the device used, the expression sought, "
@@ -824,134 +823,141 @@ msgid ""
824
  "what the crawlers will see."
825
  msgstr ""
826
 
827
- #: inc/admin/admin-metaboxes-form.php:171
828
  msgid ""
829
  "This is what your page will look like in Google search results. You have to "
830
  "publish your post to get the Google Snippet Preview."
831
  msgstr ""
832
 
833
- #: inc/admin/admin-metaboxes-form.php:176
834
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:91
835
  msgid "Mobile Preview"
836
  msgstr ""
837
 
838
- #: inc/admin/admin-metaboxes-form.php:223
 
 
 
 
 
839
  msgid ""
840
  "Do not display this page in search engine results / XML - HTML sitemaps "
841
  "<strong>(noindex)</strong>"
842
  msgstr ""
843
 
844
- #: inc/admin/admin-metaboxes-form.php:224
845
  msgid "\"noindex\" robots meta tag"
846
  msgstr ""
847
 
848
- #: inc/admin/admin-metaboxes-form.php:224
849
  msgid ""
850
  "By checking this option, you will add a meta robots tag with the value "
851
  "\"noindex\". <br>Search engines will not index this URL in the search "
852
  "results."
853
  msgstr ""
854
 
855
- #: inc/admin/admin-metaboxes-form.php:230
 
856
  msgid "Do not follow links for this page <strong>(nofollow)</strong>"
857
  msgstr ""
858
 
859
- #: inc/admin/admin-metaboxes-form.php:231
860
  msgid "\"nofollow\" robots meta tag"
861
  msgstr ""
862
 
863
- #: inc/admin/admin-metaboxes-form.php:231
864
  msgid ""
865
  "By checking this option, you will add a meta robots tag with the value "
866
  "\"nofollow\". <br>Search engines will not follow links from this URL."
867
  msgstr ""
868
 
869
- #: inc/admin/admin-metaboxes-form.php:237
870
  msgid ""
871
  "Do not use Open Directory project metadata for titles or excerpts for this "
872
  "page <strong>(noodp)</strong>"
873
  msgstr ""
874
 
875
- #: inc/admin/admin-metaboxes-form.php:238
876
  msgid "\"noodp\" robots meta tag"
877
  msgstr ""
878
 
879
- #: inc/admin/admin-metaboxes-form.php:238
880
  msgid ""
881
  "By checking this option, you will add a meta robots tag with the value "
882
  "\"noodp\". <br>Note that Google and Yahoo have stopped considering this tag "
883
  "since the closing of DMOZ directory."
884
  msgstr ""
885
 
886
- #: inc/admin/admin-metaboxes-form.php:244
887
  msgid "Do not index images for this page <strong>(noimageindex)</strong>"
888
  msgstr ""
889
 
890
- #: inc/admin/admin-metaboxes-form.php:245
891
  msgid "\"noimageindex\" robots meta tag"
892
  msgstr ""
893
 
894
- #: inc/admin/admin-metaboxes-form.php:245
895
  msgid ""
896
  "By checking this option, you will add a meta robots tag with the value "
897
  "\"noimageindex\". <br> Note that your images can always be indexed if they "
898
  "are linked from other pages."
899
  msgstr ""
900
 
901
- #: inc/admin/admin-metaboxes-form.php:251
902
  msgid ""
903
  "Do not display a \"Cached\" link in the Google search results "
904
  "<strong>(noarchive)</strong>"
905
  msgstr ""
906
 
907
- #: inc/admin/admin-metaboxes-form.php:252
908
  msgid "\"noarchive\" robots meta tag"
909
  msgstr ""
910
 
911
- #: inc/admin/admin-metaboxes-form.php:252
912
  msgid ""
913
  "By checking this option, you will add a meta robots tag with the value "
914
  "\"noarchive\"."
915
  msgstr ""
916
 
917
- #: inc/admin/admin-metaboxes-form.php:258
918
  msgid ""
919
  "Do not display a description in search results for this page "
920
  "<strong>(nosnippet)</strong>"
921
  msgstr ""
922
 
923
- #: inc/admin/admin-metaboxes-form.php:259
924
  msgid "\"nosnippet\" robots meta tag"
925
  msgstr ""
926
 
927
- #: inc/admin/admin-metaboxes-form.php:259
928
  msgid ""
929
  "By checking this option, you will add a meta robots tag with the value "
930
  "\"nosnippet\"."
931
  msgstr ""
932
 
933
  #. translators: %s: link to plugin settings page
934
- #: inc/admin/admin-metaboxes-form.php:265
935
  #, php-format
936
  msgid ""
937
  "You cannot uncheck a parameter? This is normal, and it‘s most likely defined "
938
  "in the <a href=\"%s\">global settings of the plugin.</a>"
939
  msgstr ""
940
 
941
- #: inc/admin/admin-metaboxes-form.php:268
942
- #: inc/admin/admin-metaboxes-form.php:269
943
- #: inc/admin/admin-metaboxes-form.php:272 inc/admin/admin-wizard.php:307
944
- #: inc/admin/admin-wizard.php:344 inc/admin/admin-wizard.php:363
945
- #: inc/admin/admin-wizard.php:382 inc/admin/admin-wizard.php:432
946
- #: inc/admin/admin-wizard.php:452 inc/admin/admin.php:783
947
- #: inc/admin/admin.php:816 inc/admin/admin.php:898 inc/admin/admin.php:939
948
- #: inc/admin/admin.php:960 inc/admin/admin.php:981 inc/admin/admin.php:1037
949
- #: inc/admin/admin.php:1058
950
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:251
 
951
  msgid "Canonical URL"
952
  msgstr ""
953
 
954
- #: inc/admin/admin-metaboxes-form.php:269
955
  msgid ""
956
  "A canonical URL is the URL of the page that Google thinks is most "
957
  "representative from a set of duplicate pages on your site. <br>For example, "
@@ -963,5221 +969,5494 @@ msgid ""
963
  "\t\t\t\t\t\t\tThe canonical can be in a different domain than a duplicate."
964
  msgstr ""
965
 
966
- #: inc/admin/admin-metaboxes-form.php:272
967
  msgid "Default value: "
968
  msgstr ""
969
 
970
- #: inc/admin/admin-metaboxes-form.php:279
971
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:281
972
  msgid "Select a primary category"
973
  msgstr ""
974
 
975
- #: inc/admin/admin-metaboxes-form.php:280
976
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:282
977
  msgid ""
978
  "Set the category that gets used in the %category% permalink and in our "
979
  "breadcrumbs if you have multiple categories."
980
  msgstr ""
981
 
982
- #: inc/admin/admin-metaboxes-form.php:290 inc/admin/admin-wizard.php:519
983
- #: inc/admin/admin.php:4544
984
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:274
985
  msgid "None (will disable this feature)"
986
  msgstr ""
987
 
988
- #: inc/admin/admin-metaboxes-form.php:301
989
- #: inc/admin/admin-metaboxes-form.php:305
990
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:299
991
  msgid "Custom breadcrumbs"
992
  msgstr ""
993
 
994
- #: inc/admin/admin-metaboxes-form.php:302
995
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:300
996
  msgid "Enter a custom value, useful if your title is too long"
997
  msgstr ""
998
 
999
- #: inc/admin/admin-metaboxes-form.php:305
1000
  #, php-format
1001
  msgid "Current breadcrumbs: %s"
1002
  msgstr ""
1003
 
1004
- #: inc/admin/admin-metaboxes-form.php:315
1005
  msgid "Ask Facebook to update its cache"
1006
  msgstr ""
1007
 
1008
- #: inc/admin/admin-metaboxes-form.php:316
1009
  msgid ""
1010
  "<span class=\"label\">Did you know?</span> LinkedIn, Instagram and Pinterest "
1011
  "use the same social metadata as Facebook. Twitter does the same if no "
1012
  "Twitter cards tags are defined below."
1013
  msgstr ""
1014
 
1015
- #: inc/admin/admin-metaboxes-form.php:318
1016
- #: inc/admin/admin-metaboxes-form.php:319
1017
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:362
1018
  msgid "Facebook Title"
1019
  msgstr ""
1020
 
1021
- #: inc/admin/admin-metaboxes-form.php:319
1022
  msgid "Enter your Facebook title"
1023
  msgstr ""
1024
 
1025
- #: inc/admin/admin-metaboxes-form.php:322
1026
- #: inc/admin/admin-metaboxes-form.php:323
1027
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:373
1028
  msgid "Facebook description"
1029
  msgstr ""
1030
 
1031
- #: inc/admin/admin-metaboxes-form.php:323
1032
  msgid "Enter your Facebook description"
1033
  msgstr ""
1034
 
1035
- #: inc/admin/admin-metaboxes-form.php:326
1036
- #: inc/admin/admin-metaboxes-form.php:327
1037
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:384
1038
  msgid "Facebook Thumbnail"
1039
  msgstr ""
1040
 
1041
- #: inc/admin/admin-metaboxes-form.php:327
1042
- #: inc/admin/admin-metaboxes-form.php:390 inc/admin/admin.php:4811
1043
- #: inc/admin/admin.php:4860 inc/admin/admin.php:4957
1044
  msgid "Select your default thumbnail"
1045
  msgstr ""
1046
 
1047
- #: inc/admin/admin-metaboxes-form.php:328 inc/admin/admin.php:4815
1048
  msgid ""
1049
  "Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or "
1050
  "3280x1712px for retina screens)"
1051
  msgstr ""
1052
 
1053
- #: inc/admin/admin-metaboxes-form.php:329
1054
- #: inc/admin/admin-metaboxes-form.php:392
1055
- #: inc/admin/admin-metaboxes-form.php:579 inc/admin/admin.php:4578
1056
- #: inc/admin/admin.php:4813 inc/admin/admin.php:4862 inc/admin/admin.php:4959
1057
  msgid "Upload an Image"
1058
  msgstr ""
1059
 
1060
- #: inc/admin/admin-metaboxes-form.php:334
1061
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:397
1062
  msgid "Facebook Preview"
1063
  msgstr ""
1064
 
1065
- #: inc/admin/admin-metaboxes-form.php:336
1066
  msgid ""
1067
  "This is what your post will look like in Facebook. You have to publish your "
1068
  "post to get the Facebook Preview."
1069
  msgstr ""
1070
 
1071
- #: inc/admin/admin-metaboxes-form.php:338
1072
  msgid ""
1073
  "The Social Networks feature is disabled. Still seing informations from the "
1074
  "FB Preview? You probably have social tags added by your theme or a plugin."
1075
  msgstr ""
1076
 
1077
- #: inc/admin/admin-metaboxes-form.php:341
1078
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:42
1079
  msgid "File type not supported by Facebook. Please choose another image."
1080
  msgstr ""
1081
 
1082
- #: inc/admin/admin-metaboxes-form.php:342
1083
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:43
1084
  msgid ""
1085
  "Minimun size for Facebook is <strong>200x200px</strong>. Please choose "
1086
  "another image."
1087
  msgstr ""
1088
 
1089
- #: inc/admin/admin-metaboxes-form.php:343
1090
- #: inc/admin/admin-metaboxes-form.php:406
1091
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:44
1092
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:68
1093
  msgid "File error. Please choose another image."
1094
  msgstr ""
1095
 
1096
- #: inc/admin/admin-metaboxes-form.php:344
1097
- #: inc/admin/admin-metaboxes-form.php:407
1098
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:45
1099
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:69
1100
  msgid "Your image ratio is: "
1101
  msgstr ""
1102
 
1103
- #: inc/admin/admin-metaboxes-form.php:344
1104
  msgid "The closer to 1.91 the better."
1105
  msgstr ""
1106
 
1107
- #: inc/admin/admin-metaboxes-form.php:345
1108
- #: inc/admin/admin-metaboxes-form.php:408
1109
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:46
1110
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:70
1111
  msgid "File URL is not valid."
1112
  msgstr ""
1113
 
1114
- #: inc/admin/admin-metaboxes-form.php:354
1115
  msgid "By&nbsp;"
1116
  msgstr ""
1117
 
1118
- #: inc/admin/admin-metaboxes-form.php:379
1119
  msgid "Preview your Twitter card using the official validator"
1120
  msgstr ""
1121
 
1122
  #. twitter:title
1123
- #: inc/admin/admin-metaboxes-form.php:381
1124
- #: inc/admin/admin-metaboxes-form.php:382
1125
- #: inc/admin/admin-metaboxes-get-content-analysis.php:499
1126
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:411
 
1127
  msgid "Twitter Title"
1128
  msgstr ""
1129
 
1130
- #: inc/admin/admin-metaboxes-form.php:382
1131
  msgid "Enter your Twitter title"
1132
  msgstr ""
1133
 
1134
- #: inc/admin/admin-metaboxes-form.php:385
1135
- #: inc/admin/admin-metaboxes-form.php:386
1136
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:422
1137
  msgid "Twitter description"
1138
  msgstr ""
1139
 
1140
- #: inc/admin/admin-metaboxes-form.php:386
1141
  msgid "Enter your Twitter description"
1142
  msgstr ""
1143
 
1144
- #: inc/admin/admin-metaboxes-form.php:389
1145
- #: inc/admin/admin-metaboxes-form.php:392
1146
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:433
1147
  msgid "Twitter Thumbnail"
1148
  msgstr ""
1149
 
1150
- #: inc/admin/admin-metaboxes-form.php:391 inc/admin/admin.php:4961
1151
  msgid ""
1152
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
1153
  "(2:1 with large card), 5Mb max."
1154
  msgstr ""
1155
 
1156
- #: inc/admin/admin-metaboxes-form.php:397
1157
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:446
1158
  msgid "Twitter Preview"
1159
  msgstr ""
1160
 
1161
- #: inc/admin/admin-metaboxes-form.php:399
1162
  msgid ""
1163
  "This is what your post will look like in Twitter. You have to publish your "
1164
  "post to get the Twitter Preview."
1165
  msgstr ""
1166
 
1167
- #: inc/admin/admin-metaboxes-form.php:401
1168
  msgid ""
1169
  "The Social Networks feature is disabled. Still seing informations from the "
1170
  "Twitter Preview? You probably have social tags added by your theme or a "
1171
  "plugin."
1172
  msgstr ""
1173
 
1174
- #: inc/admin/admin-metaboxes-form.php:404
1175
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:66
1176
  msgid "File type not supported by Twitter. Please choose another image."
1177
  msgstr ""
1178
 
1179
- #: inc/admin/admin-metaboxes-form.php:405
1180
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:67
1181
  msgid ""
1182
  "Minimun size for Twitter is <strong>144x144px</strong>. Please choose "
1183
  "another image."
1184
  msgstr ""
1185
 
1186
- #: inc/admin/admin-metaboxes-form.php:407
1187
  msgid "The closer to 1 the better (with large card, 2 is better)."
1188
  msgstr ""
1189
 
1190
- #: inc/admin/admin-metaboxes-form.php:443
1191
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:484
1192
  msgid "Enable redirection?"
1193
  msgstr ""
1194
 
1195
- #: inc/admin/admin-metaboxes-form.php:447
1196
- #: inc/admin/admin-metaboxes-form.php:455
1197
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:495
1198
  msgid "URL redirection"
1199
  msgstr ""
1200
 
1201
- #: inc/admin/admin-metaboxes-form.php:449
1202
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:500
1203
  msgid "301 Moved Permanently"
1204
  msgstr ""
1205
 
1206
- #: inc/admin/admin-metaboxes-form.php:450
1207
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:501
1208
  msgid "302 Found / Moved Temporarily"
1209
  msgstr ""
1210
 
1211
- #: inc/admin/admin-metaboxes-form.php:451
1212
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:502
1213
  msgid "307 Moved Temporarily"
1214
  msgstr ""
1215
 
1216
- #: inc/admin/admin-metaboxes-form.php:452
1217
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:503
1218
  msgid "410 Gone"
1219
  msgstr ""
1220
 
1221
- #: inc/admin/admin-metaboxes-form.php:453
1222
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:504
1223
  msgid "451 Unavailable For Legal Reasons"
1224
  msgstr ""
1225
 
1226
- #: inc/admin/admin-metaboxes-form.php:455
1227
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:513
1228
  msgid "Enter your new URL in absolute (eg: https://www.example.com/)"
1229
  msgstr ""
1230
 
1231
- #: inc/admin/admin-metaboxes-form.php:460
1232
  msgid "Query parameters"
1233
  msgstr ""
1234
 
1235
- #: inc/admin/admin-metaboxes-form.php:462
1236
  msgid "Exactly match all parameters"
1237
  msgstr ""
1238
 
1239
- #: inc/admin/admin-metaboxes-form.php:463
1240
  msgid "Exclude all parameters"
1241
  msgstr ""
1242
 
1243
- #: inc/admin/admin-metaboxes-form.php:464
1244
  msgid "Exclude all parameters and pass them to the redirection"
1245
  msgstr ""
1246
 
1247
- #: inc/admin/admin-metaboxes-form.php:473
1248
- #: inc/admin/admin-metaboxes-form.php:475
1249
- #: inc/admin/admin-metaboxes-form.php:478
1250
  #: inc/admin/admin-metaboxes-form.php:480
 
 
 
1251
  msgid "Test your URL"
1252
  msgstr ""
1253
 
1254
- #: inc/admin/admin-metaboxes-form.php:492
1255
  msgid "Need help with your redirections? Read our guide."
1256
  msgstr ""
1257
 
1258
- #: inc/admin/admin-metaboxes-form.php:506
1259
  msgid "Exclude this post from Google News Sitemap?"
1260
  msgstr ""
1261
 
1262
- #: inc/admin/admin-metaboxes-form.php:532
1263
  msgid "Exclude this post from Video Sitemap?"
1264
  msgstr ""
1265
 
1266
- #: inc/admin/admin-metaboxes-form.php:534
1267
  msgid ""
1268
  "If your post is set to noindex, it will be automatically excluded from the "
1269
  "sitemap."
1270
  msgstr ""
1271
 
1272
- #: inc/admin/admin-metaboxes-form.php:553
1273
  msgid "Video "
1274
  msgstr ""
1275
 
1276
- #: inc/admin/admin-metaboxes-form.php:557
1277
  msgid "Video URL (required)"
1278
  msgstr ""
1279
 
1280
- #: inc/admin/admin-metaboxes-form.php:558
1281
  msgid "Enter your video URL"
1282
  msgstr ""
1283
 
1284
- #: inc/admin/admin-metaboxes-form.php:558
1285
  msgid "Video URL"
1286
  msgstr ""
1287
 
1288
- #: inc/admin/admin-metaboxes-form.php:563
1289
  msgid ""
1290
  "NOT an external video (eg: video hosting on YouTube, Vimeo, Wistia...)? "
1291
  "Check this if your video is hosting on this server."
1292
  msgstr ""
1293
 
1294
- #: inc/admin/admin-metaboxes-form.php:567
1295
  msgid "Video Title (required)"
1296
  msgstr ""
1297
 
1298
- #: inc/admin/admin-metaboxes-form.php:568
1299
  msgid "Enter your video title"
1300
  msgstr ""
1301
 
1302
- #: inc/admin/admin-metaboxes-form.php:568
1303
  msgid "Video title"
1304
  msgstr ""
1305
 
1306
- #: inc/admin/admin-metaboxes-form.php:569
1307
  msgid "Default: title tag, if not available, post title."
1308
  msgstr ""
1309
 
1310
- #: inc/admin/admin-metaboxes-form.php:572
1311
  msgid "Video Description (required)"
1312
  msgstr ""
1313
 
1314
- #: inc/admin/admin-metaboxes-form.php:573
1315
  msgid "Enter your video description"
1316
  msgstr ""
1317
 
1318
- #: inc/admin/admin-metaboxes-form.php:573
1319
  msgid "Video description"
1320
  msgstr ""
1321
 
1322
- #: inc/admin/admin-metaboxes-form.php:574
1323
  msgid ""
1324
  "2048 characters max.; default: meta description. If not available, use the "
1325
  "beginning of the post content."
1326
  msgstr ""
1327
 
1328
- #: inc/admin/admin-metaboxes-form.php:577
1329
  msgid "Video Thumbnail (required)"
1330
  msgstr ""
1331
 
1332
- #: inc/admin/admin-metaboxes-form.php:578
1333
  msgid "Select your video thumbnail"
1334
  msgstr ""
1335
 
1336
- #: inc/admin/admin-metaboxes-form.php:579
1337
  msgid "Video Thumbnail"
1338
  msgstr ""
1339
 
1340
- #: inc/admin/admin-metaboxes-form.php:580
1341
  msgid ""
1342
  "Minimum size: 160x90px (1920x1080 max), JPG, PNG or GIF formats. Default: "
1343
  "your post featured image."
1344
  msgstr ""
1345
 
1346
- #: inc/admin/admin-metaboxes-form.php:583
1347
  msgid "Video Duration (recommended)"
1348
  msgstr ""
1349
 
1350
- #: inc/admin/admin-metaboxes-form.php:584
1351
  msgid "Duration in seconds"
1352
  msgstr ""
1353
 
1354
- #: inc/admin/admin-metaboxes-form.php:584
1355
  msgid "Video duration"
1356
  msgstr ""
1357
 
1358
- #: inc/admin/admin-metaboxes-form.php:585
1359
  msgid ""
1360
  "The duration of the video in seconds. Value must be between 0 and 28800 (8 "
1361
  "hours)."
1362
  msgstr ""
1363
 
1364
- #: inc/admin/admin-metaboxes-form.php:588
1365
  msgid "Video Rating"
1366
  msgstr ""
1367
 
1368
- #: inc/admin/admin-metaboxes-form.php:589
1369
  msgid "Video rating"
1370
  msgstr ""
1371
 
1372
- #: inc/admin/admin-metaboxes-form.php:590
1373
  msgid "Allowed values are float numbers in the range 0.0 to 5.0."
1374
  msgstr ""
1375
 
1376
- #: inc/admin/admin-metaboxes-form.php:593
1377
- #: inc/admin/admin-metaboxes-form.php:594
1378
  msgid "View count"
1379
  msgstr ""
1380
 
1381
- #: inc/admin/admin-metaboxes-form.php:594
1382
  msgid "Number of views"
1383
  msgstr ""
1384
 
1385
- #: inc/admin/admin-metaboxes-form.php:597
1386
- #: inc/admin/admin-metaboxes-form.php:598
1387
  msgid "Video tags"
1388
  msgstr ""
1389
 
1390
- #: inc/admin/admin-metaboxes-form.php:598
1391
  msgid "Enter your video tags"
1392
  msgstr ""
1393
 
1394
- #: inc/admin/admin-metaboxes-form.php:599
1395
  msgid ""
1396
  "32 tags max., separate tags with commas. Default: target keywords + post "
1397
  "tags if available."
1398
  msgstr ""
1399
 
1400
- #: inc/admin/admin-metaboxes-form.php:602
1401
- #: inc/admin/admin-metaboxes-form.php:603
1402
  msgid "Video categories"
1403
  msgstr ""
1404
 
1405
- #: inc/admin/admin-metaboxes-form.php:603
1406
  msgid "Enter your video categories"
1407
  msgstr ""
1408
 
1409
- #: inc/admin/admin-metaboxes-form.php:604
1410
  msgid ""
1411
  "256 characters max., usually a video will belong to a single category, "
1412
  "separate categories with commas. Default: first post category if available."
1413
  msgstr ""
1414
 
1415
- #: inc/admin/admin-metaboxes-form.php:609
1416
  msgid "NOT family friendly?"
1417
  msgstr ""
1418
 
1419
- #: inc/admin/admin-metaboxes-form.php:611
1420
  msgid "The video will be available only to users with SafeSearch turned off."
1421
  msgstr ""
1422
 
1423
- #: inc/admin/admin-metaboxes-form.php:613
1424
  msgid "Remove video"
1425
  msgstr ""
1426
 
1427
- #: inc/admin/admin-metaboxes-form.php:620
1428
  msgid "Add video"
1429
  msgstr ""
1430
 
1431
- #: inc/admin/admin-metaboxes-get-content-analysis.php:7
1432
- msgid "Structured data types"
 
 
 
 
 
1433
  msgstr ""
1434
 
1435
- #: inc/admin/admin-metaboxes-get-content-analysis.php:12
1436
- msgid "Last modified date"
 
1437
  msgstr ""
1438
 
1439
- #: inc/admin/admin-metaboxes-get-content-analysis.php:17
1440
- msgid "Words counter"
 
1441
  msgstr ""
1442
 
1443
- #: inc/admin/admin-metaboxes-get-content-analysis.php:22
1444
- msgid "Keywords density"
1445
  msgstr ""
1446
 
1447
- #: inc/admin/admin-metaboxes-get-content-analysis.php:27
1448
- msgid "Keywords in permalink"
 
1449
  msgstr ""
1450
 
1451
- #: inc/admin/admin-metaboxes-get-content-analysis.php:32
1452
- msgid "Headings"
1453
  msgstr ""
1454
 
1455
- #: inc/admin/admin-metaboxes-get-content-analysis.php:47
1456
- msgid "Social meta tags"
1457
  msgstr ""
1458
 
1459
- #: inc/admin/admin-metaboxes-get-content-analysis.php:52
1460
- msgid "Meta robots"
 
1461
  msgstr ""
1462
 
1463
- #: inc/admin/admin-metaboxes-get-content-analysis.php:57
1464
- msgid "Alternative texts of images"
 
1465
  msgstr ""
1466
 
1467
- #: inc/admin/admin-metaboxes-get-content-analysis.php:62
1468
- msgid "NoFollow Links"
 
1469
  msgstr ""
1470
 
1471
- #: inc/admin/admin-metaboxes-get-content-analysis.php:67
1472
- msgid "Outbound Links"
 
1473
  msgstr ""
1474
 
1475
- #: inc/admin/admin-metaboxes-get-content-analysis.php:75
1476
- msgid "We found these schemas in the source code of this page:"
1477
  msgstr ""
1478
 
1479
- #: inc/admin/admin-metaboxes-get-content-analysis.php:82
1480
- msgid "duplicated schema - x"
 
 
1481
  msgstr ""
1482
 
1483
- #: inc/admin/admin-metaboxes-get-content-analysis.php:91
1484
- msgid "No schemas found in the source code of this page."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1485
  msgstr ""
1486
 
1487
- #: inc/admin/admin-metaboxes-get-content-analysis.php:98
1488
- msgid "This post is a little old!"
 
 
 
 
 
 
 
 
 
 
 
 
 
1489
  msgstr ""
1490
 
1491
- #: inc/admin/admin-metaboxes-get-content-analysis.php:100
1492
- msgid "The last modified date of this article is less than 1 year. Cool!"
1493
  msgstr ""
1494
 
1495
- #: inc/admin/admin-metaboxes-get-content-analysis.php:102
1496
  msgid ""
1497
- "Search engines love fresh content. Regularly update your articles without "
1498
- "having to rewrite your content entirely and give them a boost in search "
1499
- "rankings. We takes care of the technical part."
1500
  msgstr ""
1501
 
1502
- #: inc/admin/admin-metaboxes-get-content-analysis.php:108
1503
- msgid ""
1504
- "Words counter is not a direct ranking factor. But, your content must be as "
1505
- "qualitative as possible, with relevant and unique information. To fulfill "
1506
- "these conditions, your article requires a minimum of paragraphs, so words."
1507
  msgstr ""
1508
 
1509
- #: inc/admin/admin-metaboxes-get-content-analysis.php:110
1510
- msgid "words found."
 
 
 
 
1511
  msgstr ""
1512
 
1513
- #: inc/admin/admin-metaboxes-get-content-analysis.php:111
1514
- msgid "unique words found."
 
 
1515
  msgstr ""
1516
 
1517
- #: inc/admin/admin-metaboxes-get-content-analysis.php:114
1518
  msgid ""
1519
- "Your content is composed of more than 300 words, which is the minimum for a "
1520
- "post."
1521
  msgstr ""
1522
 
1523
- #: inc/admin/admin-metaboxes-get-content-analysis.php:116
1524
- msgid "Your content is too short. Add a few more paragraphs!"
1525
  msgstr ""
1526
 
1527
- #: inc/admin/admin-metaboxes-get-content-analysis.php:123
1528
- msgid "No content? Add a few more paragraphs!"
 
 
 
 
 
 
 
 
 
 
 
 
 
1529
  msgstr ""
1530
 
1531
- #. translators: %s target keyword %d count target keyword %s keyword density in %
1532
- #: inc/admin/admin-metaboxes-get-content-analysis.php:139
1533
  #, php-format
1534
- msgid "%s was found %d times in your content, a keyword density of %s%%"
1535
  msgstr ""
1536
 
1537
- #: inc/admin/admin-metaboxes-get-content-analysis.php:142
1538
  msgid ""
1539
- "Learn more about <a href=\"https://www.youtube.com/watch?v=Rk4qgQdp2UA\" "
1540
- "target=\"_blank\">keywords stuffing</a>."
1541
  msgstr ""
1542
 
1543
- #: inc/admin/admin-metaboxes-get-content-analysis.php:146
1544
- msgid ""
1545
- "We were unable to calculate the density of your keywords. You probably "
1546
- "haven‘t added any content or your target keywords were not find in your post "
1547
- "content."
1548
  msgstr ""
1549
 
1550
- #: inc/admin/admin-metaboxes-get-content-analysis.php:152
1551
- msgid "Cool, one of your target keyword is used in your permalink."
1552
  msgstr ""
1553
 
1554
- #: inc/admin/admin-metaboxes-get-content-analysis.php:166
1555
  msgid ""
1556
- "This is your homepage. This check doesn't apply here because there is no "
1557
- "slug."
1558
  msgstr ""
1559
 
1560
- #: inc/admin/admin-metaboxes-get-content-analysis.php:169
1561
- msgid "You should add one of your target keyword in your permalink."
1562
- msgstr ""
1563
-
1564
- #: inc/admin/admin-metaboxes-get-content-analysis.php:179
1565
- msgid "H1 (Heading 1)"
1566
  msgstr ""
1567
 
1568
- #: inc/admin/admin-metaboxes-get-content-analysis.php:187
1569
- msgid "Target keywords were found in Heading 1 (H1)."
 
 
 
1570
  msgstr ""
1571
 
1572
- #. translators: %s target keyword %d count target keyword
1573
- #: inc/admin/admin-metaboxes-get-content-analysis.php:197
1574
- #: inc/admin/admin-metaboxes-get-content-analysis.php:229
1575
- #: inc/admin/admin-metaboxes-get-content-analysis.php:251
1576
- #: inc/admin/admin-metaboxes-get-content-analysis.php:275
1577
- #: inc/admin/admin-metaboxes-get-content-analysis.php:310
1578
- #, php-format
1579
- msgid "%s was found %d times."
1580
  msgstr ""
1581
 
1582
- #. translators: %d: count heading 1
1583
- #: inc/admin/admin-metaboxes-get-content-analysis.php:203
1584
  #, php-format
1585
- msgid "We found %d Heading 1 (H1) in your content."
1586
  msgstr ""
1587
 
1588
- #: inc/admin/admin-metaboxes-get-content-analysis.php:204
1589
  msgid ""
1590
- "You should not use more than one H1 heading in your post content. The rule "
1591
- "is simple: only one H1 for each web page. It is better for both SEO and "
1592
- "accessibility. Below, the list:"
1593
- msgstr ""
1594
-
1595
- #. H2
1596
- #: inc/admin/admin-metaboxes-get-content-analysis.php:218
1597
- msgid "H2 (Heading 2)"
1598
  msgstr ""
1599
 
1600
- #: inc/admin/admin-metaboxes-get-content-analysis.php:220
1601
- msgid "Target keywords were found in Heading 2 (H2)."
1602
  msgstr ""
1603
 
1604
- #: inc/admin/admin-metaboxes-get-content-analysis.php:233
1605
- msgid "None of your target keywords were found in Heading 2 (H2)."
 
 
1606
  msgstr ""
1607
 
1608
- #. H3
1609
- #: inc/admin/admin-metaboxes-get-content-analysis.php:240
1610
- msgid "H3 (Heading 3)"
1611
  msgstr ""
1612
 
1613
- #: inc/admin/admin-metaboxes-get-content-analysis.php:242
1614
- msgid "Target keywords were found in Heading 3 (H3)."
 
 
1615
  msgstr ""
1616
 
1617
- #: inc/admin/admin-metaboxes-get-content-analysis.php:255
1618
- msgid "None of your target keywords were found in Heading 3 (H3)."
1619
  msgstr ""
1620
 
1621
- #: inc/admin/admin-metaboxes-get-content-analysis.php:266
1622
- msgid "Target keywords were found in the Meta Title."
1623
  msgstr ""
1624
 
1625
- #: inc/admin/admin-metaboxes-get-content-analysis.php:281
1626
- msgid "None of your target keywords were found in the Meta Title."
1627
  msgstr ""
1628
 
1629
- #: inc/admin/admin-metaboxes-get-content-analysis.php:286
1630
- msgid "Your custom title is too long."
 
 
 
1631
  msgstr ""
1632
 
1633
- #: inc/admin/admin-metaboxes-get-content-analysis.php:289
1634
- msgid "The length of your title is correct"
1635
  msgstr ""
1636
 
1637
- #: inc/admin/admin-metaboxes-get-content-analysis.php:294
1638
  msgid ""
1639
- "No custom title is set for this post. If the global meta title suits you, "
1640
- "you can ignore this recommendation."
1641
- msgstr ""
1642
-
1643
- #: inc/admin/admin-metaboxes-get-content-analysis.php:301
1644
- msgid "Target keywords were found in the Meta description."
1645
  msgstr ""
1646
 
1647
- #: inc/admin/admin-metaboxes-get-content-analysis.php:316
1648
- msgid "None of your target keywords were found in the Meta description."
1649
  msgstr ""
1650
 
1651
- #: inc/admin/admin-metaboxes-get-content-analysis.php:321
1652
- msgid "You custom meta description is too long."
 
 
 
1653
  msgstr ""
1654
 
1655
- #: inc/admin/admin-metaboxes-get-content-analysis.php:324
1656
- msgid "The length of your meta description is correct"
 
1657
  msgstr ""
1658
 
1659
- #: inc/admin/admin-metaboxes-get-content-analysis.php:329
 
1660
  msgid ""
1661
- "No custom meta description is set for this post. If the global meta "
1662
- "description suits you, you can ignore this recommendation."
 
 
1663
  msgstr ""
1664
 
1665
- #: inc/admin/admin-metaboxes-get-content-analysis.php:336
1666
- msgid "Open Graph Title"
1667
  msgstr ""
1668
 
1669
- #. translators: %d count Open Graph Title
1670
- #: inc/admin/admin-metaboxes-get-content-analysis.php:346
1671
- #, php-format
1672
- msgid "We found %d og:title in your content."
1673
  msgstr ""
1674
 
1675
- #: inc/admin/admin-metaboxes-get-content-analysis.php:347
1676
  msgid ""
1677
- "You should not use more than one og:title in your post content to avoid "
1678
- "conflicts when sharing on social networks. Facebook will take the last og:"
1679
- "title tag from your source code. Below, the list:"
1680
  msgstr ""
1681
 
1682
- #: inc/admin/admin-metaboxes-get-content-analysis.php:350
1683
- msgid "Your Open Graph Title tag is empty!"
1684
  msgstr ""
1685
 
1686
- #: inc/admin/admin-metaboxes-get-content-analysis.php:352
1687
- msgid "We found an Open Graph Title tag in your source code."
 
 
 
1688
  msgstr ""
1689
 
1690
- #: inc/admin/admin-metaboxes-get-content-analysis.php:364
1691
- msgid "Your Open Graph Title is missing!"
1692
  msgstr ""
1693
 
1694
- #. og:description
1695
- #: inc/admin/admin-metaboxes-get-content-analysis.php:368
1696
- msgid "Open Graph Description"
1697
  msgstr ""
1698
 
1699
- #. translators: %d count Open Graph Description
1700
- #: inc/admin/admin-metaboxes-get-content-analysis.php:379
1701
- #, php-format
1702
- msgid "We found %d og:description in your content."
1703
  msgstr ""
1704
 
1705
- #: inc/admin/admin-metaboxes-get-content-analysis.php:380
1706
  msgid ""
1707
- "You should not use more than one og:description in your post content to "
1708
- "avoid conflicts when sharing on social networks. Facebook will take the last "
1709
- "og:description tag from your source code. Below, the list:"
 
1710
  msgstr ""
1711
 
1712
- #: inc/admin/admin-metaboxes-get-content-analysis.php:383
1713
- msgid "Your Open Graph Description tag is empty!"
1714
  msgstr ""
1715
 
1716
- #: inc/admin/admin-metaboxes-get-content-analysis.php:385
1717
- msgid "We found an Open Graph Description tag in your source code."
1718
  msgstr ""
1719
 
1720
- #: inc/admin/admin-metaboxes-get-content-analysis.php:397
1721
- msgid "Your Open Graph Description is missing!"
 
 
 
 
1722
  msgstr ""
1723
 
1724
- #. og:image
1725
- #: inc/admin/admin-metaboxes-get-content-analysis.php:401
1726
- msgid "Open Graph Image"
1727
  msgstr ""
1728
 
1729
- #. translators: %d count Open Graph Image
1730
- #: inc/admin/admin-metaboxes-get-content-analysis.php:411
1731
- #, php-format
1732
- msgid "We found %d og:image in your content."
 
1733
  msgstr ""
1734
 
1735
- #: inc/admin/admin-metaboxes-get-content-analysis.php:417
1736
- msgid "Your Open Graph Image tag is empty!"
1737
  msgstr ""
1738
 
1739
- #: inc/admin/admin-metaboxes-get-content-analysis.php:429
1740
- msgid "Your Open Graph Image is missing!"
 
 
 
1741
  msgstr ""
1742
 
1743
- #. og:url
1744
- #: inc/admin/admin-metaboxes-get-content-analysis.php:433
1745
- msgid "Open Graph URL"
1746
  msgstr ""
1747
 
1748
- #. translators: %d count Open Graph URL
1749
- #: inc/admin/admin-metaboxes-get-content-analysis.php:444
1750
- #, php-format
1751
- msgid "We found %d og:url in your content."
1752
  msgstr ""
1753
 
1754
- #: inc/admin/admin-metaboxes-get-content-analysis.php:445
1755
  msgid ""
1756
- "You should not use more than one og:url in your post content to avoid "
1757
- "conflicts when sharing on social networks. Facebook will take the last og:"
1758
- "url tag from your source code. Below, the list:"
1759
  msgstr ""
1760
 
1761
- #: inc/admin/admin-metaboxes-get-content-analysis.php:448
1762
- msgid "Your Open Graph URL tag is empty!"
1763
  msgstr ""
1764
 
1765
- #: inc/admin/admin-metaboxes-get-content-analysis.php:450
1766
- msgid "We found an Open Graph URL tag in your source code."
1767
  msgstr ""
1768
 
1769
- #: inc/admin/admin-metaboxes-get-content-analysis.php:462
1770
- msgid "Your Open Graph URL is missing!"
 
 
 
1771
  msgstr ""
1772
 
1773
- #. og:site_name
1774
- #: inc/admin/admin-metaboxes-get-content-analysis.php:466
1775
- msgid "Open Graph Site Name"
1776
  msgstr ""
1777
 
1778
- #. translators: %d count Open Graph site name
1779
- #: inc/admin/admin-metaboxes-get-content-analysis.php:477
1780
- #, php-format
1781
- msgid "We found %d og:site_name in your content."
 
 
 
 
1782
  msgstr ""
1783
 
1784
- #: inc/admin/admin-metaboxes-get-content-analysis.php:478
1785
  msgid ""
1786
- "You should not use more than one og:site_name in your post content to avoid "
1787
- "conflicts when sharing on social networks. Facebook will take the last og:"
1788
- "site_name tag from your source code. Below, the list:"
 
1789
  msgstr ""
1790
 
1791
- #: inc/admin/admin-metaboxes-get-content-analysis.php:481
1792
- msgid "Your Open Graph Site Name tag is empty!"
1793
  msgstr ""
1794
 
1795
- #: inc/admin/admin-metaboxes-get-content-analysis.php:483
1796
- msgid "We found an Open Graph Site Name tag in your source code."
1797
  msgstr ""
1798
 
1799
- #: inc/admin/admin-metaboxes-get-content-analysis.php:495
1800
- msgid "Your Open Graph Site Name is missing!"
 
1801
  msgstr ""
1802
 
1803
- #. translators: %d count Twitter Title
1804
- #: inc/admin/admin-metaboxes-get-content-analysis.php:510
1805
- #, php-format
1806
- msgid "We found %d twitter:title in your content."
1807
  msgstr ""
1808
 
1809
- #: inc/admin/admin-metaboxes-get-content-analysis.php:511
1810
- msgid ""
1811
- "You should not use more than one twitter:title in your post content to avoid "
1812
- "conflicts when sharing on social networks. Twitter will take the last "
1813
- "twitter:title tag from your source code. Below, the list:"
1814
  msgstr ""
1815
 
1816
- #: inc/admin/admin-metaboxes-get-content-analysis.php:514
1817
- msgid "Your Twitter Title tag is empty!"
1818
  msgstr ""
1819
 
1820
- #: inc/admin/admin-metaboxes-get-content-analysis.php:516
1821
- msgid "We found a Twitter Title tag in your source code."
1822
  msgstr ""
1823
 
1824
- #: inc/admin/admin-metaboxes-get-content-analysis.php:528
1825
- msgid "Your Twitter Title is missing!"
1826
  msgstr ""
1827
 
1828
- #. twitter:description
1829
- #: inc/admin/admin-metaboxes-get-content-analysis.php:532
1830
- msgid "Twitter Description"
1831
  msgstr ""
1832
 
1833
- #. translators: %d count Twitter Description
1834
- #: inc/admin/admin-metaboxes-get-content-analysis.php:543
1835
- #, php-format
1836
- msgid "We found %d twitter:description in your content."
1837
  msgstr ""
1838
 
1839
- #: inc/admin/admin-metaboxes-get-content-analysis.php:544
1840
- msgid ""
1841
- "You should not use more than one twitter:description in your post content to "
1842
- "avoid conflicts when sharing on social networks. Twitter will take the last "
1843
- "twitter:description tag from your source code. Below, the list:"
1844
  msgstr ""
1845
 
1846
- #: inc/admin/admin-metaboxes-get-content-analysis.php:547
1847
- msgid "Your Twitter Description tag is empty!"
 
 
1848
  msgstr ""
1849
 
1850
- #: inc/admin/admin-metaboxes-get-content-analysis.php:549
1851
- msgid "We found a Twitter Description tag in your source code."
1852
  msgstr ""
1853
 
1854
- #: inc/admin/admin-metaboxes-get-content-analysis.php:561
1855
- msgid "Your Twitter Description is missing!"
1856
  msgstr ""
1857
 
1858
- #. twitter:image
1859
- #: inc/admin/admin-metaboxes-get-content-analysis.php:565
1860
- msgid "Twitter Image"
1861
  msgstr ""
1862
 
1863
- #. translators: %d count Twitter Image
1864
- #: inc/admin/admin-metaboxes-get-content-analysis.php:575
1865
- #, php-format
1866
- msgid "We found %d twitter:image in your content."
1867
  msgstr ""
1868
 
1869
- #: inc/admin/admin-metaboxes-get-content-analysis.php:581
1870
- msgid "Your Twitter Image tag is empty!"
1871
  msgstr ""
1872
 
1873
- #: inc/admin/admin-metaboxes-get-content-analysis.php:593
1874
- msgid "Your Twitter Image is missing!"
1875
  msgstr ""
1876
 
1877
- #. translators: %d count meta robots tag
1878
- #: inc/admin/admin-metaboxes-get-content-analysis.php:609
1879
- #, php-format
1880
- msgid ""
1881
- "We found %s meta robots in your page. There is probably something wrong with "
1882
- "your theme!"
1883
  msgstr ""
1884
 
1885
- #: inc/admin/admin-metaboxes-get-content-analysis.php:614
1886
- msgid "noindex is on! Search engines can't index this page."
1887
  msgstr ""
1888
 
1889
- #: inc/admin/admin-metaboxes-get-content-analysis.php:616
1890
- msgid "noindex is off. Search engines will index this page."
1891
  msgstr ""
1892
 
1893
- #: inc/admin/admin-metaboxes-get-content-analysis.php:621
1894
- msgid "nofollow is on! Search engines can't follow your links on this page."
1895
  msgstr ""
1896
 
1897
- #: inc/admin/admin-metaboxes-get-content-analysis.php:623
1898
- msgid "nofollow is off. Search engines will follow links on this page."
1899
  msgstr ""
1900
 
1901
- #: inc/admin/admin-metaboxes-get-content-analysis.php:630
1902
- msgid "noarchive is on! Search engines will not cache your page."
1903
  msgstr ""
1904
 
1905
- #: inc/admin/admin-metaboxes-get-content-analysis.php:632
1906
- msgid "noarchive is off. Search engines will probably cache your page."
1907
  msgstr ""
1908
 
1909
- #: inc/admin/admin-metaboxes-get-content-analysis.php:639
1910
  msgid ""
1911
- "nosnippet is on! Search engines will not display a snippet of this page in "
1912
- "search results."
1913
  msgstr ""
1914
 
1915
- #: inc/admin/admin-metaboxes-get-content-analysis.php:641
1916
  msgid ""
1917
- "nosnippet is off. Search engines will display a snippet of this page in "
1918
- "search results."
1919
  msgstr ""
1920
 
1921
- #: inc/admin/admin-metaboxes-get-content-analysis.php:644
1922
- msgid ""
1923
- "We found no meta robots on this page. It means, your page is index,follow. "
1924
- "Search engines will index it, and follow links. "
1925
  msgstr ""
1926
 
1927
- #: inc/admin/admin-metaboxes-get-content-analysis.php:653
1928
- msgid ""
1929
- "noimageindex is on! Google will not index your images on this page (but if "
1930
- "someone makes a direct link to one of your image in this page, it will be "
1931
- "indexed)."
1932
  msgstr ""
1933
 
1934
- #: inc/admin/admin-metaboxes-get-content-analysis.php:655
1935
- #: inc/admin/admin-metaboxes-get-content-analysis.php:667
1936
- msgid "noimageindex is off. Google will index the images on this page."
1937
  msgstr ""
1938
 
1939
- #: inc/admin/admin-metaboxes-get-content-analysis.php:662
1940
- msgid ""
1941
- "nositelinkssearchbox is on! Google will not display a sitelinks searchbox in "
1942
- "search results."
1943
  msgstr ""
1944
 
1945
- #: inc/admin/admin-metaboxes-get-content-analysis.php:664
1946
- #: inc/admin/admin-metaboxes-get-content-analysis.php:669
1947
- msgid ""
1948
- "nositelinkssearchbox is off. Google will probably display a sitelinks "
1949
- "searchbox in search results."
1950
  msgstr ""
1951
 
1952
- #: inc/admin/admin-metaboxes-get-content-analysis.php:682
1953
- msgid ""
1954
- "No alternative text found for these images. Alt tags are important for both "
1955
- "SEO and accessibility. Edit your images using the media library or your "
1956
- "favorite page builder and fill in alternative text fields."
1957
  msgstr ""
1958
 
1959
- #: inc/admin/admin-metaboxes-get-content-analysis.php:693
1960
- msgid "All alternative tags are filled in. Good work!"
1961
  msgstr ""
1962
 
1963
- #: inc/admin/admin-metaboxes-get-content-analysis.php:700
1964
- msgid ""
1965
- "We could not find any image in your content. Content with media is a plus "
1966
- "for your SEO."
1967
  msgstr ""
1968
 
1969
- #. translators: %d count nofollow attributes
1970
- #: inc/admin/admin-metaboxes-get-content-analysis.php:708
1971
- #, php-format
1972
- msgid ""
1973
- "We found %d links with nofollow attribute in your page. Do not overuse "
1974
- "nofollow attribute in links. Below, the list:"
1975
  msgstr ""
1976
 
1977
- #: inc/admin/admin-metaboxes-get-content-analysis.php:719
1978
- msgid "This page doesn't have any nofollow links."
1979
  msgstr ""
1980
 
1981
- #. Outbound links
1982
- #: inc/admin/admin-metaboxes-get-content-analysis.php:723
1983
- msgid ""
1984
- "Internet is built on the principle of hyperlink. It is therefore perfectly "
1985
- "normal to make links between different websites. However, avoid making links "
1986
- "to low quality sites, SPAM... If you are not sure about the quality of a "
1987
- "site, add the attribute \"nofollow\" to your link."
1988
  msgstr ""
1989
 
1990
- #. translators: %d count outbound links
1991
- #: inc/admin/admin-metaboxes-get-content-analysis.php:728
1992
- #, php-format
1993
- msgid "We found %s outbound links in your page. Below, the list:"
1994
  msgstr ""
1995
 
1996
- #: inc/admin/admin-metaboxes-get-content-analysis.php:738
1997
- msgid "This page doesn't have any outbound links."
1998
  msgstr ""
1999
 
2000
- #: inc/admin/admin-metaboxes-render-content-analysis.php:12
2001
- #: inc/admin/admin-metaboxes.php:434
2002
- msgid "Content analysis"
 
 
 
 
 
 
2003
  msgstr ""
2004
 
2005
- #: inc/admin/admin-metaboxes-render-content-analysis.php:12
2006
- msgid ""
2007
- "<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</"
2008
- "strong> yellow or green dots"
 
 
 
 
 
2009
  msgstr ""
2010
 
2011
- #: inc/admin/admin-metaboxes-render-content-analysis.php:16
2012
- #: inc/functions/options-advanced-admin.php:508
2013
- msgid "Should be improved"
 
 
 
 
 
 
2014
  msgstr ""
2015
 
2016
- #: inc/admin/admin-metaboxes-render-content-analysis.php:19
2017
- #: inc/functions/options-advanced-admin.php:503
2018
- msgid "Good"
 
 
 
 
2019
  msgstr ""
2020
 
2021
- #: inc/admin/admin-metaboxes-render-content-analysis.php:30
2022
- msgid "Expand"
2023
  msgstr ""
2024
 
2025
- #: inc/admin/admin-metaboxes-render-content-analysis.php:30
2026
- msgid "Close"
 
 
2027
  msgstr ""
2028
 
2029
- #: inc/admin/admin-metaboxes.php:206 inc/admin/admin-metaboxes.php:453
2030
- #: inc/admin/admin-term-metaboxes.php:208
2031
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:58
2032
- #: inc/admin/page-builders/elementor/inc/controls/class-content-analysis-control.php:34
2033
- msgid "Analysis in progress..."
2034
  msgstr ""
2035
 
2036
- #: inc/admin/admin-notifications-center.php:49
2037
- #: inc/admin/admin-notifications-center.php:55
2038
- msgid "Notifications Center"
 
 
2039
  msgstr ""
2040
 
2041
- #: inc/admin/admin-notifications-center.php:50
2042
- msgid "SEO Tools"
 
 
 
 
 
 
 
2043
  msgstr ""
2044
 
2045
- #: inc/admin/admin-notifications-center.php:51
2046
- #: inc/admin/admin-notifications-center.php:56
2047
- msgid "Useful links"
2048
  msgstr ""
2049
 
2050
- #: inc/admin/admin-notifications-center.php:97
2051
- msgid "Configure SEOPress in a few minutes with our installation wizard"
2052
  msgstr ""
2053
 
2054
- #: inc/admin/admin-notifications-center.php:98
2055
- msgid "The best way to quickly setup SEOPress on your site."
 
 
2056
  msgstr ""
2057
 
2058
- #: inc/admin/admin-notifications-center.php:100
2059
- #: inc/admin/admin-notifications-center.php:129
2060
- msgid "Wizard"
 
 
2061
  msgstr ""
2062
 
2063
- #: inc/admin/admin-notifications-center.php:104
2064
- #: inc/admin/admin-notifications-center.php:133
2065
- msgid "Start the wizard"
2066
  msgstr ""
2067
 
2068
- #: inc/admin/admin-notifications-center.php:126
2069
- msgid ""
2070
- "Configure SEOPress Insights in a few minutes with our installation wizard"
 
 
 
 
 
2071
  msgstr ""
2072
 
2073
- #: inc/admin/admin-notifications-center.php:127
2074
  msgid ""
2075
- "Track your keywords positions and backlinks directly on your WordPress site."
 
 
2076
  msgstr ""
2077
 
2078
- #: inc/admin/admin-notifications-center.php:160
2079
- msgid "We noticed that some SEO DIVI options are enabled!"
2080
  msgstr ""
2081
 
2082
- #: inc/admin/admin-notifications-center.php:161
2083
- msgid ""
2084
- "To avoid any SEO conflicts, please disable every SEO options from "
2085
- "<strong>DIVI theme options page, SEO tab</strong>."
2086
  msgstr ""
2087
 
2088
- #: inc/admin/admin-notifications-center.php:163
2089
- #: inc/admin/admin-notifications-center.php:183
2090
- #: inc/admin/admin-notifications-center.php:201
2091
- #: inc/admin/admin-notifications-center.php:230
2092
- #: inc/admin/admin-notifications-center.php:261
2093
- #: inc/admin/admin-notifications-center.php:296
2094
- #: inc/admin/admin-notifications-center.php:422
2095
- #: inc/admin/admin-notifications-center.php:472
2096
- #: inc/admin/admin-notifications-center.php:513
2097
- #: inc/admin/admin-notifications-center.php:532
2098
- #: inc/admin/admin-notifications-center.php:549
2099
- #: inc/admin/admin-notifications-center.php:637
2100
- #: inc/admin/admin-notifications-center.php:713
2101
- #: inc/admin/admin-notifications-center.php:750
2102
- #: inc/admin/admin-notifications-center.php:768
2103
- msgid "High impact"
2104
  msgstr ""
2105
 
2106
- #: inc/admin/admin-notifications-center.php:167
2107
- #: inc/admin/admin-notifications-center.php:187
2108
- #: inc/admin/admin-notifications-center.php:205
2109
- #: inc/admin/admin-notifications-center.php:235
2110
- #: inc/admin/admin-notifications-center.php:426
2111
- #: inc/admin/admin-notifications-center.php:517
2112
- #: inc/admin/admin-notifications-center.php:536
2113
- #: inc/admin/admin-notifications-center.php:553
2114
- #: inc/admin/admin-notifications-center.php:582
2115
- #: inc/admin/admin-notifications-center.php:671
2116
- #: inc/admin/admin-notifications-center.php:689
2117
- #: inc/admin/admin-notifications-center.php:772
2118
- #: inc/admin/admin-notifications-center.php:791
2119
- msgid "Fix this!"
2120
  msgstr ""
2121
 
2122
- #: inc/admin/admin-notifications-center.php:180
2123
- msgid "Your permalinks doesn't have a trailingslash"
 
2124
  msgstr ""
2125
 
2126
- #: inc/admin/admin-notifications-center.php:181
2127
  msgid ""
2128
- "To avoid any SEO issues, we recommend you to activate the \"<strong>Disable "
2129
- "trailing slash for metas</strong>\" option from our <strong>Advanced "
2130
- "settings page</strong>. Do not forget to clear your cache if necessary."
2131
  msgstr ""
2132
 
2133
- #: inc/admin/admin-notifications-center.php:198
2134
- msgid "Your permalinks have a trailingslash"
2135
  msgstr ""
2136
 
2137
- #: inc/admin/admin-notifications-center.php:199
2138
  msgid ""
2139
- "To avoid any SEO issues, we recommend you to de-activate the "
2140
- "\"<strong>Disable trailing slash for metas</strong>\" option from our "
2141
- "<strong>Advanced settings page</strong>. Do not forget to clear your cache "
2142
- "if necessary."
2143
  msgstr ""
2144
 
2145
- #: inc/admin/admin-notifications-center.php:227
2146
- msgid ""
2147
- "TagDiv Composer plugin doesn't use <strong>add_theme_support('title-tag');</"
2148
- "strong>"
2149
  msgstr ""
2150
 
2151
- #: inc/admin/admin-notifications-center.php:228
2152
  msgid ""
2153
- "Fix this compatibility issue to allow SEOPress generates the correct meta "
2154
- "titles."
 
2155
  msgstr ""
2156
 
2157
- #: inc/admin/admin-notifications-center.php:258
2158
- msgid "Your theme doesn't use <strong>add_theme_support('title-tag');</strong>"
2159
  msgstr ""
2160
 
2161
- #: inc/admin/admin-notifications-center.php:259
2162
  msgid ""
2163
- "This error indicates that your theme uses a deprecated function to generate "
2164
- "the title tag of your pages. SEOPress will not be able to generate your "
2165
- "custom title tags if this error is not fixed."
2166
  msgstr ""
2167
 
2168
- #: inc/admin/admin-notifications-center.php:266
2169
- #: inc/admin/admin-notifications-center.php:349
2170
- #: inc/admin/admin-notifications-center.php:389
2171
- #: inc/admin/admin-notifications-center.php:451
2172
- #: inc/admin/admin-notifications-center.php:477 inc/admin/admin.php:5367
2173
- #: inc/admin/admin.php:5422 inc/admin/admin.php:5449 inc/admin/admin.php:5471
2174
- #: inc/admin/admin.php:5493 inc/admin/admin.php:5515
2175
- msgid "Learn more"
2176
  msgstr ""
2177
 
2178
- #. translators: %s name of a SEO plugin (eg: Yoast SEO)
2179
- #: inc/admin/admin-notifications-center.php:293
2180
- #, php-format
2181
- msgid "We noticed that you use <strong>%s</strong> plugin."
2182
  msgstr ""
2183
 
2184
- #: inc/admin/admin-notifications-center.php:294
2185
  msgid ""
2186
- "Do you want to migrate all your metadata to SEOPress? Do not use multiple "
2187
- "SEO plugins at once to avoid conflicts!"
 
2188
  msgstr ""
2189
 
2190
- #: inc/admin/admin-notifications-center.php:300
2191
- msgid "Migrate!"
2192
  msgstr ""
2193
 
2194
- #: inc/admin/admin-notifications-center.php:313
2195
- msgid "You have enabled 404 cleaning BUT the scheduled task is not running."
 
 
2196
  msgstr ""
2197
 
2198
- #: inc/admin/admin-notifications-center.php:314
2199
- msgid ""
2200
- "To solve this, please disable and re-enable SEOPress PRO. No data will be "
2201
- "lost."
2202
  msgstr ""
2203
 
2204
- #. translators: %s name of a page builder plugin (eg: Oxygen)
2205
- #: inc/admin/admin-notifications-center.php:341
2206
  #, php-format
2207
- msgid "Generate automatic meta description for <strong>%s</strong> plugin."
 
 
2208
  msgstr ""
2209
 
2210
- #: inc/admin/admin-notifications-center.php:342
2211
- msgid ""
2212
- "Your page builder is using shortcodes to save its data. To automatically "
2213
- "generate your meta description based on your post content, you will have to "
2214
- "add some hooks to your functions.php."
2215
  msgstr ""
2216
 
2217
- #: inc/admin/admin-notifications-center.php:344
2218
- #: inc/admin/admin-notifications-center.php:384
2219
- #: inc/admin/admin-notifications-center.php:578
2220
- #: inc/admin/admin-notifications-center.php:667
2221
- #: inc/admin/admin-notifications-center.php:685
2222
- msgid "Medium impact"
2223
  msgstr ""
2224
 
2225
- #. translators: %s name of a WP theme (eg: Enfold)
2226
- #: inc/admin/admin-notifications-center.php:381
2227
- #, php-format
2228
- msgid "Generate automatic meta description for <strong>%s</strong> theme."
2229
  msgstr ""
2230
 
2231
- #: inc/admin/admin-notifications-center.php:382
2232
- msgid ""
2233
- "Your theme is using shortcodes to save its data. To automatically generate "
2234
- "your meta description based on your post content, you will have to add some "
2235
- "hooks to your functions.php."
2236
  msgstr ""
2237
 
2238
- #: inc/admin/admin-notifications-center.php:419
2239
- msgid "Enfold theme is not correctly setup for SEO!"
2240
  msgstr ""
2241
 
2242
- #: inc/admin/admin-notifications-center.php:420
2243
- msgid ""
2244
- "You must disable \"Meta tag robots\" option from Enfold settings (SEO "
2245
- "Support tab) to avoid any SEO issues."
2246
  msgstr ""
2247
 
2248
- #: inc/admin/admin-notifications-center.php:450
2249
- msgid "Your site doesn't use an SSL certificate!"
 
 
2250
  msgstr ""
2251
 
2252
- #: inc/admin/admin-notifications-center.php:451
2253
- msgid ""
2254
- "Https is considered by Google as a positive signal for the ranking of your "
2255
- "site. It also reassures your visitors for data security, and improves trust."
2256
  msgstr ""
2257
 
2258
- #: inc/admin/admin-notifications-center.php:453
2259
- msgid "Low impact"
 
 
2260
  msgstr ""
2261
 
2262
- #: inc/admin/admin-notifications-center.php:457
2263
- msgid "Buy an SSL!"
2264
  msgstr ""
2265
 
2266
- #: inc/admin/admin-notifications-center.php:469
2267
- msgid "PHP module \"DOM\" is missing on your server."
2268
  msgstr ""
2269
 
2270
- #: inc/admin/admin-notifications-center.php:470
2271
- msgid ""
2272
- "This PHP module, installed by default with PHP, is required by many plugins "
2273
- "including SEOPress. Please contact your host as soon as possible to solve "
2274
- "this."
2275
  msgstr ""
2276
 
2277
- #: inc/admin/admin-notifications-center.php:510
2278
- msgid "Your site is not visible to Search Engines!"
 
2279
  msgstr ""
2280
 
2281
- #: inc/admin/admin-notifications-center.php:511
2282
- msgid ""
2283
- "You have activated the blocking of the indexing of your site. If your site "
2284
- "is under development, this is probably normal. Otherwise, check your "
2285
- "settings. Delete this notification using the cross on the right if you are "
2286
- "not concerned."
2287
  msgstr ""
2288
 
2289
- #: inc/admin/admin-notifications-center.php:529
2290
- msgid "Your site title is empty!"
 
 
2291
  msgstr ""
2292
 
2293
- #: inc/admin/admin-notifications-center.php:530
2294
- msgid ""
2295
- "Your Site Title is used by WordPress, your theme and your plugins including "
2296
- "SEOPress. It is an essential component in the generation of title tags, but "
2297
- "not only. Enter one!"
2298
  msgstr ""
2299
 
2300
- #: inc/admin/admin-notifications-center.php:546 inc/admin/admin.php:3115
2301
- msgid ""
2302
- "Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
 
2303
  msgstr ""
2304
 
2305
- #: inc/admin/admin-notifications-center.php:547
2306
- #: inc/admin/admin-notifications-center.php:576
2307
- msgid ""
2308
- "Why is this important? Showing only the summary of each article "
2309
- "significantly reduces the theft of your content by third party sites. Not to "
2310
- "mention, the increase in your traffic, your advertising revenue, "
2311
- "conversions..."
2312
  msgstr ""
2313
 
2314
- #: inc/admin/admin-notifications-center.php:575
2315
- msgid "Your RSS feed shows full text!"
 
 
2316
  msgstr ""
2317
 
2318
- #: inc/admin/admin-notifications-center.php:605
2319
- msgid "You like SEOPress? Please help us by rating us 5 stars!"
2320
  msgstr ""
2321
 
2322
- #: inc/admin/admin-notifications-center.php:606
2323
- msgid ""
2324
- "Support the development and improvement of the plugin by taking 15 seconds "
2325
- "of your time to leave us a user review on the official WordPress plugins "
2326
- "repository. Thank you!"
2327
  msgstr ""
2328
 
2329
- #: inc/admin/admin-notifications-center.php:608
2330
- msgid "Information"
2331
  msgstr ""
2332
 
2333
- #: inc/admin/admin-notifications-center.php:612
2334
- msgid "Rate us!"
 
2335
  msgstr ""
2336
 
2337
- #: inc/admin/admin-notifications-center.php:634
2338
- msgid "Break comments into pages is ON!"
2339
  msgstr ""
2340
 
2341
- #: inc/admin/admin-notifications-center.php:635
2342
- msgid ""
2343
- "Enabling this option will create duplicate content for each article beyond x "
2344
- "comments. This can have a disastrous effect by creating a large number of "
2345
- "poor quality pages, and slowing the Google bot unnecessarily, so your "
2346
- "ranking in search results."
2347
  msgstr ""
2348
 
2349
- #: inc/admin/admin-notifications-center.php:641
2350
- msgid "Disable this!"
2351
  msgstr ""
2352
 
2353
- #: inc/admin/admin-notifications-center.php:664
2354
- msgid "Display more posts per page on homepage and archives"
2355
  msgstr ""
2356
 
2357
- #: inc/admin/admin-notifications-center.php:665
2358
  msgid ""
2359
- "To reduce the number pages search engines have to crawl to find all your "
2360
- "articles, it is recommended displaying more posts per page. This should not "
2361
- "be a problem for your users. Using mobile, we prefer to scroll down rather "
2362
- "than clicking on next page links."
2363
  msgstr ""
2364
 
2365
- #: inc/admin/admin-notifications-center.php:682
2366
- msgid "You don't have an XML Sitemap!"
2367
  msgstr ""
2368
 
2369
- #: inc/admin/admin-notifications-center.php:683
2370
  msgid ""
2371
- "XML Sitemaps are useful to facilitate the crawling of your content by search "
2372
- "engine robots. Indirectly, this can benefit your ranking by reducing the "
2373
- "crawl bugdet."
2374
  msgstr ""
2375
 
2376
- #: inc/admin/admin-notifications-center.php:710
2377
- msgid "Do you have a Google My Business page? It's free!"
2378
  msgstr ""
2379
 
2380
- #: inc/admin/admin-notifications-center.php:711
2381
  msgid ""
2382
- "Local Business websites should have a My Business page to improve visibility "
2383
- "in search results. Click on the cross on the right to delete this "
2384
- "notification if you are not concerned."
2385
  msgstr ""
2386
 
2387
- #: inc/admin/admin-notifications-center.php:717
2388
- msgid "Create your page now!"
 
 
2389
  msgstr ""
2390
 
2391
- #: inc/admin/admin-notifications-center.php:747
2392
- msgid "Add your site to Google. It's free!"
 
 
2393
  msgstr ""
2394
 
2395
- #: inc/admin/admin-notifications-center.php:748
2396
  msgid ""
2397
- "Is your brand new site online? So reference it as quickly as possible on "
2398
- "Google to get your first visitors via Google Search Console. Already the "
2399
- "case? Click on the cross on the right to remove this alert."
2400
  msgstr ""
2401
 
2402
- #: inc/admin/admin-notifications-center.php:754
2403
- msgid "Add your site to Search Console!"
 
 
2404
  msgstr ""
2405
 
2406
- #: inc/admin/admin-notifications-center.php:765
2407
- msgid "Structured data types is not correctly enabled"
2408
  msgstr ""
2409
 
2410
- #: inc/admin/admin-notifications-center.php:766
2411
- msgid ""
2412
- "Please enable <strong>Structured Data Types metabox for your posts, pages "
2413
- "and custom post types</strong> option in order to use automatic and manual "
2414
- "schemas. (SEO > PRO > Structured Data Types (schema.org)"
2415
  msgstr ""
2416
 
2417
- #: inc/admin/admin-notifications-center.php:784
2418
- msgid "You have to enter your licence key to get updates and support"
2419
  msgstr ""
2420
 
2421
- #: inc/admin/admin-notifications-center.php:785
2422
- msgid ""
2423
- "Please activate the SEOPress PRO license key to automatically receive "
2424
- "updates to guarantee you the best user experience possible."
2425
  msgstr ""
2426
 
2427
- #: inc/admin/admin-notifications-center.php:813
2428
- msgid "Take your SEO to the next level with SEOPress PRO!"
 
2429
  msgstr ""
2430
 
2431
- #: inc/admin/admin-notifications-center.php:814
2432
- msgid ""
2433
- "The PRO version of SEOPress allows you to easily manage your structured data "
2434
- "(schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO "
2435
- "for WooCommerce, gain productivity with our import / export tool from a CSV "
2436
- "of your metadata and so much more."
2437
  msgstr ""
2438
 
2439
- #: inc/admin/admin-notifications-center.php:821
2440
- msgid "Upgrade now!"
2441
  msgstr ""
2442
 
2443
- #: inc/admin/admin-notifications-center.php:838
2444
- msgid "Check websites setup on your server"
 
2445
  msgstr ""
2446
 
2447
- #. Init
2448
- #: inc/admin/admin-notifications-center.php:847
2449
- msgid "Not found"
2450
  msgstr ""
2451
 
2452
- #: inc/admin/admin-notifications-center.php:852
2453
- msgid "No scrape."
 
2454
  msgstr ""
2455
 
2456
- #: inc/admin/admin-notifications-center.php:857
2457
- msgid "No domain found."
2458
  msgstr ""
2459
 
2460
- #: inc/admin/admin-notifications-center.php:867
2461
- msgid "Server IP Address: "
 
2462
  msgstr ""
2463
 
2464
- #: inc/admin/admin-notifications-center.php:870
2465
- msgid "Last scrape: "
2466
  msgstr ""
2467
 
2468
- #: inc/admin/admin-notifications-center.php:871
2469
- msgid "Number of websites on your server: "
 
 
2470
  msgstr ""
2471
 
2472
- #: inc/admin/admin-notifications-center.php:884
2473
- msgid "Get list"
2474
  msgstr ""
2475
 
2476
- #: inc/admin/admin-notifications-center.php:893
2477
- msgid "Our blog: SEO news, how-to, tips and tricks..."
2478
  msgstr ""
2479
 
2480
- #: inc/admin/admin-notifications-center.php:894
2481
- msgid "Upload a list of links to disavow to Google"
 
 
 
2482
  msgstr ""
2483
 
2484
- #: inc/admin/admin-notifications-center.php:896
2485
- msgid ""
2486
- "Image SEO plugin to optimize your image ALT texts and names for Search "
2487
- "Engines."
2488
  msgstr ""
2489
 
2490
- #: inc/admin/admin-notifications-center.php:898
2491
- msgid "Dareboost: Test, analyze and optimize your website"
2492
  msgstr ""
2493
 
2494
- #: inc/admin/admin-notifications-center.php:899
2495
- msgid "Google Campaign URL Builder tool"
2496
  msgstr ""
2497
 
2498
- #: inc/admin/admin-wizard.php:104 seopress.php:231
2499
- msgid "Migration completed!"
2500
  msgstr ""
2501
 
2502
- #: inc/admin/admin-wizard.php:105 seopress.php:232
2503
- msgid "Export completed!"
2504
  msgstr ""
2505
 
2506
- #: inc/admin/admin-wizard.php:120
2507
- msgid "Import SEO settings"
2508
  msgstr ""
2509
 
2510
- #: inc/admin/admin-wizard.php:125 inc/admin/admin-wizard.php:504
2511
- msgid "Your site"
2512
  msgstr ""
2513
 
2514
- #: inc/admin/admin-wizard.php:130 inc/admin/admin-wizard.php:614
2515
- msgid "Indexing"
2516
  msgstr ""
2517
 
2518
- #: inc/admin/admin-wizard.php:135 inc/admin/admin-wizard.php:770
2519
- msgid "Advanced options"
2520
  msgstr ""
2521
 
2522
- #: inc/admin/admin-wizard.php:140
2523
- msgid "Ready!"
2524
  msgstr ""
2525
 
2526
- #: inc/admin/admin-wizard.php:199
2527
- msgid "SEOPress &rsaquo; Setup Wizard"
 
2528
  msgstr ""
2529
 
2530
- #: inc/admin/admin-wizard.php:215
2531
- msgid "Not right now"
2532
  msgstr ""
2533
 
2534
- #: inc/admin/admin-wizard.php:217
2535
- msgid "Skip this step"
 
2536
  msgstr ""
2537
 
2538
- #: inc/admin/admin-wizard.php:275
2539
- msgid "Welcome!"
 
2540
  msgstr ""
2541
 
2542
- #: inc/admin/admin-wizard.php:276
2543
- msgid ""
2544
- "The following wizard will help you configure SEOPress and get you started "
2545
- "quickly."
2546
  msgstr ""
2547
 
2548
- #: inc/admin/admin-wizard.php:277
2549
- msgid ""
2550
- "The first step is to import your previous settings from other plugins to "
2551
- "keep your SEO."
2552
  msgstr ""
2553
 
2554
- #: inc/admin/admin-wizard.php:278
2555
- msgid "No data to migrate? Click \"Next step\" button!"
 
2556
  msgstr ""
2557
 
2558
- #: inc/admin/admin-wizard.php:280 inc/admin/admin.php:872
2559
- msgid "Import posts and terms metadata from"
 
2560
  msgstr ""
2561
 
2562
- #: inc/admin/admin-wizard.php:282 inc/admin/admin.php:874
2563
- #: inc/admin/admin.php:1075
2564
- msgid "Select an option"
2565
  msgstr ""
2566
 
2567
- #: inc/admin/admin-wizard.php:283 inc/admin/admin.php:875
2568
- msgid "Yoast SEO"
 
2569
  msgstr ""
2570
 
2571
- #: inc/admin/admin-wizard.php:284 inc/admin/admin.php:876
2572
- msgid "All In One SEO"
 
2573
  msgstr ""
2574
 
2575
- #: inc/admin/admin-wizard.php:285 inc/admin/admin.php:877
2576
- msgid "The SEO Framework"
2577
  msgstr ""
2578
 
2579
- #: inc/admin/admin-wizard.php:286 inc/admin/admin.php:878
2580
- msgid "Rank Math"
 
2581
  msgstr ""
2582
 
2583
- #: inc/admin/admin-wizard.php:287 inc/admin/admin.php:879
2584
- msgid "Squirrly SEO"
 
2585
  msgstr ""
2586
 
2587
- #: inc/admin/admin-wizard.php:288 inc/admin/admin.php:880
2588
- msgid "SEO Ultimate"
2589
  msgstr ""
2590
 
2591
- #: inc/admin/admin-wizard.php:289 inc/admin/admin.php:881
2592
- msgid "WP Meta SEO"
 
2593
  msgstr ""
2594
 
2595
- #: inc/admin/admin-wizard.php:290 inc/admin/admin.php:882
2596
- msgid "Premium SEO Pack"
 
2597
  msgstr ""
2598
 
2599
- #: inc/admin/admin-wizard.php:291 inc/admin/admin.php:883
2600
- msgid "wpSEO"
 
2601
  msgstr ""
2602
 
2603
- #: inc/admin/admin-wizard.php:299 inc/admin/admin.php:890
2604
- msgid "Import posts and terms metadata from Yoast"
 
2605
  msgstr ""
2606
 
2607
- #: inc/admin/admin-wizard.php:300 inc/admin/admin-wizard.php:320
2608
- #: inc/admin/admin-wizard.php:337 inc/admin/admin-wizard.php:356
2609
- #: inc/admin/admin-wizard.php:375 inc/admin/admin-wizard.php:393
2610
- #: inc/admin/admin-wizard.php:410 inc/admin/admin-wizard.php:426
2611
- #: inc/admin/admin-wizard.php:445 inc/admin/admin.php:891
2612
- #: inc/admin/admin.php:913 inc/admin/admin.php:932 inc/admin/admin.php:953
2613
- #: inc/admin/admin.php:974 inc/admin/admin.php:994 inc/admin/admin.php:1013
2614
- #: inc/admin/admin.php:1031 inc/admin/admin.php:1051
2615
- msgid "By clicking Migrate, we'll import:"
2616
  msgstr ""
2617
 
2618
- #: inc/admin/admin-wizard.php:302 inc/admin/admin-wizard.php:322
2619
- #: inc/admin/admin-wizard.php:339 inc/admin/admin-wizard.php:358
2620
- #: inc/admin/admin-wizard.php:377 inc/admin/admin-wizard.php:395
2621
- #: inc/admin/admin-wizard.php:412 inc/admin/admin-wizard.php:428
2622
- #: inc/admin/admin-wizard.php:447 inc/admin/admin.php:893
2623
- #: inc/admin/admin.php:915 inc/admin/admin.php:934 inc/admin/admin.php:955
2624
- #: inc/admin/admin.php:976 inc/admin/admin.php:996 inc/admin/admin.php:1015
2625
- #: inc/admin/admin.php:1033 inc/admin/admin.php:1053
2626
- msgid "Title tags"
2627
  msgstr ""
2628
 
2629
- #: inc/admin/admin-wizard.php:304 inc/admin/admin-wizard.php:324
2630
- #: inc/admin/admin-wizard.php:341 inc/admin/admin-wizard.php:360
2631
- #: inc/admin/admin-wizard.php:379 inc/admin/admin-wizard.php:397
2632
- #: inc/admin/admin-wizard.php:414 inc/admin/admin-wizard.php:430
2633
- #: inc/admin/admin-wizard.php:449 inc/admin/admin.php:895
2634
- #: inc/admin/admin.php:917 inc/admin/admin.php:936 inc/admin/admin.php:957
2635
- #: inc/admin/admin.php:978 inc/admin/admin.php:998 inc/admin/admin.php:1017
2636
- #: inc/admin/admin.php:1035 inc/admin/admin.php:1055
2637
- msgid "Facebook Open Graph tags (title, description and image thumbnail)"
2638
  msgstr ""
2639
 
2640
- #: inc/admin/admin-wizard.php:305 inc/admin/admin-wizard.php:342
2641
- #: inc/admin/admin-wizard.php:361 inc/admin/admin-wizard.php:380
2642
- #: inc/admin/admin-wizard.php:398 inc/admin/admin-wizard.php:415
2643
- #: inc/admin/admin-wizard.php:450 inc/admin/admin.php:896
2644
- #: inc/admin/admin.php:937 inc/admin/admin.php:958 inc/admin/admin.php:979
2645
- #: inc/admin/admin.php:999 inc/admin/admin.php:1018 inc/admin/admin.php:1056
2646
- msgid "Twitter tags (title, description and image thumbnail)"
2647
  msgstr ""
2648
 
2649
- #: inc/admin/admin-wizard.php:306 inc/admin/admin.php:897
2650
- msgid "Meta Robots (noindex, nofollow...)"
 
2651
  msgstr ""
2652
 
2653
- #: inc/admin/admin-wizard.php:308 inc/admin/admin-wizard.php:364
2654
- #: inc/admin/admin-wizard.php:433 inc/admin/admin.php:899
2655
- #: inc/admin/admin.php:961 inc/admin/admin.php:1038
2656
- msgid "Focus keywords"
2657
  msgstr ""
2658
 
2659
- #: inc/admin/admin-wizard.php:309 inc/admin/admin.php:900
2660
- msgid "Primary category"
 
2661
  msgstr ""
2662
 
2663
- #: inc/admin/admin-wizard.php:311 inc/admin/admin.php:902
2664
- msgid ""
2665
- "<strong>WARNING:</strong> Migration will delete / update all SEOPress posts "
2666
- "and terms metadata. Some dynamic variables will not be interpreted. We do "
2667
- "NOT delete any Yoast data."
2668
  msgstr ""
2669
 
2670
- #: inc/admin/admin-wizard.php:312 inc/admin/admin-wizard.php:329
2671
- #: inc/admin/admin-wizard.php:348 inc/admin/admin-wizard.php:367
2672
- #: inc/admin/admin-wizard.php:385 inc/admin/admin-wizard.php:402
2673
- #: inc/admin/admin-wizard.php:418 inc/admin/admin-wizard.php:436
2674
- #: inc/admin/admin-wizard.php:457 inc/admin/admin.php:903
2675
- #: inc/admin/admin.php:922 inc/admin/admin.php:943 inc/admin/admin.php:964
2676
- #: inc/admin/admin.php:984 inc/admin/admin.php:1003 inc/admin/admin.php:1021
2677
- #: inc/admin/admin.php:1041 inc/admin/admin.php:1063
2678
- msgid "Migrate now"
2679
  msgstr ""
2680
 
2681
- #: inc/admin/admin-wizard.php:319 inc/admin/admin.php:912
2682
- msgid "Import posts and terms metadata from All In One SEO"
 
2683
  msgstr ""
2684
 
2685
- #: inc/admin/admin-wizard.php:325 inc/admin/admin.php:918
2686
- msgid "Twitter image thumbnail"
 
2687
  msgstr ""
2688
 
2689
- #: inc/admin/admin-wizard.php:326 inc/admin/admin-wizard.php:431
2690
- #: inc/admin/admin-wizard.php:451 inc/admin/admin.php:919
2691
- #: inc/admin/admin.php:1036 inc/admin/admin.php:1057
2692
- msgid "Meta Robots (noindex, nofollow)"
2693
  msgstr ""
2694
 
2695
- #: inc/admin/admin-wizard.php:328 inc/admin/admin.php:921
2696
- msgid ""
2697
- "<strong>WARNING:</strong> Migration will update/delete all SEOPress posts "
2698
- "and terms metadata. Some dynamic variables will not be interpreted. We do "
2699
- "NOT delete any AIO data."
2700
  msgstr ""
2701
 
2702
- #: inc/admin/admin-wizard.php:336 inc/admin/admin.php:931
2703
- msgid "Import posts and terms metadata from The SEO Framework"
 
2704
  msgstr ""
2705
 
2706
- #: inc/admin/admin-wizard.php:343 inc/admin/admin.php:938
2707
- msgid "Meta Robots (noindex, nofollow, noarchive)"
 
2708
  msgstr ""
2709
 
2710
- #: inc/admin/admin-wizard.php:345 inc/admin/admin-wizard.php:453
2711
- #: inc/admin/admin.php:940 inc/admin/admin.php:1059
2712
- #: inc/functions/options-advanced-admin.php:408
2713
- msgid "Redirect URL"
2714
  msgstr ""
2715
 
2716
- #: inc/admin/admin-wizard.php:347 inc/admin/admin.php:942
2717
- msgid ""
2718
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2719
- "and terms metadata. Some dynamic variables will not be interpreted. We do "
2720
- "NOT delete any SEO Framework data."
2721
  msgstr ""
2722
 
2723
- #: inc/admin/admin-wizard.php:355 inc/admin/admin.php:952
2724
- msgid "Import posts and terms metadata from Rank Math"
 
 
2725
  msgstr ""
2726
 
2727
- #: inc/admin/admin-wizard.php:362 inc/admin/admin.php:959
2728
- msgid "Meta Robots (noindex, nofollow, noarchive, noimageindex)"
 
2729
  msgstr ""
2730
 
2731
- #: inc/admin/admin-wizard.php:366 inc/admin/admin.php:963
2732
  msgid ""
2733
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2734
- "and terms metadata. Some dynamic variables will not be interpreted. We do "
2735
- "NOT delete any Rank Math data."
2736
  msgstr ""
2737
 
2738
- #: inc/admin/admin-wizard.php:374 inc/admin/admin.php:973
2739
- msgid "Import posts metadata from Squirrly SEO"
 
2740
  msgstr ""
2741
 
2742
- #: inc/admin/admin-wizard.php:381 inc/admin/admin-wizard.php:399
2743
- #: inc/admin/admin.php:980 inc/admin/admin.php:1000
2744
- msgid "Meta Robots (noindex or nofollow)"
2745
  msgstr ""
2746
 
2747
- #: inc/admin/admin-wizard.php:384
2748
- msgid ""
2749
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2750
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2751
- "any Squirrly SEO data."
2752
  msgstr ""
2753
 
2754
- #: inc/admin/admin-wizard.php:392 inc/admin/admin.php:993
2755
- msgid "Import posts metadata from SEO Ultimate"
 
2756
  msgstr ""
2757
 
2758
- #: inc/admin/admin-wizard.php:401 inc/admin/admin.php:1002
2759
- msgid ""
2760
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2761
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2762
- "any SEO Ultimate data."
2763
- msgstr ""
2764
-
2765
- #: inc/admin/admin-wizard.php:409 inc/admin/admin.php:1012
2766
- msgid "Import posts and terms metadata from WP Meta SEO"
2767
  msgstr ""
2768
 
2769
- #: inc/admin/admin-wizard.php:417 inc/admin/admin.php:1020
2770
- msgid ""
2771
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2772
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2773
- "any WP Meta SEO data."
2774
  msgstr ""
2775
 
2776
- #: inc/admin/admin-wizard.php:425 inc/admin/admin.php:1030
2777
- msgid "Import posts and terms metadata from Premium SEO Pack"
 
2778
  msgstr ""
2779
 
2780
- #: inc/admin/admin-wizard.php:435 inc/admin/admin.php:1040
2781
- msgid ""
2782
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2783
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2784
- "any Premium SEO Pack data."
2785
  msgstr ""
2786
 
2787
- #: inc/admin/admin-wizard.php:444 inc/admin/admin.php:1050
2788
- msgid "Import posts and terms metadata from wpSEO"
 
2789
  msgstr ""
2790
 
2791
- #: inc/admin/admin-wizard.php:454 inc/admin/admin.php:1060
2792
- msgid "Main keyword"
2793
  msgstr ""
2794
 
2795
- #: inc/admin/admin-wizard.php:456 inc/admin/admin.php:1062
2796
- msgid ""
2797
- "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2798
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2799
- "any wpSEO data."
2800
  msgstr ""
2801
 
2802
- #: inc/admin/admin-wizard.php:465 inc/admin/admin-wizard.php:895
2803
- msgid "Next step"
 
2804
  msgstr ""
2805
 
2806
- #: inc/admin/admin-wizard.php:506
2807
- msgid ""
2808
- "To build title tags and knowledge graph for Google, you need to fill out the "
2809
- "fields below to configure the general settings. "
2810
  msgstr ""
2811
 
2812
- #: inc/admin/admin-wizard.php:509
2813
- msgid "eg: |"
 
2814
  msgstr ""
2815
 
2816
- #. ID
2817
- #: inc/admin/admin-wizard.php:511 inc/admin/admin.php:1385
2818
- #: inc/admin/admin.php:3291
2819
- msgid "Site title"
2820
  msgstr ""
2821
 
2822
- #: inc/admin/admin-wizard.php:512
2823
- msgid "eg: My super website"
 
2824
  msgstr ""
2825
 
2826
- #. ID
2827
- #: inc/admin/admin-wizard.php:514 inc/admin/admin.php:1816
2828
- msgid "Person or organization"
2829
  msgstr ""
2830
 
2831
- #: inc/admin/admin-wizard.php:516
2832
- msgid "Choose a knowledge type"
2833
  msgstr ""
2834
 
2835
- #: inc/admin/admin-wizard.php:522 inc/admin/admin.php:4547
2836
- msgid "Person"
2837
  msgstr ""
2838
 
2839
- #: inc/admin/admin-wizard.php:525 inc/admin/admin.php:4550
2840
- msgid "Organization"
2841
  msgstr ""
2842
 
2843
- #. ID
2844
- #: inc/admin/admin-wizard.php:529 inc/admin/admin.php:1824
2845
- #: inc/admin/admin.php:4563
2846
- msgid "Your name/organization"
2847
  msgstr ""
2848
 
2849
- #: inc/admin/admin-wizard.php:530
2850
- msgid "eg: My Company Name"
 
 
2851
  msgstr ""
2852
 
2853
- #. ID
2854
- #: inc/admin/admin-wizard.php:532 inc/admin/admin.php:1832
2855
- #: inc/admin/admin.php:4576
2856
- msgid "Your photo/organization logo"
2857
  msgstr ""
2858
 
2859
- #: inc/admin/admin-wizard.php:533
2860
- msgid "eg: https://www.example.com/logo.png"
 
 
2861
  msgstr ""
2862
 
2863
- #: inc/admin/admin-wizard.php:535
2864
- msgid "Facebook page URL"
 
 
2865
  msgstr ""
2866
 
2867
- #: inc/admin/admin-wizard.php:536 inc/admin/admin.php:4684
2868
- msgid "eg: https://facebook.com/my-page-url"
 
2869
  msgstr ""
2870
 
2871
- #. ID
2872
- #: inc/admin/admin-wizard.php:538 inc/admin/admin.php:1881
2873
- msgid "Twitter Username"
 
 
2874
  msgstr ""
2875
 
2876
- #: inc/admin/admin-wizard.php:539 inc/admin/admin.php:4697
2877
- msgid "eg: @my_twitter_account"
 
 
 
2878
  msgstr ""
2879
 
2880
- #. ID
2881
- #: inc/admin/admin-wizard.php:541 inc/admin/admin.php:1889
2882
- #: inc/admin/admin.php:4709
2883
- msgid "Pinterest URL"
2884
  msgstr ""
2885
 
2886
- #: inc/admin/admin-wizard.php:542 inc/admin/admin.php:4709
2887
- msgid "eg: https://pinterest.com/my-page-url/"
2888
  msgstr ""
2889
 
2890
- #. ID
2891
- #: inc/admin/admin-wizard.php:544 inc/admin/admin.php:1897
2892
- #: inc/admin/admin.php:4721
2893
- msgid "Instagram URL"
2894
  msgstr ""
2895
 
2896
- #: inc/admin/admin-wizard.php:545 inc/admin/admin.php:4721
2897
- msgid "eg: https://www.instagram.com/my-page-url/"
2898
  msgstr ""
2899
 
2900
- #. ID
2901
- #: inc/admin/admin-wizard.php:547 inc/admin/admin.php:1905
2902
- #: inc/admin/admin.php:4733
2903
- msgid "YouTube URL"
2904
  msgstr ""
2905
 
2906
- #: inc/admin/admin-wizard.php:548 inc/admin/admin.php:4733
2907
- msgid "eg: https://www.youtube.com/my-channel-url"
2908
  msgstr ""
2909
 
2910
- #. ID
2911
- #: inc/admin/admin-wizard.php:550 inc/admin/admin.php:1913
2912
- #: inc/admin/admin.php:4745
2913
- msgid "LinkedIn URL"
2914
  msgstr ""
2915
 
2916
- #: inc/admin/admin-wizard.php:551 inc/admin/admin.php:4745
2917
- msgid "eg: http://linkedin.com/company/my-company-url/"
2918
  msgstr ""
2919
 
2920
- #. ID
2921
- #: inc/admin/admin-wizard.php:553 inc/admin/admin.php:1921
2922
- #: inc/admin/admin.php:4757
2923
- msgid "MySpace URL"
2924
  msgstr ""
2925
 
2926
- #: inc/admin/admin-wizard.php:554 inc/admin/admin.php:4757
2927
- msgid "eg: https://myspace.com/my-page-url"
2928
  msgstr ""
2929
 
2930
- #. ID
2931
- #: inc/admin/admin-wizard.php:556 inc/admin/admin.php:1929
2932
- #: inc/admin/admin.php:4769
2933
- msgid "Soundcloud URL"
2934
  msgstr ""
2935
 
2936
- #: inc/admin/admin-wizard.php:557 inc/admin/admin.php:4769
2937
- msgid "eg: https://soundcloud.com/my-page-url"
2938
  msgstr ""
2939
 
2940
- #. ID
2941
- #: inc/admin/admin-wizard.php:559 inc/admin/admin.php:1937
2942
- #: inc/admin/admin.php:4781
2943
- msgid "Tumblr URL"
2944
  msgstr ""
2945
 
2946
- #: inc/admin/admin-wizard.php:560 inc/admin/admin.php:4781
2947
- msgid "eg: https://your-site.tumblr.com"
2948
  msgstr ""
2949
 
2950
- #: inc/admin/admin-wizard.php:563 inc/admin/admin-wizard.php:706
2951
- #: inc/admin/admin-wizard.php:813
2952
- msgid "Continue"
2953
  msgstr ""
2954
 
2955
- #: inc/admin/admin-wizard.php:615
2956
- msgid "Specify to the search engines what you want to be indexed or not."
2957
  msgstr ""
2958
 
2959
- #: inc/admin/admin-wizard.php:616
2960
- msgid "Avoid indexing duplicate or poor quality content."
2961
  msgstr ""
2962
 
2963
- #: inc/admin/admin-wizard.php:617
2964
- msgid "Default: index"
2965
  msgstr ""
2966
 
2967
- #: inc/admin/admin-wizard.php:622
2968
- msgid "For which single post types, should indexing be disabled?"
2969
  msgstr ""
2970
 
2971
- #: inc/admin/admin-wizard.php:639
2972
- msgid ""
2973
- "Do not display this single post type in search engine "
2974
- "results <strong>(noindex)</strong>"
2975
  msgstr ""
2976
 
2977
- #: inc/admin/admin-wizard.php:650
2978
- msgid "For which post type archives, should indexing be disabled?"
2979
  msgstr ""
2980
 
2981
- #: inc/admin/admin-wizard.php:668
2982
- msgid ""
2983
- "Do not display this post type archive in search engine "
2984
- "results <strong>(noindex)</strong>"
2985
  msgstr ""
2986
 
2987
- #: inc/admin/admin-wizard.php:680
2988
- msgid "For which taxonomy archives, should indexing be disabled?"
2989
  msgstr ""
2990
 
2991
- #: inc/admin/admin-wizard.php:697
2992
- msgid ""
2993
- "Do not display this taxonomy archive in search engine "
2994
- "results <strong>(noindex)</strong>"
2995
  msgstr ""
2996
 
2997
- #: inc/admin/admin-wizard.php:780 inc/admin/admin.php:3880
2998
- msgid ""
2999
- "Do not display author archives in search engine results <strong>(noindex)</"
3000
- "strong>"
3001
  msgstr ""
3002
 
3003
- #: inc/admin/admin-wizard.php:783
3004
  msgid ""
3005
- "You only have one author on your site? Check this option to avoid duplicate "
3006
- "content."
3007
  msgstr ""
3008
 
3009
- #: inc/admin/admin-wizard.php:792 inc/admin/admin.php:5969
3010
- msgid ""
3011
- "Redirect attachment pages to their file URL (https://www.example.com/my-"
3012
- "image-file.jpg)"
3013
  msgstr ""
3014
 
3015
- #: inc/admin/admin-wizard.php:795
3016
- msgid ""
3017
- "By default, SEOPress redirects your Attachment pages to the parent post. "
3018
- "Optimize this by redirecting the user directly to the URL of the media file."
3019
  msgstr ""
3020
 
3021
- #: inc/admin/admin-wizard.php:804 inc/admin/admin.php:6113
3022
- msgid "Remove /category/ in your permalinks"
3023
  msgstr ""
3024
 
3025
- #: inc/admin/admin-wizard.php:807
3026
- msgid "Shorten your URLs by removing /category/ and improve your SEO."
3027
  msgstr ""
3028
 
3029
- #: inc/admin/admin-wizard.php:857
3030
- msgid "Your site is now ready for search engines!"
3031
  msgstr ""
3032
 
3033
- #: inc/admin/admin-wizard.php:863 inc/functions/options-advanced-admin.php:19
3034
- msgid "Welcome to SEOPress PRO!"
3035
  msgstr ""
3036
 
3037
- #: inc/admin/admin-wizard.php:866 inc/functions/options-advanced-admin.php:20
3038
  msgid ""
3039
- "Please activate your license to receive automatic updates and get premium "
3040
- "support."
3041
  msgstr ""
3042
 
3043
- #: inc/admin/admin-wizard.php:871 inc/functions/options-advanced-admin.php:21
3044
- msgid "Activate License"
3045
  msgstr ""
3046
 
3047
- #: inc/admin/admin-wizard.php:878
3048
- msgid "Go PRO with SEOPress PRO!"
3049
  msgstr ""
3050
 
3051
- #: inc/admin/admin-wizard.php:881
3052
  msgid ""
3053
- "When you upgrade to the PRO version, you get a lot of additional features, "
3054
- "like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, "
3055
- "Analytics statistics in your Dashboard, breadcrumbs, redirections, and more."
3056
  msgstr ""
3057
 
3058
- #: inc/admin/admin-wizard.php:886
3059
- msgid "Buy SEOPress PRO - $39 / unlimited sites"
3060
  msgstr ""
3061
 
3062
- #: inc/admin/admin-wizard.php:896
3063
- msgid "Create your XML sitemaps"
 
 
3064
  msgstr ""
3065
 
3066
- #: inc/admin/admin-wizard.php:897
3067
- msgid "Build custom XML sitemaps to improve Google's crawling of your site."
3068
  msgstr ""
3069
 
3070
- #: inc/admin/admin-wizard.php:902
3071
- msgid "Configure your XML sitemaps"
3072
  msgstr ""
3073
 
3074
- #: inc/admin/admin-wizard.php:910
3075
- msgid "You can also:"
 
 
 
3076
  msgstr ""
3077
 
3078
- #: inc/admin/admin-wizard.php:915
3079
- msgid "Visit Dashboard"
3080
  msgstr ""
3081
 
3082
- #: inc/admin/admin-wizard.php:918
3083
- msgid "Review Settings"
3084
  msgstr ""
3085
 
3086
- #: inc/admin/admin-wizard.php:921
3087
- msgid "Knowledge base"
3088
  msgstr ""
3089
 
3090
- #. 404
3091
- #: inc/admin/admin.php:129
3092
- msgid "404 - Page not found"
 
3093
  msgstr ""
3094
 
3095
- #: inc/admin/admin.php:236
3096
- msgid "Dashboard"
3097
  msgstr ""
3098
 
3099
- #: inc/admin/admin.php:249
3100
- msgid "Separator (eg: - )"
3101
  msgstr ""
3102
 
3103
- #: inc/admin/admin.php:252
3104
- msgid "Post Title (post, page, custom post type)"
 
 
3105
  msgstr ""
3106
 
3107
- #: inc/admin/admin.php:254
3108
- msgid "Post content / product long description"
3109
  msgstr ""
3110
 
3111
- #: inc/admin/admin.php:256
3112
- msgid "Post URL (permalink)"
 
3113
  msgstr ""
3114
 
3115
- #: inc/admin/admin.php:258
3116
- msgid "Last modified post date"
 
3117
  msgstr ""
3118
 
3119
- #: inc/admin/admin.php:270
3120
- msgid "Current page number with context (i.e. page 1 of 3)"
 
3121
  msgstr ""
3122
 
3123
- #: inc/admin/admin.php:273
3124
- msgid "Date Archive"
 
3125
  msgstr ""
3126
 
3127
- #. translators: do not translate: your_custom_field_name
3128
- #: inc/admin/admin.php:279
3129
- msgid ""
3130
- "Custom fields from post, page or post type (replace <span style=\"color:red;"
3131
- "margin:0\">your_custom_field_name</span> with your custom field name)"
3132
  msgstr ""
3133
 
3134
- #. translators: do not translate: your_custom_taxonomy_slug
3135
- #: inc/admin/admin.php:281
3136
- msgid ""
3137
- "Custom term taxonomy from post, page or post type (replace <span style="
3138
- "\"color:red;margin:0\">your_custom_taxonomy_slug</span> with your custom "
3139
- "taxonomy slug)"
3140
  msgstr ""
3141
 
3142
- #: inc/admin/admin.php:290
3143
- msgid "Current month in 3 letters, eg: \"Jan\" for \"January\""
 
3144
  msgstr ""
3145
 
3146
- #: inc/admin/admin.php:294
3147
- msgid "Author biography (description), meta desc only"
 
3148
  msgstr ""
3149
 
3150
- #: inc/admin/admin.php:301
3151
- msgid "Templates variables"
 
3152
  msgstr ""
3153
 
3154
- #: inc/admin/admin.php:308 inc/admin/admin.php:316
3155
- msgid "Browse our guides"
 
3156
  msgstr ""
3157
 
3158
- #: inc/admin/admin.php:309 inc/admin/admin.php:317
3159
- msgid "Read our FAQ"
 
3160
  msgstr ""
3161
 
3162
- #: inc/admin/admin.php:310 inc/admin/admin.php:318
3163
- msgid "Check our website"
 
3164
  msgstr ""
3165
 
3166
- #: inc/admin/admin.php:329
3167
- msgid ""
3168
- "Watch our video to learn how to connect your WordPress site with Google "
3169
- "Analytics and get statistics right in your dashboard (PRO only)."
3170
  msgstr ""
3171
 
3172
- #: inc/admin/admin.php:334
3173
- msgid "How-to"
 
3174
  msgstr ""
3175
 
3176
- #: inc/admin/admin.php:365 inc/admin/admin.php:437 inc/admin/admin.php:504
3177
- #: inc/admin/admin.php:574 inc/admin/admin.php:665
3178
- msgid "Your settings has been saved."
3179
  msgstr ""
3180
 
3181
- #: inc/admin/admin.php:385 inc/admin/admin.php:389 inc/admin/admin.php:455
3182
- #: inc/admin/admin.php:459 inc/admin/admin.php:524 inc/admin/admin.php:528
3183
- #: inc/admin/admin.php:595 inc/admin/admin.php:599 inc/admin/admin.php:685
3184
- #: inc/admin/admin.php:689
3185
- msgid "Click to disable this feature"
3186
- msgstr ""
3187
-
3188
- #: inc/admin/admin.php:386 inc/admin/admin.php:388 inc/admin/admin.php:456
3189
- #: inc/admin/admin.php:458 inc/admin/admin.php:525 inc/admin/admin.php:527
3190
- #: inc/admin/admin.php:596 inc/admin/admin.php:598 inc/admin/admin.php:686
3191
- #: inc/admin/admin.php:688
3192
- msgid "Click to enable this feature"
3193
  msgstr ""
3194
 
3195
- #: inc/admin/admin.php:403
3196
- msgid "Home"
 
3197
  msgstr ""
3198
 
3199
- #: inc/admin/admin.php:404
3200
- msgid "Single Post Types"
 
3201
  msgstr ""
3202
 
3203
- #: inc/admin/admin.php:405
3204
- msgid "Archives"
 
3205
  msgstr ""
3206
 
3207
- #: inc/admin/admin.php:406 inc/admin/admin.php:475
3208
- msgid "Taxonomies"
 
3209
  msgstr ""
3210
 
3211
- #: inc/admin/admin.php:473 inc/admin/admin.php:614 inc/admin/admin.php:625
3212
- msgid "General"
 
3213
  msgstr ""
3214
 
3215
- #: inc/admin/admin.php:474
3216
- msgid "Post Types"
 
3217
  msgstr ""
3218
 
3219
- #: inc/admin/admin.php:476
3220
- msgid "HTML Sitemap"
 
3221
  msgstr ""
3222
 
3223
- #: inc/admin/admin.php:542
3224
- msgid "Knowledge Graph"
 
3225
  msgstr ""
3226
 
3227
- #: inc/admin/admin.php:543
3228
- msgid "Your social accounts"
 
3229
  msgstr ""
3230
 
3231
- #: inc/admin/admin.php:544
3232
- msgid "Facebook (Open Graph)"
 
3233
  msgstr ""
3234
 
3235
- #: inc/admin/admin.php:545
3236
- msgid "Twitter (Twitter card)"
 
3237
  msgstr ""
3238
 
3239
- #: inc/admin/admin.php:615 inc/admin/admin.php:626
3240
- msgid "Tracking"
 
3241
  msgstr ""
3242
 
3243
- #: inc/admin/admin.php:616
3244
- msgid "Ecommerce"
 
3245
  msgstr ""
3246
 
3247
- #: inc/admin/admin.php:617 inc/admin/admin.php:627
3248
- msgid "Events"
 
3249
  msgstr ""
3250
 
3251
- #: inc/admin/admin.php:618 inc/admin/admin.php:628
3252
- msgid "Custom Dimensions"
 
3253
  msgstr ""
3254
 
3255
- #: inc/admin/admin.php:619
3256
- msgid "Stats in Dashboard"
 
3257
  msgstr ""
3258
 
3259
- #: inc/admin/admin.php:620 inc/admin/admin.php:629
3260
- msgid "Cookie bar / GDPR"
 
3261
  msgstr ""
3262
 
3263
- #: inc/admin/admin.php:621 inc/admin/admin.php:630
3264
- msgid "Matomo"
 
3265
  msgstr ""
3266
 
3267
- #: inc/admin/admin.php:704
3268
- msgid "Appearance"
 
3269
  msgstr ""
3270
 
3271
- #: inc/admin/admin.php:705
3272
- msgid "Security"
 
3273
  msgstr ""
3274
 
3275
- #: inc/admin/admin.php:739
3276
- msgid "Data"
 
3277
  msgstr ""
3278
 
3279
- #: inc/admin/admin.php:740 seopress.php:458
3280
- msgid "Settings"
 
3281
  msgstr ""
3282
 
3283
- #: inc/admin/admin.php:741
3284
- msgid "Plugins"
 
3285
  msgstr ""
3286
 
3287
- #: inc/admin/admin.php:743
3288
- msgid "Reset"
 
3289
  msgstr ""
3290
 
3291
- #: inc/admin/admin.php:761
3292
- msgid "Import data from a CSV"
 
3293
  msgstr ""
3294
 
3295
- #: inc/admin/admin.php:762
3296
- msgid ""
3297
- "Upload a CSV file to quickly import post (post, page, single post type) and "
3298
- "term metadata:"
3299
  msgstr ""
3300
 
3301
- #: inc/admin/admin.php:771 inc/admin/admin.php:804
3302
- msgid "Meta robots (noindex, nofollow...)"
 
3303
  msgstr ""
3304
 
3305
- #: inc/admin/admin.php:774 inc/admin/admin.php:807
3306
- msgid "Facebook Open Graph tags (title, description, image)"
 
3307
  msgstr ""
3308
 
3309
- #: inc/admin/admin.php:777 inc/admin/admin.php:810
3310
- msgid "Twitter cards tags (title, description, image)"
 
3311
  msgstr ""
3312
 
3313
- #: inc/admin/admin.php:780 inc/admin/admin.php:813
3314
- msgid "Redirection (enable, type, URL)"
 
3315
  msgstr ""
3316
 
3317
- #: inc/admin/admin.php:789
3318
- msgid "Run the importer"
 
3319
  msgstr ""
3320
 
3321
- #: inc/admin/admin.php:794
3322
- msgid "Export metadata to a CSV"
 
3323
  msgstr ""
3324
 
3325
- #: inc/admin/admin.php:795
3326
- msgid ""
3327
- "Export your post (post, page, single post type) and term metadata for this "
3328
- "site as a .csv file."
3329
  msgstr ""
3330
 
3331
- #: inc/admin/admin.php:826 inc/admin/admin.php:844 inc/admin/admin.php:1180
3332
- #: inc/admin/admin.php:1196
3333
- msgid "Export"
3334
  msgstr ""
3335
 
3336
- #: inc/admin/admin.php:838
3337
- msgid "Export plugin settings"
 
3338
  msgstr ""
3339
 
3340
- #: inc/admin/admin.php:839
3341
- msgid ""
3342
- "Export the plugin settings for this site as a .json file. This allows you to "
3343
- "easily import the configuration into another site."
3344
  msgstr ""
3345
 
3346
- #: inc/admin/admin.php:852
3347
- msgid "Import plugin settings"
 
3348
  msgstr ""
3349
 
3350
- #: inc/admin/admin.php:853
3351
- msgid ""
3352
- "Import the plugin settings from a .json file. This file can be obtained by "
3353
- "exporting the settings on another site using the form above."
3354
  msgstr ""
3355
 
3356
- #: inc/admin/admin.php:861 inc/admin/admin.php:1119 inc/admin/admin.php:1135
3357
- #: inc/admin/admin.php:1151 inc/admin/admin.php:1167
3358
- msgid "Import"
3359
  msgstr ""
3360
 
3361
- #: inc/admin/admin.php:863
3362
- msgid "Import completed!"
 
3363
  msgstr ""
3364
 
3365
- #: inc/admin/admin.php:983
3366
- msgid ""
3367
- "<strong>WARNING:</strong> Migration will update/delete all SEOPress posts "
3368
- "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
3369
- "any Squirrly SEO data."
3370
  msgstr ""
3371
 
3372
- #: inc/admin/admin.php:1073
3373
- msgid "Import your redirections"
 
3374
  msgstr ""
3375
 
3376
- #: inc/admin/admin.php:1076
3377
- msgid "CSV file (must match the template)"
 
3378
  msgstr ""
3379
 
3380
- #: inc/admin/admin.php:1077
3381
- msgid "Redirections plugin (JSON - WordPress Redirects)"
 
3382
  msgstr ""
3383
 
3384
- #: inc/admin/admin.php:1078
3385
- msgid "Yoast Premium plugin (CSV)"
 
3386
  msgstr ""
3387
 
3388
- #: inc/admin/admin.php:1079
3389
- msgid "Rank Math plugin (TXT)"
 
3390
  msgstr ""
3391
 
3392
- #: inc/admin/admin.php:1085
3393
- msgid "Import Redirections"
 
3394
  msgstr ""
3395
 
3396
- #: inc/admin/admin.php:1086
3397
- msgid ""
3398
- "Import your own redirections from a .csv file (separator \";\"). You must "
3399
- "have these columns in this order:"
3400
  msgstr ""
3401
 
3402
- #: inc/admin/admin.php:1088
3403
- msgid "URL to match (without your domain name)"
 
3404
  msgstr ""
3405
 
3406
- #: inc/admin/admin.php:1089
3407
- msgid "URL to redirect in absolute,"
 
3408
  msgstr ""
3409
 
3410
- #: inc/admin/admin.php:1090
3411
- msgid "type of redirection (301, 302 or 307, 410, 451),"
 
 
3412
  msgstr ""
3413
 
3414
- #: inc/admin/admin.php:1091
3415
- msgid "Yes to enable the redirect (leave it empty to disable the redirect)"
 
3416
  msgstr ""
3417
 
3418
- #: inc/admin/admin.php:1092
3419
- msgid ""
3420
- "the query parameter without the quotes (\"exact_match\" = Exact match with "
3421
- "all parameters, \"without_param\" = Exclude all parameters or "
3422
- "\"with_ignored_param\" = Exclude all parameters and pass them to the "
3423
- "redirection),"
3424
  msgstr ""
3425
 
3426
- #: inc/admin/admin.php:1093
3427
- msgid "the counter (optional),"
 
3428
  msgstr ""
3429
 
3430
- #: inc/admin/admin.php:1094
3431
- msgid ""
3432
- "and, the last parameter, category redirect IDs separated by commas "
3433
- "(optional)."
3434
  msgstr ""
3435
 
3436
- #: inc/admin/admin.php:1099
3437
- msgid "Download a CSV example"
 
3438
  msgstr ""
3439
 
3440
- #: inc/admin/admin.php:1102
3441
- msgid "Duplicate entries will be automatically removed during import."
 
3442
  msgstr ""
3443
 
3444
- #: inc/admin/admin.php:1103
3445
- msgid "Select your separator:"
 
3446
  msgstr ""
3447
 
3448
- #: inc/admin/admin.php:1107
3449
- msgid "Comma separator: \"<strong>,</strong>\""
 
3450
  msgstr ""
3451
 
3452
- #: inc/admin/admin.php:1111
3453
- msgid "Semicolon separator: \"<strong>;</strong>\""
 
3454
  msgstr ""
3455
 
3456
- #: inc/admin/admin.php:1126
3457
- msgid "Import Redirections from the Redirections plugin"
 
3458
  msgstr ""
3459
 
3460
- #: inc/admin/admin.php:1127
3461
- msgid ""
3462
- "Import your own redirections from a .json file generated by the Redirections "
3463
- "plugin (make sure to select <strong>\"WordPress redirects\"</strong> when "
3464
- "you export your file). Note that we do not support certain options, like "
3465
- "regex. To avoid conflicts, make sure there are no duplicates between your "
3466
- "file and existing redirects."
3467
  msgstr ""
3468
 
3469
- #: inc/admin/admin.php:1142
3470
- msgid "Import Redirections from Yoast Premium"
 
3471
  msgstr ""
3472
 
3473
- #: inc/admin/admin.php:1143
3474
- msgid ""
3475
- "Import your own redirections from a .csv file generated by Yoast Premium. "
3476
- "Note that we don't support certain options, like regex. To avoid conflicts, "
3477
- "make sure there are no duplicates between your file and existing redirects."
3478
  msgstr ""
3479
 
3480
- #: inc/admin/admin.php:1158
3481
- msgid "Import Redirections from Rank Math"
 
3482
  msgstr ""
3483
 
3484
- #: inc/admin/admin.php:1159
3485
- msgid ""
3486
- "Import your own redirections from a .txt file generated by Rank Math. Note "
3487
- "that we don't support certain options, like regex. To avoid conflicts, make "
3488
- "sure there are no duplicates between your file and existing redirects."
3489
  msgstr ""
3490
 
3491
- #: inc/admin/admin.php:1174
3492
- msgid "Export Redirections"
 
3493
  msgstr ""
3494
 
3495
- #: inc/admin/admin.php:1175
3496
- msgid ""
3497
- "Export all redirections for this site as a .csv file. This allows you to "
3498
- "easily import the redirections into another site, to Excel / Google Sheets..."
3499
  msgstr ""
3500
 
3501
- #: inc/admin/admin.php:1187
3502
- msgid "Export Redirections for an .htaccess file"
 
3503
  msgstr ""
3504
 
3505
- #: inc/admin/admin.php:1188
3506
- msgid ""
3507
- "Export all redirects from this site to a txt file. Then copy and paste the "
3508
- "formatted URLs into your .htaccess file."
3509
  msgstr ""
3510
 
3511
- #: inc/admin/admin.php:1189
3512
- msgid "Only active redirections will be exported."
 
3513
  msgstr ""
3514
 
3515
- #: inc/admin/admin.php:1190
3516
- msgid ""
3517
- "Save your .htaccess file before editing it. <strong>Safety first!</strong>"
3518
  msgstr ""
3519
 
3520
- #: inc/admin/admin.php:1191
3521
- msgid "Do not forget to test every redirects!"
 
3522
  msgstr ""
3523
 
3524
- #: inc/admin/admin.php:1203
3525
- msgid "Clean your 404"
 
3526
  msgstr ""
3527
 
3528
- #: inc/admin/admin.php:1204
3529
- msgid "Delete all your 404 errors. We don‘t delete any redirects."
 
3530
  msgstr ""
3531
 
3532
- #. translators: %s link to documentation
3533
- #: inc/admin/admin.php:1212
3534
- #, php-format
3535
- msgid ""
3536
- "You can also use <span class=\"dashicons dashicons-external\"></span><a href="
3537
- "\"%s\" target=\"_blank\">this MySQL query</a> if necessary."
3538
  msgstr ""
3539
 
3540
- #: inc/admin/admin.php:1217
3541
- msgid "Delete all 404"
 
3542
  msgstr ""
3543
 
3544
- #: inc/admin/admin.php:1224
3545
- msgid "Clean all your redirects and 404 errors"
 
3546
  msgstr ""
3547
 
3548
- #: inc/admin/admin.php:1225
3549
- msgid "Delete all your 301, 302, 307, 404, 410 and 451 entries."
 
3550
  msgstr ""
3551
 
3552
- #: inc/admin/admin.php:1226
3553
- msgid ""
3554
- "<strong>WARNING:</strong> Backup your database before deletion. Safety FIRST!"
3555
  msgstr ""
3556
 
3557
- #: inc/admin/admin.php:1231
3558
- msgid "Delete"
 
3559
  msgstr ""
3560
 
3561
- #: inc/admin/admin.php:1237
3562
- msgid "Redirections feature is disabled. Please activate it from the PRO page."
 
3563
  msgstr ""
3564
 
3565
- #: inc/admin/admin.php:1238
3566
- msgid "Activate Redirections"
 
3567
  msgstr ""
3568
 
3569
- #: inc/admin/admin.php:1245
3570
- msgid "Reset All Notices From Notifications Center"
 
3571
  msgstr ""
3572
 
3573
- #: inc/admin/admin.php:1246
3574
- msgid ""
3575
- "By clicking Reset Notices, all notices in the notifications center will be "
3576
- "set to their initial status."
3577
  msgstr ""
3578
 
3579
- #: inc/admin/admin.php:1251
3580
- msgid "Reset notices"
 
3581
  msgstr ""
3582
 
3583
- #: inc/admin/admin.php:1259
3584
- msgid "Reset All Settings"
 
3585
  msgstr ""
3586
 
3587
- #: inc/admin/admin.php:1260
3588
- msgid ""
3589
- "<strong>WARNING:</strong> Delete all options related to this plugin in your "
3590
- "database AND set settings to their default values."
3591
  msgstr ""
3592
 
3593
- #: inc/admin/admin.php:1265
3594
- msgid "Reset settings"
 
3595
  msgstr ""
3596
 
3597
  #. ID
3598
- #: inc/admin/admin.php:1604 inc/admin/admin.php:4071
3599
- msgid "noindex"
3600
  msgstr ""
3601
 
3602
  #. ID
3603
- #: inc/admin/admin.php:1612 inc/admin/admin.php:4093
3604
- msgid "nofollow"
3605
  msgstr ""
3606
 
3607
  #. ID
3608
- #: inc/admin/admin.php:1620 inc/admin/admin.php:4112
3609
- msgid "noodp"
3610
  msgstr ""
3611
 
3612
  #. ID
3613
- #: inc/admin/admin.php:1628 inc/admin/admin.php:4131
3614
- msgid "noimageindex"
3615
  msgstr ""
3616
 
3617
  #. ID
3618
- #: inc/admin/admin.php:1636 inc/admin/admin.php:4150
3619
- msgid "noarchive"
3620
  msgstr ""
3621
 
3622
  #. ID
3623
- #: inc/admin/admin.php:1644 inc/admin/admin.php:4169
3624
- msgid "nosnippet"
3625
  msgstr ""
3626
 
3627
  #. ID
3628
- #: inc/admin/admin.php:1652 inc/admin/admin.php:4188
3629
- msgid "nositelinkssearchbox"
3630
  msgstr ""
3631
 
3632
  #. ID
3633
- #: inc/admin/admin.php:1660
3634
- msgid "Indicate paginated content to Google"
3635
  msgstr ""
3636
 
3637
  #. ID
3638
- #: inc/admin/admin.php:1668
3639
- msgid "noindex on paged archives"
3640
  msgstr ""
3641
 
3642
  #. ID
3643
- #: inc/admin/admin.php:1685 inc/admin/admin.php:4243
3644
- msgid "Enable XML Sitemap"
3645
  msgstr ""
3646
 
3647
  #. ID
3648
- #: inc/admin/admin.php:1693
3649
- msgid "Enable XML Image Sitemaps"
3650
  msgstr ""
3651
 
3652
  #. ID
3653
- #: inc/admin/admin.php:1702
3654
- msgid "Enable XML Video Sitemaps"
3655
  msgstr ""
3656
 
3657
  #. ID
3658
- #: inc/admin/admin.php:1711 inc/admin/admin.php:4324
3659
- msgid "Enable Author Sitemap"
3660
  msgstr ""
3661
 
3662
  #. ID
3663
- #: inc/admin/admin.php:1719 inc/admin/admin.php:4343
3664
- msgid "Enable HTML Sitemap"
3665
  msgstr ""
3666
 
3667
  #. ID
3668
- #: inc/admin/admin.php:1735
3669
- msgid "Check to INCLUDE Post Types"
3670
  msgstr ""
3671
 
3672
  #. ID
3673
- #: inc/admin/admin.php:1751
3674
- msgid "Check to INCLUDE Taxonomies"
3675
  msgstr ""
3676
 
3677
  #. ID
3678
- #: inc/admin/admin.php:1767 inc/admin/admin.php:4450
3679
- msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
3680
  msgstr ""
3681
 
3682
  #. ID
3683
- #: inc/admin/admin.php:1775 inc/admin/admin.php:4464
3684
- msgid "Exclude some Posts, Pages, Custom Post Types or Terms IDs"
3685
  msgstr ""
3686
 
3687
  #. ID
3688
- #: inc/admin/admin.php:1783
3689
- msgid "Sort order"
3690
  msgstr ""
3691
 
3692
  #. ID
3693
- #: inc/admin/admin.php:1791
3694
- msgid "Order posts by"
3695
  msgstr ""
3696
 
3697
  #. ID
3698
- #: inc/admin/admin.php:1799
3699
- msgid "Disable the display of the publication date"
3700
  msgstr ""
3701
 
3702
  #. ID
3703
- #: inc/admin/admin.php:1840 inc/admin/admin.php:4606
3704
- msgid "Organization's phone number (only for Organizations)"
3705
  msgstr ""
3706
 
3707
  #. ID
3708
- #: inc/admin/admin.php:1848
3709
- msgid "Contact type (only for Organizations)"
3710
  msgstr ""
3711
 
3712
  #. ID
3713
- #: inc/admin/admin.php:1856
3714
- msgid "Contact option (only for Organizations)"
3715
  msgstr ""
3716
 
3717
  #. ID
3718
- #: inc/admin/admin.php:1873 inc/admin/admin.php:4684
3719
- msgid "Facebook Page URL"
3720
  msgstr ""
3721
 
3722
  #. ID
3723
- #: inc/admin/admin.php:1954
3724
- msgid "Enable Open Graph Data"
3725
  msgstr ""
3726
 
3727
  #. ID
3728
- #: inc/admin/admin.php:1962 inc/admin/admin.php:4811 inc/admin/admin.php:4860
3729
- msgid "Select a default image"
3730
  msgstr ""
3731
 
3732
  #. ID
3733
- #: inc/admin/admin.php:1970
3734
- msgid "Apply this image to all your og:image tag"
3735
  msgstr ""
3736
 
3737
  #. ID
3738
- #: inc/admin/admin.php:1978
3739
- msgid "Define custom og:image tag for post type archive pages"
3740
  msgstr ""
3741
 
3742
  #. ID
3743
- #: inc/admin/admin.php:1986
3744
- msgid "Facebook Link Ownership ID"
3745
  msgstr ""
3746
 
3747
- #. ID
3748
- #: inc/admin/admin.php:1994
3749
- msgid "Facebook Admin ID"
3750
  msgstr ""
3751
 
3752
- #. ID
3753
- #: inc/admin/admin.php:2002
3754
- msgid "Facebook App ID"
3755
  msgstr ""
3756
 
3757
- #. ID
3758
- #: inc/admin/admin.php:2019
3759
- msgid "Enable Twitter Card"
3760
  msgstr ""
3761
 
3762
- #. ID
3763
- #: inc/admin/admin.php:2027
3764
- msgid "Use Open Graph if no Twitter Card is filled"
3765
  msgstr ""
3766
 
3767
- #. ID
3768
- #: inc/admin/admin.php:2035 inc/admin/admin.php:4957
3769
- msgid "Default Twitter Image"
3770
  msgstr ""
3771
 
3772
- #. ID
3773
- #: inc/admin/admin.php:2043
3774
- msgid "Image size for Twitter Summary card"
3775
  msgstr ""
3776
 
3777
- #. ID
3778
- #: inc/admin/admin.php:2060
3779
- msgid "Enable Google Analytics tracking"
 
3780
  msgstr ""
3781
 
3782
- #. ID
3783
- #: inc/admin/admin.php:2068 inc/admin/admin.php:2484 inc/admin/admin.php:5010
3784
- msgid "Enter your tracking ID"
 
 
3785
  msgstr ""
3786
 
3787
- #. ID
3788
- #: inc/admin/admin.php:2076
3789
- msgid "Enter your measurement ID (GA4)"
3790
  msgstr ""
3791
 
3792
- #. ID
3793
- #: inc/admin/admin.php:2084
3794
- msgid "Exclude user roles from tracking (Google Analytics and Matomo)"
 
3795
  msgstr ""
3796
 
3797
- #. ID
3798
- #: inc/admin/admin.php:2101
3799
- msgid "Analytics tracking opt-in"
3800
  msgstr ""
3801
 
3802
- #. ID
3803
- #: inc/admin/admin.php:2117
3804
- msgid "Consent message for user tracking"
3805
  msgstr ""
3806
 
3807
- #. ID
3808
- #: inc/admin/admin.php:2125
3809
- msgid "Accept button for user tracking"
3810
  msgstr ""
3811
 
3812
- #. ID
3813
- #: inc/admin/admin.php:2133
3814
- msgid "Close button"
3815
  msgstr ""
3816
 
3817
- #. ID
3818
- #: inc/admin/admin.php:2141
3819
- msgid "User consent cookie expiration date"
3820
  msgstr ""
3821
 
3822
- #. ID
3823
- #: inc/admin/admin.php:2149
3824
- msgid "Cookie bar position"
3825
  msgstr ""
3826
 
3827
- #. ID
3828
- #: inc/admin/admin.php:2157
3829
- msgid "Text alignment"
3830
  msgstr ""
3831
 
3832
- #. ID
3833
- #: inc/admin/admin.php:2165
3834
- msgid "Cookie bar width"
 
3835
  msgstr ""
3836
 
3837
- #. ID
3838
- #: inc/admin/admin.php:2173
3839
- msgid "Enable backdrop"
3840
  msgstr ""
3841
 
3842
- #. ID
3843
- #: inc/admin/admin.php:2181
3844
- msgid "Backdrop background color"
3845
  msgstr ""
3846
 
3847
- #. ID
3848
- #: inc/admin/admin.php:2189
3849
- msgid "Cookie bar background color"
3850
  msgstr ""
3851
 
3852
- #. ID
3853
- #: inc/admin/admin.php:2197
3854
- msgid "Cookie bar text color"
3855
  msgstr ""
3856
 
3857
- #. ID
3858
- #: inc/admin/admin.php:2205
3859
- msgid "Cookie bar link color"
3860
  msgstr ""
3861
 
3862
- #. ID
3863
- #: inc/admin/admin.php:2213
3864
- msgid "Cookie bar button background color"
 
 
 
 
 
3865
  msgstr ""
3866
 
3867
- #. ID
3868
- #: inc/admin/admin.php:2221
3869
- msgid "Cookie bar button color"
3870
  msgstr ""
3871
 
3872
- #. ID
3873
- #: inc/admin/admin.php:2229
3874
- msgid "Cookie bar button hover background color"
3875
  msgstr ""
3876
 
3877
- #. ID
3878
- #: inc/admin/admin.php:2237
3879
- msgid "Cookie bar button hover color"
3880
  msgstr ""
3881
 
3882
- #. ID
3883
- #: inc/admin/admin.php:2245
3884
- msgid "Cookie bar secondary button background color"
3885
  msgstr ""
3886
 
3887
- #. ID
3888
- #: inc/admin/admin.php:2253
3889
- msgid "Cookie bar secondary button color"
3890
  msgstr ""
3891
 
3892
- #. ID
3893
- #: inc/admin/admin.php:2261
3894
- msgid "Cookie bar secondary button hover background color"
3895
  msgstr ""
3896
 
3897
- #. ID
3898
- #: inc/admin/admin.php:2269
3899
- msgid "Cookie bar secondary button hover color"
3900
  msgstr ""
3901
 
3902
- #. ID
3903
- #: inc/admin/admin.php:2287
3904
- msgid "Enable Google Optimize"
3905
  msgstr ""
3906
 
3907
- #. ID
3908
- #: inc/admin/admin.php:2295
3909
- msgid "Enable Google Ads"
3910
  msgstr ""
3911
 
3912
- #. ID
3913
- #: inc/admin/admin.php:2303
3914
- msgid "Add an additional tracking code (like Facebook Pixel, Hotjar...)"
3915
  msgstr ""
3916
 
3917
- #. ID
3918
- #: inc/admin/admin.php:2311
3919
- msgid "[BODY] Add an additional tracking code (like Google Tag Manager...)"
 
3920
  msgstr ""
3921
 
3922
- #. ID
3923
- #: inc/admin/admin.php:2319
3924
  msgid ""
3925
- "[BODY (FOOTER)] Add an additional tracking code (like Google Tag Manager...)"
3926
  msgstr ""
3927
 
3928
- #. ID
3929
- #: inc/admin/admin.php:2327 inc/admin/admin.php:5446
3930
- msgid "Enable remarketing, demographics, and interests reporting"
3931
  msgstr ""
3932
 
3933
- #. ID
3934
- #: inc/admin/admin.php:2335 inc/admin/admin.php:5468
3935
- msgid "Enable IP Anonymization"
3936
  msgstr ""
3937
 
3938
- #. ID
3939
- #: inc/admin/admin.php:2343 inc/admin/admin.php:5490
3940
- msgid "Enhanced Link Attribution"
3941
  msgstr ""
3942
 
3943
- #. ID
3944
- #: inc/admin/admin.php:2351 inc/admin/admin.php:5512
3945
- msgid "Enable cross-domain tracking"
 
 
 
 
 
3946
  msgstr ""
3947
 
3948
- #. ID
3949
- #: inc/admin/admin.php:2359 inc/admin/admin.php:5529 inc/admin/admin.php:5859
3950
- msgid "Cross domains"
3951
  msgstr ""
3952
 
3953
- #. ID
3954
- #: inc/admin/admin.php:2377 inc/admin/admin.php:5546
3955
- msgid "Enable external links tracking"
3956
  msgstr ""
3957
 
3958
- #. ID
3959
- #: inc/admin/admin.php:2385
3960
- msgid "Enable downloads tracking (eg: PDF, XLSX, DOCX...)"
3961
  msgstr ""
3962
 
3963
- #. ID
3964
- #: inc/admin/admin.php:2393 inc/admin/admin.php:5575
3965
- msgid "Track downloads' clicks"
 
3966
  msgstr ""
3967
 
3968
- #. ID
3969
- #: inc/admin/admin.php:2401
3970
- msgid "Enable affiliate/outbound links tracking (eg: aff, go, out, recommends)"
3971
  msgstr ""
3972
 
3973
- #. ID
3974
- #: inc/admin/admin.php:2409 inc/admin/admin.php:5606
3975
- msgid "Track affiliate/outbound links"
3976
  msgstr ""
3977
 
3978
- #. ID
3979
- #: inc/admin/admin.php:2427
3980
- msgid "Track Authors"
3981
  msgstr ""
3982
 
3983
- #. ID
3984
- #: inc/admin/admin.php:2435
3985
- msgid "Track Categories"
3986
  msgstr ""
3987
 
3988
- #. ID
3989
- #: inc/admin/admin.php:2443
3990
- msgid "Track Tags"
3991
  msgstr ""
3992
 
3993
- #. ID
3994
- #: inc/admin/admin.php:2451
3995
- msgid "Track Post Types"
3996
  msgstr ""
3997
 
3998
- #. ID
3999
- #: inc/admin/admin.php:2459
4000
- msgid "Track Logged In Users"
 
 
4001
  msgstr ""
4002
 
4003
- #. ID
4004
- #: inc/admin/admin.php:2476
4005
- msgid "Enable Matomo tracking"
4006
  msgstr ""
4007
 
4008
- #. ID
4009
- #: inc/admin/admin.php:2492
4010
- msgid "Enter your site ID"
4011
  msgstr ""
4012
 
4013
- #. ID
4014
- #: inc/admin/admin.php:2500
4015
- msgid "Track visitors across all subdomains"
4016
  msgstr ""
4017
 
4018
- #. ID
4019
- #: inc/admin/admin.php:2508
4020
- msgid "Prepend the site domain"
4021
  msgstr ""
4022
 
4023
- #. ID
4024
- #: inc/admin/admin.php:2516 inc/admin/admin.php:5828
4025
- msgid "Track users with JavaScript disabled"
 
4026
  msgstr ""
4027
 
4028
- #. ID
4029
- #: inc/admin/admin.php:2524 inc/admin/admin.php:5845
4030
- msgid "Enables cross domain linking"
 
4031
  msgstr ""
4032
 
4033
- #. ID
4034
- #: inc/admin/admin.php:2532
4035
- msgid "Cross domain"
 
4036
  msgstr ""
4037
 
4038
- #. ID
4039
- #: inc/admin/admin.php:2539
4040
- msgid "Enable DoNotTrack detection"
4041
  msgstr ""
4042
 
4043
- #. ID
4044
- #: inc/admin/admin.php:2547
4045
- msgid "Disable all tracking cookies"
4046
  msgstr ""
4047
 
4048
- #. ID
4049
- #: inc/admin/admin.php:2555
4050
- msgid "Download & Outlink tracking"
4051
  msgstr ""
4052
 
4053
- #. ID
4054
- #: inc/admin/admin.php:2563
4055
- msgid "Disable all heatmaps and session recordings"
4056
  msgstr ""
4057
 
4058
- #. ID
4059
- #: inc/admin/admin.php:2580
4060
- msgid "Redirect attachment pages to post parent"
 
4061
  msgstr ""
4062
 
4063
- #. ID
4064
- #: inc/admin/admin.php:2588
4065
- msgid "Redirect attachment pages to their file URL"
4066
  msgstr ""
4067
 
4068
- #. ID
4069
- #: inc/admin/admin.php:2596
4070
- msgid "Remove ?replytocom link to avoid duplicate content"
4071
  msgstr ""
4072
 
4073
- #. ID
4074
- #: inc/admin/admin.php:2604
4075
- msgid "Automatically set the image Title"
4076
  msgstr ""
4077
 
4078
- #. ID
4079
- #: inc/admin/admin.php:2612
4080
- msgid "Automatically set the image Alt text"
4081
  msgstr ""
4082
 
4083
- #. ID
4084
- #: inc/admin/admin.php:2620
4085
- msgid "Automatically set the image Alt text from target keywords"
4086
  msgstr ""
4087
 
4088
- #. ID
4089
- #: inc/admin/admin.php:2628
4090
- msgid "Automatically set the image Caption"
4091
  msgstr ""
4092
 
4093
- #. ID
4094
- #: inc/admin/admin.php:2636
4095
- msgid "Automatically set the image Description"
4096
  msgstr ""
4097
 
4098
- #. ID
4099
- #: inc/admin/admin.php:2644
4100
- msgid "Add WP Editor to taxonomy description textarea"
 
4101
  msgstr ""
4102
 
4103
- #. ID
4104
- #: inc/admin/admin.php:2652
4105
- msgid "Remove /category/ in URL"
4106
  msgstr ""
4107
 
4108
- #. ID
4109
- #: inc/admin/admin.php:2660 inc/admin/admin.php:6130
4110
- msgid "Disable trailing slash for metas"
4111
  msgstr ""
4112
 
4113
- #. ID
4114
- #: inc/admin/admin.php:2668
4115
- msgid "Remove WordPress generator meta tag"
4116
  msgstr ""
4117
 
4118
- #. ID
4119
- #: inc/admin/admin.php:2676
4120
- msgid "Remove hentry post class"
 
4121
  msgstr ""
4122
 
4123
- #. ID
4124
- #: inc/admin/admin.php:2684
4125
- msgid "Remove author URL"
4126
  msgstr ""
4127
 
4128
- #. ID
4129
- #: inc/admin/admin.php:2692
4130
- msgid "Remove website field in comment form"
4131
  msgstr ""
4132
 
4133
- #. ID
4134
- #: inc/admin/admin.php:2700
4135
- msgid "Remove WordPress shortlink meta tag"
4136
  msgstr ""
4137
 
4138
- #. ID
4139
- #: inc/admin/admin.php:2708
4140
- msgid "Remove Windows Live Writer meta tag"
4141
  msgstr ""
4142
 
4143
- #. ID
4144
- #: inc/admin/admin.php:2716
4145
- msgid "Remove RSD meta tag"
 
4146
  msgstr ""
4147
 
4148
- #. ID
4149
- #: inc/admin/admin.php:2724 inc/admin/admin.php:6261
4150
- msgid "Google site verification"
4151
  msgstr ""
4152
 
4153
- #. ID
4154
- #: inc/admin/admin.php:2732 inc/admin/admin.php:6275
4155
- msgid "Bing site verification"
4156
  msgstr ""
4157
 
4158
- #. ID
4159
- #: inc/admin/admin.php:2740 inc/admin/admin.php:6288
4160
- msgid "Pinterest site verification"
4161
  msgstr ""
4162
 
4163
- #. ID
4164
- #: inc/admin/admin.php:2748 inc/admin/admin.php:6300
4165
- msgid "Yandex site verification"
 
4166
  msgstr ""
4167
 
4168
- #. ID
4169
- #: inc/admin/admin.php:2765
4170
- msgid "SEO in admin bar"
4171
  msgstr ""
4172
 
4173
- #. ID
4174
- #: inc/admin/admin.php:2773
4175
- msgid "Noindex in admin bar"
 
4176
  msgstr ""
4177
 
4178
- #. ID
4179
- #: inc/admin/admin.php:2781
4180
- msgid "Move SEO metabox's position"
 
 
4181
  msgstr ""
4182
 
4183
- #. ID
4184
- #: inc/admin/admin.php:2789
4185
- msgid "Set default tab for Structured data metabox"
4186
  msgstr ""
4187
 
4188
- #. ID
4189
- #: inc/admin/admin.php:2797
4190
- msgid "Hide Notifications Center"
 
4191
  msgstr ""
4192
 
4193
- #. ID
4194
- #: inc/admin/admin.php:2805
4195
- msgid "Hide SEO tools"
4196
  msgstr ""
4197
 
4198
- #. ID
4199
- #: inc/admin/admin.php:2813
4200
- msgid "Hide Useful Links"
4201
  msgstr ""
4202
 
4203
- #. ID
4204
- #: inc/admin/admin.php:2821
4205
- msgid "Show Title tag column in post types"
4206
  msgstr ""
4207
 
4208
- #. ID
4209
- #: inc/admin/admin.php:2829
4210
- msgid "Show Meta description column in post types"
 
4211
  msgstr ""
4212
 
4213
- #. ID
4214
- #: inc/admin/admin.php:2837
4215
- msgid "Show Redirection Enable column in post types"
4216
  msgstr ""
4217
 
4218
- #. ID
4219
- #: inc/admin/admin.php:2845
4220
- msgid "Show Redirect URL column in post types"
4221
  msgstr ""
4222
 
4223
- #. ID
4224
- #: inc/admin/admin.php:2853
4225
- msgid "Show canonical URL column in post types"
4226
  msgstr ""
4227
 
4228
- #. ID
4229
- #: inc/admin/admin.php:2861
4230
- msgid "Show Target Keyword column in post types"
4231
  msgstr ""
4232
 
4233
- #. ID
4234
- #: inc/admin/admin.php:2869
4235
- msgid "Show noindex column in post types"
 
4236
  msgstr ""
4237
 
4238
- #. ID
4239
- #: inc/admin/admin.php:2877
4240
- msgid "Show nofollow column in post types"
4241
  msgstr ""
4242
 
4243
- #. ID
4244
- #: inc/admin/admin.php:2885
4245
- msgid "Show total number of words column in post types"
4246
  msgstr ""
4247
 
4248
- #. ID
4249
- #: inc/admin/admin.php:2893
4250
- msgid "Show W3C validator column in post types"
4251
  msgstr ""
4252
 
4253
- #. ID
4254
- #: inc/admin/admin.php:2901
4255
- msgid "Show Google Page Speed column in post types"
 
 
4256
  msgstr ""
4257
 
4258
- #. ID
4259
- #: inc/admin/admin.php:2911
4260
- msgid "Show Insights column in post types"
4261
  msgstr ""
4262
 
4263
- #. ID
4264
- #: inc/admin/admin.php:2920
4265
- msgid "Show content analysis score column in post types"
 
4266
  msgstr ""
4267
 
4268
- #. ID
4269
- #: inc/admin/admin.php:2928
4270
- msgid "Hide Genesis SEO Metabox"
4271
  msgstr ""
4272
 
4273
- #. ID
4274
- #: inc/admin/admin.php:2936
4275
- msgid "Hide Genesis SEO Settings link"
 
4276
  msgstr ""
4277
 
4278
- #. ID
4279
- #: inc/admin/admin.php:2944
4280
- msgid "Hide advice in Structured Data Types metabox"
4281
  msgstr ""
4282
 
4283
- #. ID
4284
- #: inc/admin/admin.php:2961
4285
- msgid "Block SEO metabox to user roles"
4286
  msgstr ""
4287
 
4288
- #. ID
4289
- #: inc/admin/admin.php:2969
4290
- msgid "Block Content analysis metabox to user roles"
4291
  msgstr ""
4292
 
4293
- #: inc/admin/admin.php:3084
4294
- msgid "<p>Customize your title & meta description for homepage</p>"
 
4295
  msgstr ""
4296
 
4297
- #: inc/admin/admin.php:3097
4298
- msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
4299
  msgstr ""
4300
 
4301
- #: inc/admin/admin.php:3101
4302
- msgid "<p>Customize your metas for all pages</p>"
4303
  msgstr ""
4304
 
4305
- #: inc/admin/admin.php:3105
4306
- msgid "<p>Customize your metas for all taxonomies archives</p>"
4307
  msgstr ""
4308
 
4309
- #: inc/admin/admin.php:3109
4310
- msgid "<p>Customize your metas for all archives</p>"
4311
  msgstr ""
4312
 
4313
- #: inc/admin/admin.php:3116
4314
- msgid "Change this settings"
4315
  msgstr ""
4316
 
4317
- #: inc/admin/admin.php:3119
4318
- msgid ""
4319
- "To view your sitemap, enable permalinks (not default one), and save settings "
4320
- "to flush them."
4321
  msgstr ""
4322
 
4323
- #. IF NGINX
4324
- #: inc/admin/admin.php:3125
4325
- msgid ""
4326
- "Your server uses NGINX. If XML Sitemaps doesn't work properly, you need to "
4327
- "add this rule to your configuration:"
4328
  msgstr ""
4329
 
4330
- #: inc/admin/admin.php:3139
4331
- msgid "Noindex content will not be displayed in Sitemaps."
4332
  msgstr ""
4333
 
4334
- #: inc/admin/admin.php:3140
4335
- msgid ""
4336
- "If you disable globally this feature (using the blue toggle from above), the "
4337
- "native WordPress XML sitemaps will be re-activated."
4338
- msgstr ""
4339
-
4340
- #: inc/admin/admin.php:3152
4341
- msgid "Blank sitemap?"
4342
  msgstr ""
4343
 
4344
- #: inc/admin/admin.php:3153
4345
- msgid "404 error?"
4346
  msgstr ""
4347
 
4348
- #: inc/admin/admin.php:3154
4349
- msgid "HTML error? Exclude XML and XSL from caching plugins!"
4350
  msgstr ""
4351
 
4352
- #: inc/admin/admin.php:3156
4353
- msgid "View your sitemap"
4354
  msgstr ""
4355
 
4356
- #: inc/admin/admin.php:3158
4357
- msgid "Ping Google manually"
4358
  msgstr ""
4359
 
4360
- #: inc/admin/admin.php:3160
4361
- msgid "Flush permalinks"
4362
  msgstr ""
4363
 
4364
- #: inc/admin/admin.php:3165
4365
- msgid "<p>Create an HTML Sitemap for your visitors and boost your SEO.</p>"
4366
  msgstr ""
4367
 
4368
- #: inc/admin/admin.php:3166
4369
- msgid ""
4370
- "<p>Limited to 1,000 posts per post type. You can change the order and "
4371
- "sorting criteria below.</p>"
4372
  msgstr ""
4373
 
4374
- #: inc/admin/admin.php:3174 inc/admin/admin.php:4351
4375
- msgid "Guide to enable a HTML Sitemap - new window"
4376
  msgstr ""
4377
 
4378
- #: inc/admin/admin.php:3178
4379
- msgid "<p>Include/Exclude Post Types.</p>"
4380
  msgstr ""
4381
 
4382
- #: inc/admin/admin.php:3182
4383
- msgid "<p>Include/Exclude Taxonomies.</p>"
4384
  msgstr ""
4385
 
4386
- #: inc/admin/admin.php:3186
4387
- msgid "<p>Configure Google Knowledge Graph.</p>"
4388
  msgstr ""
4389
 
4390
- #: inc/admin/admin.php:3187
4391
- msgid "Learn more on Google official website."
 
4392
  msgstr ""
4393
 
4394
- #: inc/admin/admin.php:3191
4395
- msgid ""
4396
- "<p>Link your site with your social accounts. Use markup on your website to "
4397
- "add your social profile information to a Google Knowledge panel. Knowledge "
4398
- "panels prominently display your social profile information in some Google "
4399
- "Search results. Filling in these fields does not guarantee the display of "
4400
- "this data in search results. It may take a long time to see these social-"
4401
- "network links.</p>"
4402
  msgstr ""
4403
 
4404
- #: inc/admin/admin.php:3195
4405
- msgid "<p>Manage Open Graph data.</p>"
4406
  msgstr ""
4407
 
4408
- #: inc/admin/admin.php:3197
4409
- msgid "<p>We generate the <strong>og:image</strong> meta in this order:</p>"
4410
  msgstr ""
4411
 
4412
- #: inc/admin/admin.php:3201
4413
- msgid "Custom OG Image from SEO metabox"
4414
  msgstr ""
4415
 
4416
- #: inc/admin/admin.php:3202 inc/admin/admin.php:3216
4417
- msgid "Post thumbnail"
 
 
4418
  msgstr ""
4419
 
4420
- #: inc/admin/admin.php:3203 inc/admin/admin.php:3217
4421
- msgid "First image of your post content"
4422
  msgstr ""
4423
 
4424
- #: inc/admin/admin.php:3204
4425
- msgid "Global OG Image set in SEO > Social > Open Graph"
4426
  msgstr ""
4427
 
4428
- #: inc/admin/admin.php:3209
4429
- msgid "<p>Manage your Twitter card.</p>"
4430
  msgstr ""
4431
 
4432
- #: inc/admin/admin.php:3211
4433
  msgid ""
4434
- "<p>We generate the <strong>twitter:image</strong> meta in this order:</p>"
 
4435
  msgstr ""
4436
 
4437
- #: inc/admin/admin.php:3215
4438
- msgid "Custom Twitter image from SEO metabox"
4439
  msgstr ""
4440
 
4441
- #: inc/admin/admin.php:3218
4442
- msgid "Global Twitter:image set in SEO > Social > Twitter Card"
 
 
4443
  msgstr ""
4444
 
4445
- #: inc/admin/admin.php:3223
4446
  msgid ""
4447
- "<p>Link your Google Analytics to your website. The tracking code will be "
4448
- "automatically added to your site.</p>"
 
 
 
 
4449
  msgstr ""
4450
 
4451
- #: inc/admin/admin.php:3227
4452
- msgid ""
4453
- "<p>Manage user consent for GDPR and customize your cookie bar easily.</p>"
4454
  msgstr ""
4455
 
4456
- #: inc/admin/admin.php:3228
4457
- msgid ""
4458
- "Works with <strong>Google Analytics</strong> and <strong>Matomo</strong>."
4459
  msgstr ""
4460
 
4461
- #: inc/admin/admin.php:3232
4462
- msgid "<p>Configure your Google Analytics tracking code.</p>"
4463
  msgstr ""
4464
 
4465
- #: inc/admin/admin.php:3236
4466
- msgid "<p>Track events in Google Analytics.</p>"
4467
  msgstr ""
4468
 
4469
- #: inc/admin/admin.php:3240
4470
- msgid ""
4471
- "<p>Configure your Google Analytics custom dimensions. <br>Custom dimensions "
4472
- "and custom metrics are like the default dimensions and metrics in your "
4473
- "Analytics account, except you create them yourself.<br> Use them to collect "
4474
- "and analyze data that Analytics doesn't automatically track.<br> Please note "
4475
- "that you also have to setup your custom dimensions in your Google Analytics "
4476
- "account. More info by clicking on the help icon."
4477
  msgstr ""
4478
 
4479
- #: inc/admin/admin.php:3242
4480
- msgid "Custom dimensions also work with <strong>Matomo</strong> tracking code."
 
 
 
 
4481
  msgstr ""
4482
 
4483
- #: inc/admin/admin.php:3250
4484
- msgid "Guide to create custom dimensions in Google Analytics - new window"
4485
  msgstr ""
4486
 
4487
- #: inc/admin/admin.php:3254
4488
- msgid "<p>Use Matomo to track your users with privacy in mind.</p>"
4489
  msgstr ""
4490
 
4491
- #: inc/admin/admin.php:3256
4492
- msgid ""
4493
- "Your <strong>Custom Dimensions</strong> will also work with Matomo tracking "
4494
- "code"
4495
  msgstr ""
4496
 
4497
- #: inc/admin/admin.php:3260
4498
- msgid "<p>Advanced SEO options.</p>"
4499
  msgstr ""
4500
 
4501
- #: inc/admin/admin.php:3264
4502
- msgid "<p>Customize the plugin to fit your needs.</p>"
4503
  msgstr ""
4504
 
4505
- #: inc/admin/admin.php:3268
4506
- msgid "<p>Manage security.</p>"
4507
  msgstr ""
4508
 
4509
- #: inc/admin/admin.php:3281
4510
- msgid "Enter your separator, eg: \"-\""
4511
  msgstr ""
4512
 
4513
- #: inc/admin/admin.php:3285
4514
- #, php-format
4515
- msgid "Use this separator with %%sep%% in your title and meta description."
4516
  msgstr ""
4517
 
4518
- #: inc/admin/admin.php:3291
4519
- msgid "My awesome website"
 
 
 
 
4520
  msgstr ""
4521
 
4522
- #: inc/admin/admin.php:3297 inc/admin/admin.php:3308 inc/admin/admin.php:3402
4523
- #: inc/admin/admin.php:3518 inc/admin/admin.php:3650 inc/admin/admin.php:3683
4524
- #: inc/admin/admin.php:3773 inc/admin/admin.php:3850 inc/admin/admin.php:3921
4525
- #: inc/admin/admin.php:3991 inc/admin/admin.php:4042
4526
- msgid "More tags"
4527
  msgstr ""
4528
 
4529
- #: inc/admin/admin.php:3303
4530
- msgid "This is a cool website about Wookiees"
 
 
4531
  msgstr ""
4532
 
4533
- #: inc/admin/admin.php:3311
4534
- msgid "Looking to edit your blog page?"
4535
  msgstr ""
4536
 
4537
- #: inc/admin/admin.php:3336 inc/admin/admin.php:3340 inc/admin/admin.php:3342
4538
- #: inc/admin/admin.php:3347
4539
- msgid "Click to hide any SEO metaboxes / columns for this post type"
4540
  msgstr ""
4541
 
4542
- #: inc/admin/admin.php:3339 inc/admin/admin.php:3343 inc/admin/admin.php:3346
4543
- msgid "Click to display any SEO metaboxes / columns for this post type"
4544
  msgstr ""
4545
 
4546
- #: inc/admin/admin.php:3371 inc/admin/admin.php:3505 inc/admin/admin.php:3616
4547
- #: inc/admin/admin.php:3745 inc/admin/admin.php:3838 inc/admin/admin.php:3909
4548
- #: inc/admin/admin.php:3979 inc/admin/admin.php:4032
4549
- msgid "Title template"
4550
  msgstr ""
4551
 
4552
- #: inc/admin/admin.php:3409 inc/admin/admin.php:3525 inc/admin/admin.php:3659
4553
- #: inc/admin/admin.php:3780 inc/admin/admin.php:3856 inc/admin/admin.php:3927
4554
- #: inc/admin/admin.php:3997 inc/admin/admin.php:4047
4555
- msgid "Meta description template"
4556
  msgstr ""
4557
 
4558
- #: inc/admin/admin.php:3432
4559
  msgid ""
4560
- "Do not display this single post type in search engine results "
4561
- "<strong>(noindex)</strong>"
4562
  msgstr ""
4563
 
4564
- #: inc/admin/admin.php:3451
4565
- msgid ""
4566
- "Do not follow links for this single post type <strong>(nofollow)</strong>"
4567
  msgstr ""
4568
 
4569
- #: inc/admin/admin.php:3470
4570
- msgid "Display date in Google search results?"
4571
  msgstr ""
4572
 
4573
- #: inc/admin/admin.php:3489
4574
- msgid "Display post thumbnail in Google Custom Search results?"
4575
  msgstr ""
4576
 
4577
- #: inc/admin/admin.php:3503
4578
- msgid "BuddyPress groups"
4579
  msgstr ""
4580
 
4581
- #: inc/admin/admin.php:3549
4582
- msgid ""
4583
- "Do not display BuddyPress groups in search engine results <strong>(noindex)</"
4584
- "strong>"
4585
  msgstr ""
4586
 
4587
- #: inc/admin/admin.php:3579 inc/admin/admin.php:3583 inc/admin/admin.php:3585
4588
- #: inc/admin/admin.php:3590
4589
- msgid "Click to hide any SEO metaboxes for this taxonomy"
4590
  msgstr ""
4591
 
4592
- #: inc/admin/admin.php:3582 inc/admin/admin.php:3586 inc/admin/admin.php:3589
4593
- msgid "Click to display any SEO metaboxes for this taxonomy"
4594
  msgstr ""
4595
 
4596
- #: inc/admin/admin.php:3639
4597
- msgid "Category Title"
4598
  msgstr ""
4599
 
4600
- #: inc/admin/admin.php:3641
4601
- msgid "Tag Title"
4602
  msgstr ""
4603
 
4604
- #: inc/admin/admin.php:3676
4605
- msgid "Category Description"
4606
  msgstr ""
4607
 
4608
- #: inc/admin/admin.php:3678
4609
- msgid "Tag Description"
4610
  msgstr ""
4611
 
4612
- #: inc/admin/admin.php:3680
4613
- msgid "Term Description"
4614
  msgstr ""
4615
 
4616
- #: inc/admin/admin.php:3698
4617
  msgid ""
4618
- "Do not display this taxonomy archive in search engine results "
4619
- "<strong>(noindex)</strong>"
4620
  msgstr ""
4621
 
4622
- #: inc/admin/admin.php:3717
4623
- msgid ""
4624
- "Do not follow links for this taxonomy archive <strong>(nofollow)</strong>"
4625
  msgstr ""
4626
 
4627
- #: inc/admin/admin.php:3737
4628
- msgid "See archive"
4629
  msgstr ""
4630
 
4631
- #: inc/admin/admin.php:3767
4632
- msgid "Post Type Archive Name"
4633
  msgstr ""
4634
 
4635
- #: inc/admin/admin.php:3803
4636
- msgid ""
4637
- "Do not display this post type archive in search engine results "
4638
- "<strong>(noindex)</strong>"
4639
  msgstr ""
4640
 
4641
- #: inc/admin/admin.php:3822
4642
- msgid ""
4643
- "Do not follow links for this post type archive <strong>(nofollow)</strong>"
4644
  msgstr ""
4645
 
4646
- #: inc/admin/admin.php:3836
4647
- msgid "Author archives"
4648
  msgstr ""
4649
 
4650
- #: inc/admin/admin.php:3898
4651
- msgid "Disable author archives"
4652
  msgstr ""
4653
 
4654
- #: inc/admin/admin.php:3907 inc/admin/admin.php:3918
4655
- msgid "Date archives"
4656
  msgstr ""
4657
 
4658
- #: inc/admin/admin.php:3950
4659
- msgid ""
4660
- "Do not display date archives in search engine results <strong>(noindex)</"
4661
- "strong>"
4662
  msgstr ""
4663
 
4664
- #: inc/admin/admin.php:3968
4665
- msgid "Disable date archives"
4666
  msgstr ""
4667
 
4668
- #: inc/admin/admin.php:3977
4669
- msgid "Search archives"
4670
  msgstr ""
4671
 
4672
- #: inc/admin/admin.php:3988
4673
- msgid "Search Keywords"
4674
  msgstr ""
4675
 
4676
- #: inc/admin/admin.php:4021
4677
- msgid ""
4678
- "Do not display search archives in search engine results <strong>(noindex)</"
4679
- "strong>"
4680
  msgstr ""
4681
 
4682
- #: inc/admin/admin.php:4030
4683
- msgid "404 archives"
4684
  msgstr ""
4685
 
4686
- #: inc/admin/admin.php:4073
4687
- msgid ""
4688
- "Do not display all pages of the site in Google search results and do not "
4689
- "display \"Cached\" links in search results."
4690
  msgstr ""
4691
 
4692
- #. translators: %s link to plugin settings page
4693
- #: inc/admin/admin.php:4076
4694
- #, php-format
4695
  msgid ""
4696
- "Check also the <strong>\"Search engine visibility\"</strong> setting from "
4697
- "the <a href=\"%s\">WordPress Reading page</a>."
4698
  msgstr ""
4699
 
4700
- #: inc/admin/admin.php:4095
4701
- msgid "Do not follow links for all pages."
4702
  msgstr ""
4703
 
4704
- #: inc/admin/admin.php:4114
4705
- msgid ""
4706
- "Do not use Open Directory project metadata for titles or excerpts for all "
4707
- "pages."
4708
  msgstr ""
4709
 
4710
- #: inc/admin/admin.php:4133
4711
- msgid "Do not index images from the entire site."
4712
  msgstr ""
4713
 
4714
- #: inc/admin/admin.php:4152
4715
- msgid "Do not display a \"Cached\" link in the Google search results."
4716
  msgstr ""
4717
 
4718
- #: inc/admin/admin.php:4171
4719
- msgid ""
4720
- "Do not display a description in the Google search results for all pages."
4721
  msgstr ""
4722
 
4723
- #: inc/admin/admin.php:4190
4724
- msgid ""
4725
- "Prevents Google to display a sitelinks searchbox in search results. Enable "
4726
- "this option will remove the \"Website\" schema from your source code."
4727
  msgstr ""
4728
 
4729
- #: inc/admin/admin.php:4207
4730
- msgid "Add rel next/prev link in head of paginated archive pages"
4731
  msgstr ""
4732
 
4733
- #: inc/admin/admin.php:4224
4734
- msgid "Add a \"noindex\" meta robots for all paginated archive pages"
4735
  msgstr ""
4736
 
4737
- #: inc/admin/admin.php:4226
4738
- msgid "eg: https://example.com/category/my-category/page/2/"
4739
  msgstr ""
4740
 
4741
- #: inc/admin/admin.php:4251
4742
- msgid "Guide to enable XML Sitemaps - new window"
 
 
4743
  msgstr ""
4744
 
4745
- #: inc/admin/admin.php:4268
4746
- msgid ""
4747
- "Enable Image Sitemaps (standard images, image galleries, featured image, "
4748
- "WooCommerce product images)"
4749
  msgstr ""
4750
 
4751
- #: inc/admin/admin.php:4270
4752
- msgid "Images in XML sitemaps are visible only from the source code."
4753
  msgstr ""
4754
 
4755
- #: inc/admin/admin.php:4278
4756
- msgid "Guide to enable XML image sitemaps - new window"
4757
  msgstr ""
4758
 
4759
- #: inc/admin/admin.php:4296
4760
- msgid "Enable Video Sitemaps"
4761
- msgstr ""
4762
-
4763
- #: inc/admin/admin.php:4304
4764
- #, php-format
4765
  msgid ""
4766
- "Your video sitemap is empty? Read our guide to learn more about <a href=\"%s"
4767
- "\" target=\"_blank\">adding videos to your sitemap.</a>"
4768
- msgstr ""
4769
-
4770
- #: inc/admin/admin.php:4306
4771
- msgid "Guide to enable XML video sitemaps - new window"
4772
  msgstr ""
4773
 
4774
- #: inc/admin/admin.php:4326
4775
  msgid ""
4776
- "Make sure to enable author archive from SEO, titles and metas, archives tab."
4777
- "</a>"
 
4778
  msgstr ""
4779
 
4780
- #: inc/admin/admin.php:4391 inc/admin/admin.php:4435
4781
- msgid "Include"
 
 
 
4782
  msgstr ""
4783
 
4784
- #: inc/admin/admin.php:4394
4785
  msgid ""
4786
- "You should never include attachment post type in your sitemap. Be careful if "
4787
- "you checked this."
 
4788
  msgstr ""
4789
 
4790
- #: inc/admin/admin.php:4450
4791
- msgid "eg: 2, 28, 68"
4792
  msgstr ""
4793
 
4794
- #: inc/admin/admin.php:4454
4795
- msgid "You can also use this shortcode:"
4796
  msgstr ""
4797
 
4798
- #: inc/admin/admin.php:4464
4799
- msgid "eg: 13, 8, 38"
4800
  msgstr ""
4801
 
4802
- #: inc/admin/admin.php:4478
4803
- msgid ""
4804
- "DESC (descending order from highest to lowest values (3, 2, 1; c, b, a))"
4805
  msgstr ""
4806
 
4807
- #: inc/admin/admin.php:4481
4808
- msgid "ASC (ascending order from lowest to highest values (1, 2, 3; a, b, c))"
4809
  msgstr ""
4810
 
4811
- #: inc/admin/admin.php:4498
4812
- msgid "Default (date)"
4813
  msgstr ""
4814
 
4815
- #: inc/admin/admin.php:4504
4816
- msgid "Modified date"
4817
  msgstr ""
4818
 
4819
- #: inc/admin/admin.php:4507
4820
- msgid "Post ID"
 
 
4821
  msgstr ""
4822
 
4823
- #: inc/admin/admin.php:4510
4824
- msgid "Menu order"
4825
  msgstr ""
4826
 
4827
- #: inc/admin/admin.php:4528
4828
- msgid "Disable date after each post, page, post type?"
4829
  msgstr ""
4830
 
4831
- #: inc/admin/admin.php:4563
4832
- msgid "eg: Miremont"
4833
  msgstr ""
4834
 
4835
- #: inc/admin/admin.php:4576
4836
- msgid "Select your logo"
4837
  msgstr ""
4838
 
4839
- #: inc/admin/admin.php:4580
4840
- msgid "JPG, PNG, and GIF allowed."
4841
  msgstr ""
4842
 
4843
- #: inc/admin/admin.php:4606
4844
- msgid "eg: +33123456789 (internationalized version required)"
4845
  msgstr ""
4846
 
4847
- #: inc/admin/admin.php:4621
4848
- msgid "Customer support"
 
 
4849
  msgstr ""
4850
 
4851
- #: inc/admin/admin.php:4624
4852
- msgid "Technical support"
4853
  msgstr ""
4854
 
4855
- #: inc/admin/admin.php:4627
4856
- msgid "Billing support"
 
 
4857
  msgstr ""
4858
 
4859
- #: inc/admin/admin.php:4630
4860
- msgid "Bill payment"
4861
  msgstr ""
4862
 
4863
- #: inc/admin/admin.php:4633
4864
- msgid "Sales"
 
 
 
4865
  msgstr ""
4866
 
4867
- #: inc/admin/admin.php:4636
4868
- msgid "Credit card support"
 
 
 
 
 
 
 
4869
  msgstr ""
4870
 
4871
- #: inc/admin/admin.php:4639
4872
- msgid "Emergency"
4873
  msgstr ""
4874
 
4875
- #: inc/admin/admin.php:4642
4876
- msgid "Baggage tracking"
 
4877
  msgstr ""
4878
 
4879
- #: inc/admin/admin.php:4645
4880
- msgid "Roadside assistance"
 
 
4881
  msgstr ""
4882
 
4883
- #: inc/admin/admin.php:4648
4884
- msgid "Package tracking"
4885
  msgstr ""
4886
 
4887
- #: inc/admin/admin.php:4665 inc/admin/admin.php:5624 inc/admin/admin.php:5648
4888
- #: inc/admin/admin.php:5672 inc/admin/admin.php:5696 inc/admin/admin.php:5720
4889
- msgid "None"
 
 
 
 
 
 
4890
  msgstr ""
4891
 
4892
- #: inc/admin/admin.php:4668
4893
- msgid "Toll Free"
4894
  msgstr ""
4895
 
4896
- #: inc/admin/admin.php:4671
4897
- msgid "Hearing impaired supported"
4898
  msgstr ""
4899
 
4900
- #: inc/admin/admin.php:4697
4901
- msgid "Twitter Page URL"
 
 
4902
  msgstr ""
4903
 
4904
- #: inc/admin/admin.php:4798
4905
- msgid "Enable OG data"
4906
  msgstr ""
4907
 
4908
- #: inc/admin/admin.php:4832
4909
  msgid ""
4910
- "Override every <strong>og:image</strong> tag with this default image (except "
4911
- "if a custom og:image has already been set from the SEO metabox)."
4912
- msgstr ""
4913
-
4914
- #: inc/admin/admin.php:4837
4915
- msgid "Please define a default OG Image from the field above"
4916
  msgstr ""
4917
 
4918
- #: inc/admin/admin.php:4870
4919
- msgid "No custom post type to configure."
 
 
4920
  msgstr ""
4921
 
4922
- #: inc/admin/admin.php:4882
4923
  msgid ""
4924
- "One or more Facebook Page IDs that are associated with a URL in order to "
4925
- "enable link editing and instant article publishing."
4926
  msgstr ""
4927
 
4928
- #: inc/admin/admin.php:4886
4929
- msgid "How do I find my Facebook Page ID?"
4930
  msgstr ""
4931
 
4932
- #: inc/admin/admin.php:4896
4933
  msgid ""
4934
- "The ID (or comma-separated list for properties that can accept multiple IDs) "
4935
- "of an app, person using the app, or Page Graph API object."
 
4936
  msgstr ""
4937
 
4938
- #: inc/admin/admin.php:4908
4939
  msgid ""
4940
- "The Facebook app ID of the site's app. In order to use Facebook Insights you "
4941
- "must add the app ID to your page. Insights lets you view analytics for "
4942
- "traffic to your site from Facebook. Find the app ID in your App Dashboard. "
4943
- "<a class=\"seopress-help\" href=\"https://developers.facebook.com/apps/"
4944
- "redirect/dashboard\" target=\"_blank\">More info here</a> <span class="
4945
- "\"seopress-help dashicons dashicons-external\"></span>"
4946
- msgstr ""
4947
-
4948
- #: inc/admin/admin.php:4912
4949
- msgid "How to create a Facebook App ID"
4950
  msgstr ""
4951
 
4952
- #: inc/admin/admin.php:4925
4953
- msgid "Enable Twitter card"
 
 
4954
  msgstr ""
4955
 
4956
- #: inc/admin/admin.php:4942
4957
- msgid "Use OG if no Twitter Cards"
4958
  msgstr ""
4959
 
4960
- #: inc/admin/admin.php:4977 seopress.php:265
4961
- msgid "Default"
4962
  msgstr ""
4963
 
4964
- #: inc/admin/admin.php:4980
4965
- msgid "Large"
 
 
4966
  msgstr ""
4967
 
4968
- #: inc/admin/admin.php:4998
4969
- msgid "Enable Google Analytics tracking (Global Site Tag: gtag.js)"
4970
  msgstr ""
4971
 
4972
- #: inc/admin/admin.php:5010
4973
- msgid "Enter your Tracking ID (UA-XXXX-XX)"
 
 
4974
  msgstr ""
4975
 
4976
- #: inc/admin/admin.php:5014
4977
- msgid "Find your tracking ID"
 
 
4978
  msgstr ""
4979
 
4980
- #: inc/admin/admin.php:5023
4981
- msgid "Enter your measurement ID (G-XXXXXXXXXX)"
4982
  msgstr ""
4983
 
4984
- #: inc/admin/admin.php:5023
4985
- msgid "Enter your measurement ID"
4986
  msgstr ""
4987
 
4988
- #: inc/admin/admin.php:5027
4989
- msgid "Find your measurement ID"
4990
  msgstr ""
4991
 
4992
- #: inc/admin/admin.php:5041
4993
- msgid "Request user's consent for analytics tracking (required by GDPR)"
4994
  msgstr ""
4995
 
4996
- #: inc/admin/admin.php:5043
4997
- msgid ""
4998
- "<strong>The user must click the Accept button to allow tracking.</strong>"
4999
  msgstr ""
5000
 
5001
- #: inc/admin/admin.php:5045
5002
  msgid ""
5003
- "User roles excluded from tracking will not see the consent message.<br> If "
5004
- "you use a caching plugin, you have to exclude this JS file in your settings: "
5005
- "<br><strong>/wp-content/plugins/wp-seopress/assets/js/seopress-cookies-ajax."
5006
- "js</strong> <br>and this cookie <strong>seopress-user-consent-accept</strong>"
5007
  msgstr ""
5008
 
5009
- #: inc/admin/admin.php:5053
5010
- msgid "Hook to add custom tracking code with user consent - new window"
5011
  msgstr ""
5012
 
5013
- #: inc/admin/admin.php:5070
5014
  msgid ""
5015
- "Display and automatically accept the user‘s consent on page load (not fully "
5016
- "GDPR)"
5017
  msgstr ""
5018
 
5019
- #: inc/admin/admin.php:5072
5020
- msgid "The previous option must be checked to use this."
5021
  msgstr ""
5022
 
5023
- #: inc/admin/admin.php:5085
5024
- msgid "Enter your message (HTML allowed)"
5025
  msgstr ""
5026
 
5027
- #: inc/admin/admin.php:5085
5028
- msgid "This message will only appear if request user's consent is enabled."
5029
  msgstr ""
5030
 
5031
- #: inc/admin/admin.php:5094
5032
- msgid "Hook to filter user consent message - new window"
5033
  msgstr ""
5034
 
5035
- #: inc/admin/admin.php:5096
5036
- msgid "HTML tags allowed: strong, em, br, a href / target"
5037
  msgstr ""
5038
 
5039
- #: inc/admin/admin.php:5097
5040
- msgid ""
5041
- "Shortcode allowed to get the privacy page set in WordPress settings: "
5042
- "[seopress_privacy_page]"
5043
  msgstr ""
5044
 
5045
- #: inc/admin/admin.php:5105 inc/functions/options-google-analytics.php:226
5046
- msgid "Accept"
5047
  msgstr ""
5048
 
5049
- #: inc/admin/admin.php:5105
5050
- msgid "Change the button value"
5051
  msgstr ""
5052
 
5053
- #: inc/admin/admin.php:5115
5054
- msgid "default: X"
5055
  msgstr ""
5056
 
5057
- #: inc/admin/admin.php:5115
5058
- msgid "Change the close button value"
5059
  msgstr ""
5060
 
5061
- #: inc/admin/admin.php:5134
5062
- msgid "Default: 30 days before the cookie expiration."
5063
  msgstr ""
5064
 
5065
- #: inc/admin/admin.php:5146
5066
- msgid "Bottom (default)"
5067
  msgstr ""
5068
 
5069
- #: inc/admin/admin.php:5149
5070
- msgid "Middle"
5071
  msgstr ""
5072
 
5073
- #: inc/admin/admin.php:5152
5074
- msgid "Top"
5075
  msgstr ""
5076
 
5077
- #: inc/admin/admin.php:5169
5078
- msgid "Left"
5079
  msgstr ""
5080
 
5081
- #: inc/admin/admin.php:5172
5082
- msgid "Center (default)"
5083
  msgstr ""
5084
 
5085
- #: inc/admin/admin.php:5175
5086
- msgid "Right"
5087
  msgstr ""
5088
 
5089
- #: inc/admin/admin.php:5188
5090
- msgid "Change the cookie bar width"
5091
  msgstr ""
5092
 
5093
- #: inc/admin/admin.php:5192
5094
- msgid ""
5095
- "Default unit is Pixels. Add % just after your custom value to use "
5096
- "percentages (eg: 80%)."
5097
  msgstr ""
5098
 
5099
- #: inc/admin/admin.php:5205
5100
- msgid "Display a backdrop with the cookie bar"
5101
  msgstr ""
5102
 
5103
- #: inc/admin/admin.php:5217
5104
- msgid "Change the background color of the backdrop"
5105
  msgstr ""
5106
 
5107
- #: inc/admin/admin.php:5227
5108
- msgid "Change the color of the cookie bar background"
5109
  msgstr ""
5110
 
5111
- #: inc/admin/admin.php:5237
5112
- msgid "Change the color of the cookie bar text"
5113
  msgstr ""
5114
 
5115
- #: inc/admin/admin.php:5247
5116
- msgid "Change the color of the cookie bar link"
5117
  msgstr ""
5118
 
5119
- #: inc/admin/admin.php:5257
5120
- msgid "Change the color of the cookie bar button background"
 
5121
  msgstr ""
5122
 
5123
- #: inc/admin/admin.php:5267
5124
- msgid "Change the color of the cookie bar button hover background"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5125
  msgstr ""
5126
 
5127
- #: inc/admin/admin.php:5277
5128
- msgid "Change the color of the cookie bar button"
5129
  msgstr ""
5130
 
5131
- #: inc/admin/admin.php:5287
5132
- msgid "Change the color of the cookie bar button hover"
 
5133
  msgstr ""
5134
 
5135
- #: inc/admin/admin.php:5297
5136
- msgid "Change the color of the cookie bar secondary button background"
 
 
5137
  msgstr ""
5138
 
5139
- #: inc/admin/admin.php:5307
5140
- msgid "Change the color of the cookie bar secondary button hover background"
 
 
5141
  msgstr ""
5142
 
5143
- #: inc/admin/admin.php:5317
5144
- msgid "Change the color of the cookie bar secondary button"
5145
  msgstr ""
5146
 
5147
- #: inc/admin/admin.php:5327
5148
- msgid "Change the color of the cookie bar secondary button hover"
5149
  msgstr ""
5150
 
5151
- #: inc/admin/admin.php:5362
5152
- msgid "Enter your Google Optimize container ID"
5153
  msgstr ""
5154
 
5155
- #: inc/admin/admin.php:5362
5156
- msgid "GTM-XXXXXXX"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5157
  msgstr ""
5158
 
5159
- #: inc/admin/admin.php:5365
5160
  msgid ""
5161
- "Google Optimize offers A/B testing, website testing & personalization tools."
 
5162
  msgstr ""
5163
 
5164
- #: inc/admin/admin.php:5377
5165
- msgid "Enter your Google Ads conversion ID (eg: AW-123456789)"
 
 
 
5166
  msgstr ""
5167
 
5168
- #: inc/admin/admin.php:5377
5169
- msgid "AW-XXXXXXXXX"
 
 
5170
  msgstr ""
5171
 
5172
- #: inc/admin/admin.php:5388
5173
- msgid "Learn how to find your Google Ads Conversion ID"
5174
  msgstr ""
5175
 
5176
- #: inc/admin/admin.php:5399
5177
- msgid "Paste your tracking code here like Google Tag Manager (head)"
 
5178
  msgstr ""
5179
 
5180
- #: inc/admin/admin.php:5399
5181
- msgid "Additional tracking code field"
 
5182
  msgstr ""
5183
 
5184
- #: inc/admin/admin.php:5402
5185
- msgid "This code will be added in the head section of your page."
 
5186
  msgstr ""
5187
 
5188
- #: inc/admin/admin.php:5410
5189
- msgid "Paste your tracking code here like Google Tag Manager (body)"
 
5190
  msgstr ""
5191
 
5192
- #: inc/admin/admin.php:5410
5193
- msgid "Additional tracking code field added to body"
 
5194
  msgstr ""
5195
 
5196
- #: inc/admin/admin.php:5413
5197
- msgid "This code will be added just after the opening body tag of your page."
 
5198
  msgstr ""
5199
 
5200
- #: inc/admin/admin.php:5414
5201
- msgid ""
5202
- "You don‘t see your code? Make sure to call <strong>wp_body_open();</strong> "
5203
- "just after the opening body tag in your theme."
 
 
5204
  msgstr ""
5205
 
5206
- #: inc/admin/admin.php:5430
5207
- msgid "Paste your tracking code here (body footer)"
 
5208
  msgstr ""
5209
 
5210
- #: inc/admin/admin.php:5430
5211
- msgid "Additional tracking code field added to body footer"
5212
  msgstr ""
5213
 
5214
- #: inc/admin/admin.php:5433
5215
- msgid "This code will be added just after the closing body tag of your page."
5216
  msgstr ""
5217
 
5218
- #: inc/admin/admin.php:5448
5219
- msgid ""
5220
- "A remarketing audience is a list of cookies or mobile-advertising IDs that "
5221
- "represents a group of users you want to re-engage because of their "
5222
- "likelihood to convert."
5223
  msgstr ""
5224
 
5225
- #: inc/admin/admin.php:5470
5226
- msgid ""
5227
- "When a customer of Analytics requests IP address anonymization, Analytics "
5228
- "anonymizes the address as soon as technically feasible at the earliest "
5229
- "possible stage of the collection network."
5230
  msgstr ""
5231
 
5232
- #: inc/admin/admin.php:5492
5233
- msgid ""
5234
- "Enhanced Link Attribution improves the accuracy of your In-Page Analytics "
5235
- "report by automatically differentiating between multiple links to the same "
5236
- "URL on a single page by using link element IDs."
5237
  msgstr ""
5238
 
5239
- #: inc/admin/admin.php:5514
5240
- msgid ""
5241
- "Cross domain tracking makes it possible for Analytics to see sessions on two "
5242
- "related sites (such as an ecommerce site and a separate shopping cart site) "
5243
- "as a single session. This is sometimes called site linking."
5244
  msgstr ""
5245
 
5246
- #: inc/admin/admin.php:5529 inc/admin/admin.php:5859
5247
- msgid "Enter your domains: seopress.org,sub.seopress.org,sub2.seopress.org"
5248
  msgstr ""
5249
 
5250
- #: inc/admin/admin.php:5563
5251
- msgid "Enable download tracking"
 
 
5252
  msgstr ""
5253
 
5254
- #: inc/admin/admin.php:5575
5255
- msgid "pdf|docx|pptx|zip"
5256
  msgstr ""
5257
 
5258
- #: inc/admin/admin.php:5579
5259
- msgid "Separate each file type extensions with a pipe \"|\""
5260
  msgstr ""
5261
 
5262
- #: inc/admin/admin.php:5594
5263
- msgid "Enable affiliate/outbound tracking"
 
5264
  msgstr ""
5265
 
5266
- #: inc/admin/admin.php:5606
5267
- msgid "aff|go|out"
5268
  msgstr ""
5269
 
5270
- #: inc/admin/admin.php:5610
5271
- msgid "Separate each keyword with a pipe \"|\""
5272
  msgstr ""
5273
 
5274
- #. translators: %d dimension number
5275
- #: inc/admin/admin.php:5630 inc/admin/admin.php:5654 inc/admin/admin.php:5678
5276
- #: inc/admin/admin.php:5702 inc/admin/admin.php:5726
5277
- #, php-format
5278
- msgid "Custom Dimension #%d"
5279
  msgstr ""
5280
 
5281
- #: inc/admin/admin.php:5745
5282
- msgid "Enable Matomo tracking (Matomo account required)"
5283
  msgstr ""
5284
 
5285
- #: inc/admin/admin.php:5757
5286
- msgid "Enter \"example\" if you Matomo account URL is \"example.matomo.cloud\""
5287
  msgstr ""
5288
 
5289
- #: inc/admin/admin.php:5757
5290
- msgid "Matomo Cloud URL"
5291
  msgstr ""
5292
 
5293
- #: inc/admin/admin.php:5762
5294
- msgid "Enter only the <strong>host</strong> like this example.matomo.cloud"
5295
  msgstr ""
5296
 
5297
- #: inc/admin/admin.php:5771
5298
- msgid "Enter your site ID here"
5299
  msgstr ""
5300
 
5301
- #: inc/admin/admin.php:5771
5302
- msgid "Matomo Site ID"
5303
  msgstr ""
5304
 
5305
- #: inc/admin/admin.php:5776
5306
- msgid ""
5307
- "To find your site ID, go to your <strong>Matomo Cloud account, Websites, "
5308
- "Manage page</strong>. Look at \"Site ID\" on the right part."
5309
  msgstr ""
5310
 
5311
- #: inc/admin/admin.php:5790
5312
- msgid "Tracking one domain and its subdomains in the same website"
5313
  msgstr ""
5314
 
5315
- #: inc/admin/admin.php:5792
5316
- msgid ""
5317
- "If one visitor visits x.example.com and y.example.com, they will be counted "
5318
- "as a unique visitor."
5319
  msgstr ""
5320
 
5321
- #: inc/admin/admin.php:5809
5322
- msgid "Prepend the site domain to the page title when tracking"
5323
  msgstr ""
5324
 
5325
- #: inc/admin/admin.php:5811
5326
- msgid ""
5327
- "If someone visits the 'About' page on blog.example.com it will be recorded "
5328
- "as 'blog / About'. This is the easiest way to get an overview of your "
5329
- "traffic by sub-domain."
5330
  msgstr ""
5331
 
5332
- #: inc/admin/admin.php:5847
5333
- msgid ""
5334
- "By default, the visitor ID that identifies a unique visitor is stored in the "
5335
- "browser's first party cookies which can only be accessed by pages on the "
5336
- "same domain. Enabling cross domain linking lets you track all the actions "
5337
- "and pageviews of a specific visitor into the same visit even when they view "
5338
- "pages on several domains. Whenever a user clicks on a link to one of your "
5339
- "website's alias URLs, it will append a URL parameter pk_vid forwarding the "
5340
- "Visitor ID."
5341
  msgstr ""
5342
 
5343
- #: inc/admin/admin.php:5876
5344
- msgid "Enable client side DoNotTrack detection"
5345
  msgstr ""
5346
 
5347
- #: inc/admin/admin.php:5878
5348
- msgid ""
5349
- "Tracking requests will not be sent if visitors do not wish to be tracked."
5350
  msgstr ""
5351
 
5352
- #: inc/admin/admin.php:5895
5353
- msgid ""
5354
- "Disables all first party cookies. Existing Matomo cookies for this website "
5355
- "will be deleted on the next page view."
5356
  msgstr ""
5357
 
5358
- #: inc/admin/admin.php:5912
5359
- msgid "Enabling Download & Outlink tracking"
5360
  msgstr ""
5361
 
5362
- #: inc/admin/admin.php:5914
5363
- msgid ""
5364
- "By default, any file ending with one of these extensions will be considered "
5365
- "a \"download\" in the Matomo interface: 7z|aac|arc|arj|apk|asf|asx|avi|bin|"
5366
- "bz|bz2|csv|deb|dmg|doc|\n"
5367
- "\t\texe|flv|gif|gz|gzip|hqx|jar|jpg|jpeg|js|mp2|mp3|mp4|mpg|\n"
5368
- "\t\tmpeg|mov|movie|msi|msp|odb|odf|odg|odp|ods|odt|ogg|ogv|\n"
5369
- "\t\tpdf|phps|png|ppt|qt|qtm|ra|ram|rar|rpm|sea|sit|tar|\n"
5370
- "\t\ttbz|tbz2|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip"
5371
  msgstr ""
5372
 
5373
- #: inc/admin/admin.php:5935
5374
- msgid "Disabling all heatmaps and session recordings"
 
5375
  msgstr ""
5376
 
5377
- #: inc/admin/admin.php:5952
5378
- msgid "Redirect attachment pages to post parent (or homepage if none)"
 
5379
  msgstr ""
5380
 
5381
- #: inc/admin/admin.php:5971
5382
- msgid ""
5383
- "If this option is checked, it will take precedence over the redirection of "
5384
- "attachments to the post's parent."
5385
  msgstr ""
5386
 
5387
- #: inc/admin/admin.php:5988
5388
- msgid "Remove ?replytocom link in source code"
5389
  msgstr ""
5390
 
5391
- #: inc/admin/admin.php:6005
5392
- msgid ""
5393
- "When sending an image file, automatically set the title based on the filename"
5394
  msgstr ""
5395
 
5396
- #: inc/admin/admin.php:6022
5397
- msgid ""
5398
- "When sending an image file, automatically set the alternative text based on "
5399
- "the filename"
5400
  msgstr ""
5401
 
5402
- #: inc/admin/admin.php:6025
5403
- msgid ""
5404
- "We recommend Image SEO plugin to optimize your image ALT texts and names for "
5405
- "Search Engines using AI and Machine Learning. Starting from just €4.99."
5406
  msgstr ""
5407
 
5408
- #: inc/admin/admin.php:6043
5409
- msgid "Use the target keywords if not alternative text set for the image"
5410
  msgstr ""
5411
 
5412
- #: inc/admin/admin.php:6045
5413
- msgid ""
5414
- "This setting will be applied to images without any alt text on frontend "
5415
- "only. This setting is retroactive. If you turn it off, alt texts that were "
5416
- "previously empty will be empty again."
5417
  msgstr ""
5418
 
5419
- #: inc/admin/admin.php:6062
5420
- msgid ""
5421
- "When sending an image file, automatically set the caption based on the "
5422
- "filename"
5423
  msgstr ""
5424
 
5425
- #: inc/admin/admin.php:6079
5426
- msgid ""
5427
- "When sending an image file, automatically set the description based on the "
5428
- "filename"
5429
  msgstr ""
5430
 
5431
- #: inc/admin/admin.php:6096
5432
- msgid "Add TINYMCE editor to term description"
5433
  msgstr ""
5434
 
5435
- #: inc/admin/admin.php:6113
5436
- msgid "You have to flush your permalinks each time you change this settings"
5437
  msgstr ""
5438
 
5439
- #: inc/admin/admin.php:6130
5440
- msgid ""
5441
- "You must check this box if the structure of your permalinks DOES NOT contain "
5442
- "a slash at the end (eg: /%postname%)"
5443
  msgstr ""
5444
 
5445
- #: inc/admin/admin.php:6147
5446
- msgid "Remove WordPress meta generator in source code"
5447
  msgstr ""
5448
 
5449
- #: inc/admin/admin.php:6164
5450
- msgid ""
5451
- "Remove hentry post class to prevent Google from seeing this as structured "
5452
- "data (schema)"
5453
  msgstr ""
5454
 
5455
- #: inc/admin/admin.php:6181
5456
- msgid ""
5457
- "Remove comment author URL in comments if the website is filled from profile "
5458
- "page"
5459
  msgstr ""
5460
 
5461
- #: inc/admin/admin.php:6198
5462
- msgid "Remove website field from comment form to reduce spam"
5463
  msgstr ""
5464
 
5465
- #: inc/admin/admin.php:6215
5466
- msgid "Remove WordPress shortlink meta tag in source code (eg:"
 
5467
  msgstr ""
5468
 
5469
- #: inc/admin/admin.php:6232
5470
- msgid "Remove Windows Live Writer meta tag in source code (eg:"
 
5471
  msgstr ""
5472
 
5473
- #: inc/admin/admin.php:6249
5474
- msgid "Remove Really Simple Discovery meta tag in source code (eg:"
5475
  msgstr ""
5476
 
5477
- #: inc/admin/admin.php:6261
5478
- msgid "Enter Google meta value site verification"
 
5479
  msgstr ""
5480
 
5481
- #: inc/admin/admin.php:6266
5482
- msgid ""
5483
- "If your site is already verified in <strong>Google Search Console</strong>, "
5484
- "you can leave this field empty."
5485
  msgstr ""
5486
 
5487
- #: inc/admin/admin.php:6275
5488
- msgid "Enter Bing meta value site verification"
5489
  msgstr ""
5490
 
5491
- #: inc/admin/admin.php:6279
5492
- msgid ""
5493
- "If your site is already verified in <strong>Bing Webmaster tools</strong>, "
5494
- "you can leave this field empty."
5495
  msgstr ""
5496
 
5497
- #: inc/admin/admin.php:6288
5498
- msgid "Enter Pinterest meta value site verification"
5499
  msgstr ""
5500
 
5501
- #: inc/admin/admin.php:6300
5502
- msgid "Enter Yandex meta value site verification"
5503
  msgstr ""
5504
 
5505
- #: inc/admin/admin.php:6317
5506
- msgid "Remove SEO from Admin Bar in backend and frontend"
5507
  msgstr ""
5508
 
5509
- #: inc/admin/admin.php:6334
5510
- msgid "Remove noindex item from Admin Bar in backend and frontend"
5511
  msgstr ""
5512
 
5513
- #: inc/admin/admin.php:6350
5514
- msgid "High priority (top)"
5515
  msgstr ""
5516
 
5517
- #: inc/admin/admin.php:6353
5518
- msgid "Normal priority (default)"
5519
  msgstr ""
5520
 
5521
- #: inc/admin/admin.php:6356
5522
- msgid "Low priority"
5523
  msgstr ""
5524
 
5525
- #: inc/admin/admin.php:6374
5526
- msgid "Automatic tab (default)"
5527
  msgstr ""
5528
 
5529
- #: inc/admin/admin.php:6377
5530
- msgid "Manual tab"
5531
  msgstr ""
5532
 
5533
- #: inc/admin/admin.php:6396
5534
- msgid "Hide Notifications Center in SEO Dashboard page"
5535
  msgstr ""
5536
 
5537
- #: inc/admin/admin.php:6413
5538
- msgid "Hide SEO tools in SEO Dashboard page"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5539
  msgstr ""
5540
 
5541
- #: inc/admin/admin.php:6430
5542
- msgid "Hide Useful Links in SEO dashboard page"
5543
  msgstr ""
5544
 
5545
- #: inc/admin/admin.php:6447
5546
- msgid "Add title column"
5547
  msgstr ""
5548
 
5549
- #: inc/admin/admin.php:6464
5550
- msgid "Add meta description column"
5551
  msgstr ""
5552
 
5553
- #: inc/admin/admin.php:6481
5554
- msgid "Add redirection enable column"
5555
  msgstr ""
5556
 
5557
- #: inc/admin/admin.php:6498
5558
- msgid "Add redirection URL column"
5559
  msgstr ""
5560
 
5561
- #: inc/admin/admin.php:6515
5562
- msgid "Add canonical URL column"
5563
  msgstr ""
5564
 
5565
- #: inc/admin/admin.php:6532
5566
- msgid "Add target keyword column"
5567
  msgstr ""
5568
 
5569
- #: inc/admin/admin.php:6549
5570
- msgid "Display noindex status"
5571
  msgstr ""
5572
 
5573
- #: inc/admin/admin.php:6566
5574
- msgid "Display nofollow status"
 
5575
  msgstr ""
5576
 
5577
- #: inc/admin/admin.php:6583
5578
- msgid "Display total number of words in content"
 
5579
  msgstr ""
5580
 
5581
- #: inc/admin/admin.php:6600
5582
- msgid "Display W3C column to check code quality"
5583
  msgstr ""
5584
 
5585
- #: inc/admin/admin.php:6618
5586
- msgid "Display Page Speed column to check performances"
 
5587
  msgstr ""
5588
 
5589
- #: inc/admin/admin.php:6637
5590
- msgid "Display SEO Insights column to check rankings"
 
5591
  msgstr ""
5592
 
5593
- #: inc/admin/admin.php:6656
5594
- msgid ""
5595
- "Display Content Analysis results column (\"Good\" or \"Should be improved\")"
5596
  msgstr ""
5597
 
5598
- #: inc/admin/admin.php:6674
5599
- msgid "Remove Genesis SEO Metabox"
5600
  msgstr ""
5601
 
5602
- #: inc/admin/admin.php:6691
5603
- msgid "Remove Genesis SEO link in WP Admin Menu"
5604
  msgstr ""
5605
 
5606
- #: inc/admin/admin.php:6708
5607
- msgid "Remove the advice if None schema selected"
5608
  msgstr ""
5609
 
5610
- #: inc/admin/admin.php:6744 inc/admin/admin.php:6777
5611
- msgid ""
5612
- "Hook to filter structured data types metabox call by post type - new window"
5613
  msgstr ""
5614
 
5615
- #: inc/admin/adminbar.php:53 inc/admin/adminbar.php:93
5616
- msgid "noindex is on!"
5617
  msgstr ""
5618
 
5619
- #. translators: %s taxonomy name
5620
- #. translators: %s custom post type name
5621
- #: inc/admin/adminbar.php:84 inc/admin/adminbar.php:87
5622
- #, php-format
5623
- msgid "SEO for \"%s\""
5624
  msgstr ""
5625
 
5626
- #: inc/admin/adminbar.php:96
5627
- msgid "noindex is off."
5628
  msgstr ""
5629
 
5630
- #: inc/admin/adminbar.php:105
5631
- msgid "nofollow is on!"
5632
  msgstr ""
5633
 
5634
- #: inc/admin/adminbar.php:108
5635
- msgid "nofollow is off."
5636
  msgstr ""
5637
 
5638
- #: inc/admin/adminbar.php:172
5639
- msgid "BOT"
5640
  msgstr ""
5641
 
5642
- #: inc/admin/adminbar.php:208
5643
- msgid "Broken Links"
5644
  msgstr ""
5645
 
5646
- #: inc/admin/adminbar.php:216
5647
- msgid "Configuration wizard"
5648
  msgstr ""
5649
 
5650
- #: inc/admin/ajax.php:29
5651
- msgid ""
5652
- "A redirect is active for this URL. Turn it off to get the Google preview and "
5653
- "content analysis."
5654
  msgstr ""
5655
 
5656
- #: inc/admin/ajax.php:103
5657
- msgid "To get your Google snippet preview, publish your post!"
5658
  msgstr ""
5659
 
5660
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:98
5661
- msgid "SEO Title / Description"
5662
  msgstr ""
5663
 
5664
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:126
5665
- msgid "Meta Description"
5666
  msgstr ""
5667
 
5668
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:167
5669
- msgid "SEO Advanced"
 
 
 
5670
  msgstr ""
5671
 
5672
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:185
5673
  msgid ""
5674
- "Do not display this page in search engine results / XML - HTML sitemaps "
5675
- "(noindex)"
 
5676
  msgstr ""
5677
 
5678
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:196
5679
- msgid "Do not follow links for this page (nofollow)"
5680
  msgstr ""
5681
 
5682
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:207
5683
- msgid ""
5684
- "Do not use Open Directory project metadata for titles or excerpts for this "
5685
- "page (noodp)"
5686
  msgstr ""
5687
 
5688
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:218
5689
- msgid "Do not index images for this page (noimageindex)"
 
 
5690
  msgstr ""
5691
 
5692
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:229
5693
- msgid ""
5694
- "Do not display a \"Cached\" link in the Google search results (noarchive)"
5695
  msgstr ""
5696
 
5697
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:240
5698
- msgid ""
5699
- "Do not display a description in search results for this page (nosnippet)"
5700
  msgstr ""
5701
 
5702
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:324
5703
- msgid "SEO Social"
 
5704
  msgstr ""
5705
 
5706
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:344
5707
  msgid ""
5708
- "<p class=\"elementor-control-field-description\"><span class=\"dashicons "
5709
- "dashicons-external\"></span><a href=\"https://developers.facebook.com/tools/"
5710
- "debug/sharing/?q="
5711
  msgstr ""
5712
 
5713
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:354
5714
  msgid ""
5715
- "<p class=\"elementor-control-field-description\"><strong>Did you know?</"
5716
- "strong> LinkedIn, Instagram and Pinterest use the same social metadata as "
5717
- "Facebook. Twitter does the same if no Twitter cards tags are defined below.</"
5718
- "p>"
5719
  msgstr ""
5720
 
5721
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:472
5722
- msgid "SEO Redirection"
5723
  msgstr ""
5724
 
5725
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:536
5726
- msgid "SEO Content Analysis"
 
 
5727
  msgstr ""
5728
 
5729
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:548
5730
- msgid ""
5731
- "<p class=\"elementor-control-field-description\">Enter a few keywords for "
5732
- "analysis to help you write optimized content.</p><p class=\"elementor-"
5733
- "control-field-description\"><strong>Did you know?</strong> Writing content "
5734
- "for your users is the most important thing! If it doesn‘t feel natural, your "
5735
- "visitors will leave your site, Google will know it and your ranking will be "
5736
- "affected.</p>"
5737
  msgstr ""
5738
 
5739
- #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:45
5740
- msgid ". The closer to 1.91 the better."
5741
  msgstr ""
5742
 
5743
- #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:54
5744
- msgid "By"
5745
  msgstr ""
5746
 
5747
- #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:69
5748
- msgid ". The closer to 1 the better (with large card, 2 is better)."
 
 
 
 
 
5749
  msgstr ""
5750
 
5751
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:369
5752
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:408
5753
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:32
5754
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:75
5755
- msgid "Question..."
5756
  msgstr ""
5757
 
5758
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:385
5759
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:424
5760
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:49
5761
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:92
5762
- msgid "Answer..."
5763
  msgstr ""
5764
 
5765
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:394
5766
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:398
5767
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:433
5768
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:437
5769
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:60
5770
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:63
5771
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:103
5772
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:106
5773
- msgid "Remove"
5774
  msgstr ""
5775
 
5776
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:521
5777
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:185
5778
- msgid "FAQ Settings"
5779
  msgstr ""
5780
 
5781
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:522
5782
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:186
5783
- msgid "List Style"
5784
  msgstr ""
5785
 
5786
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:532
5787
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:198
5788
- msgid "NONE"
5789
  msgstr ""
5790
 
5791
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:540
5792
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:209
5793
- msgid "OL"
5794
  msgstr ""
5795
 
5796
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:548
5797
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:220
5798
- msgid "UL"
5799
  msgstr ""
5800
 
5801
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:548
5802
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:224
5803
- msgid "Title Wrapper"
5804
  msgstr ""
5805
 
5806
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:558
5807
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:236
5808
- msgid "H2"
5809
  msgstr ""
5810
 
5811
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:566
5812
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:247
5813
- msgid "H3"
5814
  msgstr ""
5815
 
5816
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:574
5817
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:258
5818
- msgid "H4"
5819
  msgstr ""
5820
 
5821
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:582
5822
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:269
5823
- msgid "H5"
 
5824
  msgstr ""
5825
 
5826
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:590
5827
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:280
5828
- msgid "H6"
5829
  msgstr ""
5830
 
5831
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:598
5832
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:291
5833
- msgid "P"
5834
  msgstr ""
5835
 
5836
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:606
5837
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:302
5838
- msgid "DIV"
5839
  msgstr ""
5840
 
5841
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:606
5842
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:306
5843
- msgid "Image Size"
5844
  msgstr ""
5845
 
5846
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:616
5847
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:318
5848
- msgid "S"
 
5849
  msgstr ""
5850
 
5851
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:624
5852
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:329
5853
- msgid "M"
 
 
 
 
5854
  msgstr ""
5855
 
5856
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:632
5857
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:340
5858
- msgid "L"
 
 
5859
  msgstr ""
5860
 
5861
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:640
5862
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:351
5863
- msgid "XL"
5864
  msgstr ""
5865
 
5866
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:640
5867
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:355
5868
- msgid "SEO Settings"
5869
  msgstr ""
5870
 
5871
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:641
5872
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:358
5873
- msgid "Enable FAQ Schema"
5874
  msgstr ""
5875
 
5876
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:655
5877
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:661
5878
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:381
5879
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:388
5880
- msgid "Add FAQ"
5881
  msgstr ""
5882
 
5883
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:763
5884
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:71
5885
- msgid "To edit the background image, you need permission to upload media."
5886
  msgstr ""
5887
 
5888
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:769
5889
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:779
5890
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:781
5891
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:81
5892
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:96
5893
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:104
5894
- msgid "Set Image"
5895
  msgstr ""
5896
 
5897
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:788
5898
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:115
5899
- msgid "Remove Image"
5900
  msgstr ""
5901
 
5902
- #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/index.js:8
5903
- msgid "FAQ"
5904
  msgstr ""
5905
 
5906
- #: inc/functions/options-advanced-admin.php:27
5907
- msgid "Need help?"
5908
  msgstr ""
5909
 
5910
- #: inc/functions/options-advanced-admin.php:40
5911
- #: inc/functions/options-advanced-admin.php:50
5912
- msgid "WARNING"
5913
  msgstr ""
5914
 
5915
- #: inc/functions/options-advanced-admin.php:41
5916
- msgid ""
5917
- "Do NOT change your permalink structure on a production site. Changing URLs "
5918
- "can severely damage your SEO."
5919
  msgstr ""
5920
 
5921
- #: inc/functions/options-advanced-admin.php:51
5922
- msgid ""
5923
- "URL rewriting is NOT enabled on your site. Select a permalink structure that "
5924
- "is optimized for SEO (NOT Plain)."
5925
  msgstr ""
5926
 
5927
- #: inc/functions/options-advanced-admin.php:399
5928
- #: inc/functions/options-advanced-admin.php:971
5929
- msgid "Title tag"
5930
  msgstr ""
5931
 
5932
- #: inc/functions/options-advanced-admin.php:402
5933
- msgid "Meta Desc."
 
5934
  msgstr ""
5935
 
5936
- #: inc/functions/options-advanced-admin.php:405
5937
- msgid "Redirect?"
 
5938
  msgstr ""
5939
 
5940
- #: inc/functions/options-advanced-admin.php:411
5941
- #: inc/functions/options-advanced-admin.php:995
5942
- msgid "Canonical"
 
 
5943
  msgstr ""
5944
 
5945
- #: inc/functions/options-advanced-admin.php:414
5946
- msgid "Target Kw"
5947
  msgstr ""
5948
 
5949
- #: inc/functions/options-advanced-admin.php:417
5950
- msgid "Noindex?"
5951
  msgstr ""
5952
 
5953
- #: inc/functions/options-advanced-admin.php:420
5954
- msgid "Nofollow?"
5955
  msgstr ""
5956
 
5957
- #: inc/functions/options-advanced-admin.php:423
5958
- msgid "Score"
 
5959
  msgstr ""
5960
 
5961
- #: inc/functions/options-advanced-admin.php:426
5962
- msgid "Words"
 
5963
  msgstr ""
5964
 
5965
- #: inc/functions/options-advanced-admin.php:429
5966
- msgid "W3C check"
 
 
 
5967
  msgstr ""
5968
 
5969
- #: inc/functions/options-advanced-admin.php:432
5970
- msgid "Page Speed"
5971
  msgstr ""
5972
 
5973
- #: inc/functions/options-advanced-admin.php:488
5974
- msgid "Check code quality of this page"
5975
  msgstr ""
5976
 
5977
- #: inc/functions/options-advanced-admin.php:492
5978
- msgid "Analyze this page with Google Page Speed"
5979
  msgstr ""
5980
 
5981
- #: inc/functions/options-advanced-admin.php:551
5982
- msgid "Insights from these keywords:"
 
5983
  msgstr ""
5984
 
5985
- #. Average position
5986
- #: inc/functions/options-advanced-admin.php:557
5987
- msgid "Average position: "
 
 
5988
  msgstr ""
5989
 
5990
- #. Latest position
5991
- #: inc/functions/options-advanced-admin.php:583
5992
- msgid "Latest position: "
5993
  msgstr ""
5994
 
5995
- #: inc/functions/options-advanced-admin.php:675
5996
- msgid "Enable noindex"
5997
  msgstr ""
5998
 
5999
- #: inc/functions/options-advanced-admin.php:728
6000
- msgid "Enable index"
6001
  msgstr ""
6002
 
6003
- #: inc/functions/options-advanced-admin.php:781
6004
- msgid "Enable nofollow"
 
6005
  msgstr ""
6006
 
6007
- #: inc/functions/options-advanced-admin.php:833
6008
- msgid "Enable follow"
 
6009
  msgstr ""
6010
 
6011
- #: inc/functions/options-advanced-admin.php:880
6012
- msgid "Enable redirection"
 
 
 
6013
  msgstr ""
6014
 
6015
- #: inc/functions/options-advanced-admin.php:919
6016
- msgid "Disable redirection"
6017
  msgstr ""
6018
 
6019
- #: inc/functions/options-advanced-admin.php:1099
6020
- msgid "Description"
6021
  msgstr ""
6022
 
6023
- #: inc/functions/options-advanced-admin.php:1108
6024
- msgid ""
6025
- "The description is not prominent by default; however, some themes may show "
6026
- "it."
6027
  msgstr ""
6028
 
6029
- #: inc/functions/options-google-analytics.php:211
6030
- msgid ""
6031
- "By visiting our site, you agree to our privacy policy regarding cookies, "
6032
- "tracking statistics, etc.&nbsp;<a href=\"[seopress_privacy_page]\" tabindex="
6033
- "\"10\">Read more</a>"
6034
  msgstr ""
6035
 
6036
- #: inc/functions/options-google-analytics.php:213
6037
- msgid ""
6038
- "By visiting our site, you agree to our privacy policy regarding cookies, "
6039
- "tracking statistics, etc."
6040
  msgstr ""
6041
 
6042
- #: inc/functions/options-google-analytics.php:232
6043
- msgid "X"
6044
  msgstr ""
6045
 
6046
- #: inc/functions/options-google-analytics.php:794
6047
- #: inc/functions/options-matomo.php:223
6048
- msgid "Authors"
6049
  msgstr ""
6050
 
6051
- #: inc/functions/options-google-analytics.php:813
6052
- #: inc/functions/options-matomo.php:237
6053
- msgid "Categories"
 
 
6054
  msgstr ""
6055
 
6056
- #: inc/functions/options-google-analytics.php:839
6057
- #: inc/functions/options-matomo.php:257
6058
- msgid "Tags"
6059
  msgstr ""
6060
 
6061
- #: inc/functions/options-google-analytics.php:853
6062
- #: inc/functions/options-matomo.php:266
6063
- msgid "Post types"
6064
  msgstr ""
6065
 
6066
- #: inc/functions/options-google-analytics.php:867
6067
- #: inc/functions/options-matomo.php:275
6068
- msgid "Connected users"
6069
  msgstr ""
6070
 
6071
- #: inc/functions/options-import-export.php:58
6072
- #: inc/functions/options-import-export.php:432
6073
- msgid "Please upload a valid .json file"
6074
  msgstr ""
6075
 
6076
- #: inc/functions/options-import-export.php:63
6077
- #: inc/functions/options-import-export.php:132
6078
- #: inc/functions/options-import-export.php:236
6079
- #: inc/functions/options-import-export.php:436
6080
- #: inc/functions/options-import-export.php:502
6081
- msgid "Please upload a file to import"
6082
  msgstr ""
6083
 
6084
- #: inc/functions/options-import-export.php:128
6085
- #: inc/functions/options-import-export.php:232
6086
- msgid "Please upload a valid .csv file"
6087
  msgstr ""
6088
 
6089
- #: inc/functions/options-import-export.php:136
6090
- msgid "Please choose a separator"
 
 
6091
  msgstr ""
6092
 
6093
- #: inc/functions/options-import-export.php:145
6094
- msgid "Invalid separator"
 
 
6095
  msgstr ""
6096
 
6097
- #: inc/functions/options-import-export.php:498
6098
- msgid "Please upload a valid .txt file"
 
 
6099
  msgstr ""
6100
 
6101
- #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:125
6102
- msgid "XML Sitemaps"
 
 
 
6103
  msgstr ""
6104
 
6105
- #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:128
6106
- #, php-format
6107
- msgid "This XML Sitemap Index file contains %s sitemaps."
6108
  msgstr ""
6109
 
6110
- #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:131
6111
- #, php-format
6112
- msgid "This XML Sitemap contains %s URL(s)."
 
6113
  msgstr ""
6114
 
6115
- #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:138
6116
- msgid "Last update"
 
 
 
6117
  msgstr ""
6118
 
6119
- #. translators: %d current page (eg: 2) %2$d total number of pages (eg: 30)
6120
- #: inc/functions/variables/dynamic-variables.php:68
6121
- #, php-format
6122
- msgid "Page %d of %2$d"
 
6123
  msgstr ""
6124
 
6125
- #: seopress.php:154
6126
- msgid "has been successfully updated!"
6127
  msgstr ""
6128
 
6129
- #: seopress.php:263
6130
- msgid "Clear"
 
 
6131
  msgstr ""
6132
 
6133
- #: seopress.php:264
6134
- msgid "Clear color"
 
 
 
6135
  msgstr ""
6136
 
6137
- #: seopress.php:266
6138
- msgid "Select default color"
6139
  msgstr ""
6140
 
6141
- #: seopress.php:267
6142
- msgid "Select Color"
 
 
 
 
6143
  msgstr ""
6144
 
6145
- #: seopress.php:268
6146
- msgid "Color value"
 
6147
  msgstr ""
6148
 
6149
- #: seopress.php:398
6150
- msgid "You like SEOPress? Don't forget to rate it 5 stars!"
6151
  msgstr ""
6152
 
6153
- #: seopress.php:459
6154
- msgid "Docs"
 
6155
  msgstr ""
6156
 
6157
- #: seopress.php:460
6158
- msgid "Configuration Wizard"
 
6159
  msgstr ""
6160
 
6161
- #: seopress.php:462
6162
- msgid "GO PRO!"
6163
  msgstr ""
6164
 
6165
- #: seopress.php:1263
6166
- msgid "Follow us:"
 
 
6167
  msgstr ""
6168
 
6169
- #: seopress.php:1270
6170
- msgid "Like our Facebook page"
6171
  msgstr ""
6172
 
6173
- #: seopress.php:1282
6174
- msgid "Watch our guided tour videos to learn more about SEOPress"
 
 
6175
  msgstr ""
6176
 
6177
- #: seopress.php:1295
6178
- msgid "Read our blog posts about SEO concepts, tutorials and more"
6179
  msgstr ""
6180
 
6181
- #: seopress.php:1307
6182
- msgid "The off side of SEOPress"
6183
  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: 2021-02-12 10:54+0100\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
18
  "X-Poedit-Flags-xgettext: --add-comments\n"
19
  "X-Poedit-SearchPath-0: .\n"
20
 
21
+ #: inc/admin/admin-dyn-variables-helper.php:6
22
+ #: inc/admin/admin-metaboxes-form.php:136 inc/admin/admin.php:51
23
+ #: inc/admin/admin.php:3016 inc/admin/admin.php:3119 inc/admin/admin.php:3243
24
+ #: inc/admin/admin.php:3371 inc/admin/admin.php:3496 inc/admin/admin.php:3575
25
+ #: inc/admin/admin.php:3640 inc/admin/admin.php:3705 inc/admin/admin.php:3749
26
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:67
27
  msgid "Site Title"
28
  msgstr ""
29
 
30
+ #: inc/admin/admin-dyn-variables-helper.php:7 inc/admin/admin.php:52
31
+ #: inc/admin/admin.php:3018 inc/admin/admin.php:3027
32
  msgid "Tagline"
33
  msgstr ""
34
 
35
+ #: inc/admin/admin-dyn-variables-helper.php:8
36
+ #: inc/admin/admin-metaboxes-form.php:134 inc/admin/admin.php:3115
37
+ #: inc/admin/admin.php:3241 inc/admin/admin.php:4223
38
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:66
39
  msgid "Post Title"
40
  msgstr ""
41
 
42
+ #: inc/admin/admin-dyn-variables-helper.php:9 inc/admin/admin.php:54
43
  msgid "Post excerpt"
44
  msgstr ""
45
 
46
+ #: inc/admin/admin-dyn-variables-helper.php:10
47
  msgid "Post content / product description"
48
  msgstr ""
49
 
50
+ #: inc/admin/admin-dyn-variables-helper.php:11 inc/admin/admin.php:56
51
  msgid "Post thumbnail URL"
52
  msgstr ""
53
 
54
+ #: inc/admin/admin-dyn-variables-helper.php:12
55
  msgid "Post URL"
56
  msgstr ""
57
 
58
+ #: inc/admin/admin-dyn-variables-helper.php:13 inc/admin/admin.php:58
59
  msgid "Post date"
60
  msgstr ""
61
 
62
+ #: inc/admin/admin-dyn-variables-helper.php:14
63
  msgid "Post modified date"
64
  msgstr ""
65
 
66
+ #: inc/admin/admin-dyn-variables-helper.php:15 inc/admin/admin.php:60
67
+ #: inc/admin/admin.php:3573
68
  msgid "Post author"
69
  msgstr ""
70
 
71
+ #: inc/admin/admin-dyn-variables-helper.php:16 inc/admin/admin.php:61
72
  msgid "Post category"
73
  msgstr ""
74
 
75
+ #: inc/admin/admin-dyn-variables-helper.php:17 inc/admin/admin.php:62
76
  msgid "Post tag"
77
  msgstr ""
78
 
79
+ #: inc/admin/admin-dyn-variables-helper.php:18 inc/admin/admin.php:63
80
  msgid "Category title"
81
  msgstr ""
82
 
83
+ #: inc/admin/admin-dyn-variables-helper.php:19 inc/admin/admin.php:64
84
  msgid "Category description"
85
  msgstr ""
86
 
87
+ #: inc/admin/admin-dyn-variables-helper.php:20 inc/admin/admin.php:65
88
  msgid "Tag title"
89
  msgstr ""
90
 
91
+ #: inc/admin/admin-dyn-variables-helper.php:21 inc/admin/admin.php:66
92
  msgid "Tag description"
93
  msgstr ""
94
 
95
+ #: inc/admin/admin-dyn-variables-helper.php:22 inc/admin/admin.php:67
96
  msgid "Term title"
97
  msgstr ""
98
 
99
+ #: inc/admin/admin-dyn-variables-helper.php:23 inc/admin/admin.php:68
100
  msgid "Term description"
101
  msgstr ""
102
 
103
+ #: inc/admin/admin-dyn-variables-helper.php:24 inc/admin/admin.php:69
104
  msgid "Search keywords"
105
  msgstr ""
106
 
107
+ #: inc/admin/admin-dyn-variables-helper.php:25 inc/admin/admin.php:70
108
  msgid "Current number page"
109
  msgstr ""
110
 
111
+ #: inc/admin/admin-dyn-variables-helper.php:26
112
  msgid "Page number with context"
113
  msgstr ""
114
 
115
+ #: inc/admin/admin-dyn-variables-helper.php:27 inc/admin/admin.php:72
116
  msgid "Plural Post Type Archive name"
117
  msgstr ""
118
 
119
+ #: inc/admin/admin-dyn-variables-helper.php:28 inc/admin/admin.php:73
120
  msgid "Archive title"
121
  msgstr ""
122
 
123
+ #: inc/admin/admin-dyn-variables-helper.php:29
124
  msgid "Archive date"
125
  msgstr ""
126
 
127
+ #: inc/admin/admin-dyn-variables-helper.php:30 inc/admin/admin.php:75
128
  msgid "Day Archive date"
129
  msgstr ""
130
 
131
+ #: inc/admin/admin-dyn-variables-helper.php:31 inc/admin/admin.php:76
132
  msgid "Month Archive title"
133
  msgstr ""
134
 
135
+ #: inc/admin/admin-dyn-variables-helper.php:32 inc/admin/admin.php:77
136
  msgid "Year Archive title"
137
  msgstr ""
138
 
139
+ #: inc/admin/admin-dyn-variables-helper.php:33
140
  msgid "Custom fields from post, page or post type"
141
  msgstr ""
142
 
143
+ #: inc/admin/admin-dyn-variables-helper.php:34
144
  msgid "Custom term taxonomy from post, page or post type"
145
  msgstr ""
146
 
147
+ #: inc/admin/admin-dyn-variables-helper.php:35 inc/admin/admin.php:80
148
  msgid "Single product category"
149
  msgstr ""
150
 
151
+ #: inc/admin/admin-dyn-variables-helper.php:36 inc/admin/admin.php:81
152
  msgid "Single product tag"
153
  msgstr ""
154
 
155
+ #: inc/admin/admin-dyn-variables-helper.php:37 inc/admin/admin.php:82
156
  msgid "Single product short description"
157
  msgstr ""
158
 
159
+ #: inc/admin/admin-dyn-variables-helper.php:38 inc/admin/admin.php:83
160
  msgid "Single product price"
161
  msgstr ""
162
 
163
+ #: inc/admin/admin-dyn-variables-helper.php:39 inc/admin/admin.php:84
164
  msgid "Single product price taxes excluded"
165
  msgstr ""
166
 
167
+ #: inc/admin/admin-dyn-variables-helper.php:40 inc/admin/admin.php:85
168
  msgid "Single SKU product"
169
  msgstr ""
170
 
171
+ #: inc/admin/admin-dyn-variables-helper.php:41 inc/admin/admin.php:86
172
  msgid "Current day"
173
  msgstr ""
174
 
175
+ #: inc/admin/admin-dyn-variables-helper.php:42 inc/admin/admin.php:87
176
  msgid "Current month"
177
  msgstr ""
178
 
179
+ #: inc/admin/admin-dyn-variables-helper.php:43
180
  msgid "Current month in 3 letters"
181
  msgstr ""
182
 
183
+ #: inc/admin/admin-dyn-variables-helper.php:44 inc/admin/admin.php:89
184
  msgid "Current year"
185
  msgstr ""
186
 
187
+ #: inc/admin/admin-dyn-variables-helper.php:45 inc/admin/admin.php:90
188
  msgid "Current date"
189
  msgstr ""
190
 
191
+ #: inc/admin/admin-dyn-variables-helper.php:46 inc/admin/admin.php:91
192
  msgid "Current time"
193
  msgstr ""
194
 
195
+ #: inc/admin/admin-dyn-variables-helper.php:47
196
  msgid "Author biography"
197
  msgstr ""
198
 
199
+ #: inc/admin/admin-dyn-variables-helper.php:48 inc/admin/admin.php:93
200
  msgid "Current month in digital format"
201
  msgstr ""
202
 
230
  #: inc/admin/admin-features-list.php:233 inc/admin/admin-features-list.php:252
231
  #: inc/admin/admin-features-list.php:271 inc/admin/admin-features-list.php:290
232
  #: inc/admin/admin-features-list.php:338 inc/admin/admin-features-list.php:356
233
+ #: inc/admin/admin.php:147 inc/admin/admin.php:153 inc/admin/admin.php:176
234
+ #: inc/admin/admin.php:182 inc/admin/admin.php:205 inc/admin/admin.php:211
235
  msgid "Read our guide"
236
  msgstr ""
237
 
239
  msgid "Guide to manage your titles and meta descriptions - new window"
240
  msgstr ""
241
 
242
+ #: inc/admin/admin-features-list.php:31 inc/admin/admin.php:38
243
  msgid "XML / Image / Video / HTML Sitemap"
244
  msgstr ""
245
 
252
  msgstr ""
253
 
254
  #: inc/admin/admin-features-list.php:47 inc/admin/admin-header.php:57
255
+ #: inc/admin/admin.php:39 inc/admin/adminbar.php:137
256
  msgid "Social Networks"
257
  msgstr ""
258
 
265
  msgstr ""
266
 
267
  #: inc/admin/admin-features-list.php:63 inc/admin/admin-header.php:63
268
+ #: inc/admin/admin.php:40 inc/admin/adminbar.php:143
269
  msgid "Analytics"
270
  msgstr ""
271
 
278
  msgstr ""
279
 
280
  #: inc/admin/admin-features-list.php:79 inc/admin/admin-header.php:69
281
+ #: inc/admin/admin-metaboxes-form.php:68 inc/admin/admin.php:41
282
+ #: inc/admin/admin.php:268 inc/admin/admin.php:591 inc/admin/adminbar.php:149
283
  msgid "Advanced"
284
  msgstr ""
285
 
289
 
290
  #: inc/admin/admin-features-list.php:90 inc/admin/admin-header.php:25
291
  #: inc/admin/admin-header.php:77 inc/admin/adminbar.php:157
292
+ #: src/Actions/Admin/ManageColumn.php:97
293
  msgid "Insights"
294
  msgstr ""
295
 
413
  msgstr ""
414
 
415
  #: inc/admin/admin-features-list.php:260 inc/admin/admin-header.php:142
416
+ #: inc/admin/admin.php:633 inc/admin/adminbar.php:200
417
  msgid "Redirections"
418
  msgstr ""
419
 
474
  msgstr ""
475
 
476
  #: inc/admin/admin-features-list.php:330 inc/admin/admin-header.php:187
477
+ #: inc/admin/admin.php:42 inc/admin/adminbar.php:164
478
  msgid "Tools"
479
  msgstr ""
480
 
487
  msgstr ""
488
 
489
  #: inc/admin/admin-features-list.php:348 inc/admin/admin-header.php:180
490
+ #: inc/admin/admin-notifications-center.php:874 inc/admin/adminbar.php:179
491
  msgid "License"
492
  msgstr ""
493
 
539
  msgid "SEOPress"
540
  msgstr ""
541
 
542
+ #: inc/admin/admin-header.php:31 inc/admin/admin-notifications-center.php:904
543
  #: inc/admin/adminbar.php:185
544
  msgid "PRO"
545
  msgstr ""
548
  msgid "FREE"
549
  msgstr ""
550
 
551
+ #: inc/admin/admin-header.php:45 inc/admin/admin.php:37
552
  #: inc/admin/adminbar.php:125
553
  msgid "Titles & Metas"
554
  msgstr ""
555
 
556
+ #: inc/admin/admin-header.php:51 inc/admin/admin.php:38
557
  #: inc/admin/adminbar.php:131
558
  msgid "XML / HTML Sitemap"
559
  msgstr ""
574
  msgid "Send feedback"
575
  msgstr ""
576
 
577
+ #: inc/admin/admin-header.php:219 seopress.php:1282
578
  msgid "Join our Facebook Community group"
579
  msgstr ""
580
 
581
+ #: inc/admin/admin-header.php:223 seopress.php:1306
582
  msgid "Follow us on Twitter"
583
  msgstr ""
584
 
594
  msgid "Support"
595
  msgstr ""
596
 
597
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:6
598
  msgid "Enter a few keywords for analysis to help you write optimized content."
599
  msgstr ""
600
 
601
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:9
602
  msgid "Did you know?"
603
  msgstr ""
604
 
605
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:9
606
  msgid ""
607
  "Writing content for your users is the most important thing! If it doesn‘t "
608
  "feel natural, your visitors will leave your site, Google will know it and "
609
  "your ranking will be affected."
610
  msgstr ""
611
 
 
612
  #: inc/admin/admin-metaboxes-content-analysis-form.php:13
613
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:14
614
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:16
615
+ #: inc/admin/admin.php:681 inc/admin/admin.php:717
616
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:556
617
+ #: inc/functions/options-advanced-admin.php:812
618
  msgid "Target keywords"
619
  msgstr ""
620
 
621
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:14
622
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:558
623
  msgid ""
624
  "Separate target keywords with commas. Do not use spaces after the commas, "
625
  "unless you want to include them"
626
  msgstr ""
627
 
628
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:16
629
  msgid "Enter your target keywords"
630
  msgstr ""
631
 
632
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:19
633
  msgid "Analyze my content"
634
  msgstr ""
635
 
636
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:21
637
  #: inc/admin/page-builders/elementor/inc/controls/class-content-analysis-control.php:43
638
  msgid "Refresh analysis"
639
  msgstr ""
640
 
641
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:25
642
  msgid "Track with Insights"
643
  msgstr ""
644
 
645
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:30
646
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:582
647
  msgid ""
648
  "To get the most accurate analysis, save your post first. We analyze all of "
649
  "your source code as a search engine would."
650
  msgstr ""
651
 
 
652
  #: inc/admin/admin-metaboxes-content-analysis-form.php:35
653
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:36
654
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:569
655
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:49
656
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:50
657
  msgid "Google suggestions"
658
  msgstr ""
659
 
660
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:36
661
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:50
662
  msgid ""
663
  "Enter a keyword, or a phrase, to find the top 10 Google suggestions "
664
  "instantly. This is useful if you want to work with the long tail technique."
665
  msgstr ""
666
 
667
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:38
668
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:51
669
  msgid "Get suggestions from Google"
670
  msgstr ""
671
 
672
+ #: inc/admin/admin-metaboxes-content-analysis-form.php:40
673
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:52
674
  msgid "Get suggestions!"
675
  msgstr ""
676
 
677
+ #: inc/admin/admin-metaboxes-form.php:58 inc/admin/admin-metaboxes.php:172
678
+ #: inc/admin/admin-metaboxes.php:175 inc/admin/admin.php:30
679
  #: inc/admin/adminbar.php:44
680
  #: inc/admin/page-builders/gutenberg/gutenberg-addon.php:36
681
+ #: inc/functions/options-advanced-admin.php:794
682
  msgid "SEO"
683
  msgstr ""
684
 
685
+ #: inc/admin/admin-metaboxes-form.php:67
686
  msgid "Titles settings"
687
  msgstr ""
688
 
689
+ #: inc/admin/admin-metaboxes-form.php:69
690
  msgid "Social"
691
  msgstr ""
692
 
693
+ #: inc/admin/admin-metaboxes-form.php:72
694
  msgid "Redirection"
695
  msgstr ""
696
 
697
+ #: inc/admin/admin-metaboxes-form.php:78
698
  msgid "Google News"
699
  msgstr ""
700
 
701
+ #: inc/admin/admin-metaboxes-form.php:85
702
  msgid "Video Sitemap"
703
  msgstr ""
704
 
705
+ #: inc/admin/admin-metaboxes-form.php:108
706
  msgid ""
707
  "This is your <strong>Shop page</strong>. Go to <strong>SEO > Titles & Metas "
708
  "> Archives > Products</strong> "
709
  msgstr ""
710
 
711
+ #: inc/admin/admin-metaboxes-form.php:108
712
  msgid "to edit your title and meta description"
713
  msgstr ""
714
 
715
+ #: inc/admin/admin-metaboxes-form.php:115
716
+ #: inc/admin/admin-metaboxes-form.php:118
717
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:114
718
  msgid "Title"
719
  msgstr ""
720
 
721
+ #: inc/admin/admin-metaboxes-form.php:116 inc/admin/admin.php:657
722
+ #: inc/admin/admin.php:693 src/Helpers/ContentAnalysis.php:48
 
723
  msgid "Meta title"
724
  msgstr ""
725
 
726
+ #: inc/admin/admin-metaboxes-form.php:116
727
  msgid ""
728
  "Titles are critical to give users a quick insight into the content of a "
729
  "result and why it’s relevant to their query. It's often the primary piece of "
731
  "use high-quality titles on your web pages."
732
  msgstr ""
733
 
734
+ #: inc/admin/admin-metaboxes-form.php:118
735
  msgid "Enter your title"
736
  msgstr ""
737
 
738
+ #: inc/admin/admin-metaboxes-form.php:125
739
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:55
740
  msgid " / 568 pixels - "
741
  msgstr ""
742
 
743
+ #: inc/admin/admin-metaboxes-form.php:127
744
+ #: inc/admin/admin-metaboxes-form.php:157
745
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:61
746
  msgid " (maximum recommended limit)"
747
  msgstr ""
748
 
749
+ #: inc/admin/admin-metaboxes-form.php:132 inc/admin/admin.php:3366
750
  msgid "Term Title"
751
  msgstr ""
752
 
753
  #. ID
754
+ #: inc/admin/admin-metaboxes-form.php:137 inc/admin/admin-wizard.php:500
755
+ #: inc/admin/admin.php:1117 inc/admin/admin.php:3004 inc/admin/admin.php:3017
756
+ #: inc/admin/admin.php:3117 inc/admin/admin.php:3242 inc/admin/admin.php:3369
757
+ #: inc/admin/admin.php:3494 inc/admin/admin.php:3574 inc/admin/admin.php:3639
758
+ #: inc/admin/admin.php:3704 inc/admin/admin.php:3750
759
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:68
760
  msgid "Separator"
761
  msgstr ""
762
 
763
  #. ID
764
+ #: inc/admin/admin-metaboxes-form.php:145
765
+ #: inc/admin/admin-metaboxes-form.php:146
766
+ #: inc/admin/admin-metaboxes-form.php:148 inc/admin/admin-wizard.php:299
767
+ #: inc/admin/admin-wizard.php:319 inc/admin/admin-wizard.php:336
768
+ #: inc/admin/admin-wizard.php:355 inc/admin/admin-wizard.php:374
769
+ #: inc/admin/admin-wizard.php:392 inc/admin/admin-wizard.php:409
770
+ #: inc/admin/admin-wizard.php:425 inc/admin/admin-wizard.php:444
771
+ #: inc/admin/admin.php:660 inc/admin/admin.php:696 inc/admin/admin.php:796
772
+ #: inc/admin/admin.php:818 inc/admin/admin.php:837 inc/admin/admin.php:858
773
+ #: inc/admin/admin.php:879 inc/admin/admin.php:899 inc/admin/admin.php:918
774
+ #: inc/admin/admin.php:936 inc/admin/admin.php:956 inc/admin/admin.php:1133
775
+ #: inc/admin/admin.php:3024 inc/functions/options-advanced-admin.php:804
776
+ #: src/Helpers/ContentAnalysis.php:53
 
777
  msgid "Meta description"
778
  msgstr ""
779
 
780
+ #: inc/admin/admin-metaboxes-form.php:146
781
  msgid ""
782
  "A meta description tag should generally inform and interest users with a "
783
  "short, relevant summary of what a particular page is about. <br>They are "
787
  "device width."
788
  msgstr ""
789
 
790
+ #: inc/admin/admin-metaboxes-form.php:148
791
  msgid "Enter your meta description"
792
  msgstr ""
793
 
794
+ #: inc/admin/admin-metaboxes-form.php:155
795
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:57
796
  msgid " / 940 pixels - "
797
  msgstr ""
798
 
799
+ #: inc/admin/admin-metaboxes-form.php:161
800
  msgid "Category / term description"
801
  msgstr ""
802
 
803
+ #: inc/admin/admin-metaboxes-form.php:163
804
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:70
805
  msgid "Post Excerpt"
806
  msgstr ""
807
 
808
+ #: inc/admin/admin-metaboxes-form.php:174
809
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:138
810
  msgid "Google Snippet Preview"
811
  msgstr ""
812
 
813
+ #: inc/admin/admin-metaboxes-form.php:175
814
  msgid "Snippet Preview"
815
  msgstr ""
816
 
817
+ #: inc/admin/admin-metaboxes-form.php:175
818
  msgid ""
819
  "The Google preview is a simulation. <br>There is no reliable preview because "
820
  "it depends on the screen resolution, the device used, the expression sought, "
823
  "what the crawlers will see."
824
  msgstr ""
825
 
826
+ #: inc/admin/admin-metaboxes-form.php:177
827
  msgid ""
828
  "This is what your page will look like in Google search results. You have to "
829
  "publish your post to get the Google Snippet Preview."
830
  msgstr ""
831
 
832
+ #: inc/admin/admin-metaboxes-form.php:182
833
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:91
834
  msgid "Mobile Preview"
835
  msgstr ""
836
 
837
+ #: inc/admin/admin-metaboxes-form.php:226
838
+ msgid "Meta robots settings"
839
+ msgstr ""
840
+
841
+ #: inc/admin/admin-metaboxes-form.php:230
842
+ #: inc/functions/options-advanced-admin.php:829
843
  msgid ""
844
  "Do not display this page in search engine results / XML - HTML sitemaps "
845
  "<strong>(noindex)</strong>"
846
  msgstr ""
847
 
848
+ #: inc/admin/admin-metaboxes-form.php:231
849
  msgid "\"noindex\" robots meta tag"
850
  msgstr ""
851
 
852
+ #: inc/admin/admin-metaboxes-form.php:231
853
  msgid ""
854
  "By checking this option, you will add a meta robots tag with the value "
855
  "\"noindex\". <br>Search engines will not index this URL in the search "
856
  "results."
857
  msgstr ""
858
 
859
+ #: inc/admin/admin-metaboxes-form.php:237
860
+ #: inc/functions/options-advanced-admin.php:837
861
  msgid "Do not follow links for this page <strong>(nofollow)</strong>"
862
  msgstr ""
863
 
864
+ #: inc/admin/admin-metaboxes-form.php:238
865
  msgid "\"nofollow\" robots meta tag"
866
  msgstr ""
867
 
868
+ #: inc/admin/admin-metaboxes-form.php:238
869
  msgid ""
870
  "By checking this option, you will add a meta robots tag with the value "
871
  "\"nofollow\". <br>Search engines will not follow links from this URL."
872
  msgstr ""
873
 
874
+ #: inc/admin/admin-metaboxes-form.php:244
875
  msgid ""
876
  "Do not use Open Directory project metadata for titles or excerpts for this "
877
  "page <strong>(noodp)</strong>"
878
  msgstr ""
879
 
880
+ #: inc/admin/admin-metaboxes-form.php:245
881
  msgid "\"noodp\" robots meta tag"
882
  msgstr ""
883
 
884
+ #: inc/admin/admin-metaboxes-form.php:245
885
  msgid ""
886
  "By checking this option, you will add a meta robots tag with the value "
887
  "\"noodp\". <br>Note that Google and Yahoo have stopped considering this tag "
888
  "since the closing of DMOZ directory."
889
  msgstr ""
890
 
891
+ #: inc/admin/admin-metaboxes-form.php:251
892
  msgid "Do not index images for this page <strong>(noimageindex)</strong>"
893
  msgstr ""
894
 
895
+ #: inc/admin/admin-metaboxes-form.php:252
896
  msgid "\"noimageindex\" robots meta tag"
897
  msgstr ""
898
 
899
+ #: inc/admin/admin-metaboxes-form.php:252
900
  msgid ""
901
  "By checking this option, you will add a meta robots tag with the value "
902
  "\"noimageindex\". <br> Note that your images can always be indexed if they "
903
  "are linked from other pages."
904
  msgstr ""
905
 
906
+ #: inc/admin/admin-metaboxes-form.php:258
907
  msgid ""
908
  "Do not display a \"Cached\" link in the Google search results "
909
  "<strong>(noarchive)</strong>"
910
  msgstr ""
911
 
912
+ #: inc/admin/admin-metaboxes-form.php:259
913
  msgid "\"noarchive\" robots meta tag"
914
  msgstr ""
915
 
916
+ #: inc/admin/admin-metaboxes-form.php:259
917
  msgid ""
918
  "By checking this option, you will add a meta robots tag with the value "
919
  "\"noarchive\"."
920
  msgstr ""
921
 
922
+ #: inc/admin/admin-metaboxes-form.php:265
923
  msgid ""
924
  "Do not display a description in search results for this page "
925
  "<strong>(nosnippet)</strong>"
926
  msgstr ""
927
 
928
+ #: inc/admin/admin-metaboxes-form.php:266
929
  msgid "\"nosnippet\" robots meta tag"
930
  msgstr ""
931
 
932
+ #: inc/admin/admin-metaboxes-form.php:266
933
  msgid ""
934
  "By checking this option, you will add a meta robots tag with the value "
935
  "\"nosnippet\"."
936
  msgstr ""
937
 
938
  #. translators: %s: link to plugin settings page
939
+ #: inc/admin/admin-metaboxes-form.php:272
940
  #, php-format
941
  msgid ""
942
  "You cannot uncheck a parameter? This is normal, and it‘s most likely defined "
943
  "in the <a href=\"%s\">global settings of the plugin.</a>"
944
  msgstr ""
945
 
946
+ #: inc/admin/admin-metaboxes-form.php:275
947
+ #: inc/admin/admin-metaboxes-form.php:276
948
+ #: inc/admin/admin-metaboxes-form.php:279 inc/admin/admin-wizard.php:303
949
+ #: inc/admin/admin-wizard.php:340 inc/admin/admin-wizard.php:359
950
+ #: inc/admin/admin-wizard.php:378 inc/admin/admin-wizard.php:428
951
+ #: inc/admin/admin-wizard.php:448 inc/admin/admin.php:678
952
+ #: inc/admin/admin.php:714 inc/admin/admin.php:800 inc/admin/admin.php:841
953
+ #: inc/admin/admin.php:862 inc/admin/admin.php:883 inc/admin/admin.php:939
954
+ #: inc/admin/admin.php:960
955
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:251
956
+ #: src/Helpers/ContentAnalysis.php:13
957
  msgid "Canonical URL"
958
  msgstr ""
959
 
960
+ #: inc/admin/admin-metaboxes-form.php:276
961
  msgid ""
962
  "A canonical URL is the URL of the page that Google thinks is most "
963
  "representative from a set of duplicate pages on your site. <br>For example, "
969
  "\t\t\t\t\t\t\tThe canonical can be in a different domain than a duplicate."
970
  msgstr ""
971
 
972
+ #: inc/admin/admin-metaboxes-form.php:279
973
  msgid "Default value: "
974
  msgstr ""
975
 
976
+ #: inc/admin/admin-metaboxes-form.php:286
977
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:281
978
  msgid "Select a primary category"
979
  msgstr ""
980
 
981
+ #: inc/admin/admin-metaboxes-form.php:287
982
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:282
983
  msgid ""
984
  "Set the category that gets used in the %category% permalink and in our "
985
  "breadcrumbs if you have multiple categories."
986
  msgstr ""
987
 
988
+ #: inc/admin/admin-metaboxes-form.php:297 inc/admin/admin-wizard.php:517
989
+ #: inc/admin/admin.php:4274
990
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:274
991
  msgid "None (will disable this feature)"
992
  msgstr ""
993
 
994
+ #: inc/admin/admin-metaboxes-form.php:308
995
+ #: inc/admin/admin-metaboxes-form.php:312
996
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:299
997
  msgid "Custom breadcrumbs"
998
  msgstr ""
999
 
1000
+ #: inc/admin/admin-metaboxes-form.php:309
1001
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:300
1002
  msgid "Enter a custom value, useful if your title is too long"
1003
  msgstr ""
1004
 
1005
+ #: inc/admin/admin-metaboxes-form.php:312
1006
  #, php-format
1007
  msgid "Current breadcrumbs: %s"
1008
  msgstr ""
1009
 
1010
+ #: inc/admin/admin-metaboxes-form.php:322
1011
  msgid "Ask Facebook to update its cache"
1012
  msgstr ""
1013
 
1014
+ #: inc/admin/admin-metaboxes-form.php:323
1015
  msgid ""
1016
  "<span class=\"label\">Did you know?</span> LinkedIn, Instagram and Pinterest "
1017
  "use the same social metadata as Facebook. Twitter does the same if no "
1018
  "Twitter cards tags are defined below."
1019
  msgstr ""
1020
 
1021
+ #: inc/admin/admin-metaboxes-form.php:325
1022
+ #: inc/admin/admin-metaboxes-form.php:326
1023
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:362
1024
  msgid "Facebook Title"
1025
  msgstr ""
1026
 
1027
+ #: inc/admin/admin-metaboxes-form.php:326
1028
  msgid "Enter your Facebook title"
1029
  msgstr ""
1030
 
1031
+ #: inc/admin/admin-metaboxes-form.php:329
1032
+ #: inc/admin/admin-metaboxes-form.php:330
1033
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:373
1034
  msgid "Facebook description"
1035
  msgstr ""
1036
 
1037
+ #: inc/admin/admin-metaboxes-form.php:330
1038
  msgid "Enter your Facebook description"
1039
  msgstr ""
1040
 
1041
+ #: inc/admin/admin-metaboxes-form.php:333
1042
+ #: inc/admin/admin-metaboxes-form.php:334
1043
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:384
1044
  msgid "Facebook Thumbnail"
1045
  msgstr ""
1046
 
1047
+ #: inc/admin/admin-metaboxes-form.php:334
1048
+ #: inc/admin/admin-metaboxes-form.php:397 inc/admin/admin.php:4511
1049
+ #: inc/admin/admin.php:4564 inc/admin/admin.php:4659
1050
  msgid "Select your default thumbnail"
1051
  msgstr ""
1052
 
1053
+ #: inc/admin/admin-metaboxes-form.php:335 inc/admin/admin.php:4515
1054
  msgid ""
1055
  "Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or "
1056
  "3280x1712px for retina screens)"
1057
  msgstr ""
1058
 
1059
+ #: inc/admin/admin-metaboxes-form.php:336
1060
+ #: inc/admin/admin-metaboxes-form.php:399
1061
+ #: inc/admin/admin-metaboxes-form.php:584 inc/admin/admin.php:4310
1062
+ #: inc/admin/admin.php:4513 inc/admin/admin.php:4566 inc/admin/admin.php:4661
1063
  msgid "Upload an Image"
1064
  msgstr ""
1065
 
1066
+ #: inc/admin/admin-metaboxes-form.php:341
1067
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:397
1068
  msgid "Facebook Preview"
1069
  msgstr ""
1070
 
1071
+ #: inc/admin/admin-metaboxes-form.php:343
1072
  msgid ""
1073
  "This is what your post will look like in Facebook. You have to publish your "
1074
  "post to get the Facebook Preview."
1075
  msgstr ""
1076
 
1077
+ #: inc/admin/admin-metaboxes-form.php:345
1078
  msgid ""
1079
  "The Social Networks feature is disabled. Still seing informations from the "
1080
  "FB Preview? You probably have social tags added by your theme or a plugin."
1081
  msgstr ""
1082
 
1083
+ #: inc/admin/admin-metaboxes-form.php:348
1084
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:42
1085
  msgid "File type not supported by Facebook. Please choose another image."
1086
  msgstr ""
1087
 
1088
+ #: inc/admin/admin-metaboxes-form.php:349
1089
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:43
1090
  msgid ""
1091
  "Minimun size for Facebook is <strong>200x200px</strong>. Please choose "
1092
  "another image."
1093
  msgstr ""
1094
 
1095
+ #: inc/admin/admin-metaboxes-form.php:350
1096
+ #: inc/admin/admin-metaboxes-form.php:413
1097
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:44
1098
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:68
1099
  msgid "File error. Please choose another image."
1100
  msgstr ""
1101
 
1102
+ #: inc/admin/admin-metaboxes-form.php:351
1103
+ #: inc/admin/admin-metaboxes-form.php:414
1104
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:45
1105
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:69
1106
  msgid "Your image ratio is: "
1107
  msgstr ""
1108
 
1109
+ #: inc/admin/admin-metaboxes-form.php:351
1110
  msgid "The closer to 1.91 the better."
1111
  msgstr ""
1112
 
1113
+ #: inc/admin/admin-metaboxes-form.php:352
1114
+ #: inc/admin/admin-metaboxes-form.php:415
1115
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:46
1116
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:70
1117
  msgid "File URL is not valid."
1118
  msgstr ""
1119
 
1120
+ #: inc/admin/admin-metaboxes-form.php:361
1121
  msgid "By&nbsp;"
1122
  msgstr ""
1123
 
1124
+ #: inc/admin/admin-metaboxes-form.php:386
1125
  msgid "Preview your Twitter card using the official validator"
1126
  msgstr ""
1127
 
1128
  #. twitter:title
1129
+ #: inc/admin/admin-metaboxes-form.php:388
1130
+ #: inc/admin/admin-metaboxes-form.php:389
 
1131
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:411
1132
+ #: src/Services/ContentAnalysis/GetContent.php:511
1133
  msgid "Twitter Title"
1134
  msgstr ""
1135
 
1136
+ #: inc/admin/admin-metaboxes-form.php:389
1137
  msgid "Enter your Twitter title"
1138
  msgstr ""
1139
 
1140
+ #: inc/admin/admin-metaboxes-form.php:392
1141
+ #: inc/admin/admin-metaboxes-form.php:393
1142
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:422
1143
  msgid "Twitter description"
1144
  msgstr ""
1145
 
1146
+ #: inc/admin/admin-metaboxes-form.php:393
1147
  msgid "Enter your Twitter description"
1148
  msgstr ""
1149
 
1150
+ #: inc/admin/admin-metaboxes-form.php:396
1151
+ #: inc/admin/admin-metaboxes-form.php:399
1152
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:433
1153
  msgid "Twitter Thumbnail"
1154
  msgstr ""
1155
 
1156
+ #: inc/admin/admin-metaboxes-form.php:398 inc/admin/admin.php:4663
1157
  msgid ""
1158
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
1159
  "(2:1 with large card), 5Mb max."
1160
  msgstr ""
1161
 
1162
+ #: inc/admin/admin-metaboxes-form.php:404
1163
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:446
1164
  msgid "Twitter Preview"
1165
  msgstr ""
1166
 
1167
+ #: inc/admin/admin-metaboxes-form.php:406
1168
  msgid ""
1169
  "This is what your post will look like in Twitter. You have to publish your "
1170
  "post to get the Twitter Preview."
1171
  msgstr ""
1172
 
1173
+ #: inc/admin/admin-metaboxes-form.php:408
1174
  msgid ""
1175
  "The Social Networks feature is disabled. Still seing informations from the "
1176
  "Twitter Preview? You probably have social tags added by your theme or a "
1177
  "plugin."
1178
  msgstr ""
1179
 
1180
+ #: inc/admin/admin-metaboxes-form.php:411
1181
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:66
1182
  msgid "File type not supported by Twitter. Please choose another image."
1183
  msgstr ""
1184
 
1185
+ #: inc/admin/admin-metaboxes-form.php:412
1186
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:67
1187
  msgid ""
1188
  "Minimun size for Twitter is <strong>144x144px</strong>. Please choose "
1189
  "another image."
1190
  msgstr ""
1191
 
1192
+ #: inc/admin/admin-metaboxes-form.php:414
1193
  msgid "The closer to 1 the better (with large card, 2 is better)."
1194
  msgstr ""
1195
 
1196
+ #: inc/admin/admin-metaboxes-form.php:450
1197
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:484
1198
  msgid "Enable redirection?"
1199
  msgstr ""
1200
 
1201
+ #: inc/admin/admin-metaboxes-form.php:454
1202
+ #: inc/admin/admin-metaboxes-form.php:462
1203
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:495
1204
  msgid "URL redirection"
1205
  msgstr ""
1206
 
1207
+ #: inc/admin/admin-metaboxes-form.php:456
1208
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:500
1209
  msgid "301 Moved Permanently"
1210
  msgstr ""
1211
 
1212
+ #: inc/admin/admin-metaboxes-form.php:457
1213
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:501
1214
  msgid "302 Found / Moved Temporarily"
1215
  msgstr ""
1216
 
1217
+ #: inc/admin/admin-metaboxes-form.php:458
1218
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:502
1219
  msgid "307 Moved Temporarily"
1220
  msgstr ""
1221
 
1222
+ #: inc/admin/admin-metaboxes-form.php:459
1223
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:503
1224
  msgid "410 Gone"
1225
  msgstr ""
1226
 
1227
+ #: inc/admin/admin-metaboxes-form.php:460
1228
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:504
1229
  msgid "451 Unavailable For Legal Reasons"
1230
  msgstr ""
1231
 
1232
+ #: inc/admin/admin-metaboxes-form.php:462
1233
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:513
1234
  msgid "Enter your new URL in absolute (eg: https://www.example.com/)"
1235
  msgstr ""
1236
 
1237
+ #: inc/admin/admin-metaboxes-form.php:467
1238
  msgid "Query parameters"
1239
  msgstr ""
1240
 
1241
+ #: inc/admin/admin-metaboxes-form.php:469
1242
  msgid "Exactly match all parameters"
1243
  msgstr ""
1244
 
1245
+ #: inc/admin/admin-metaboxes-form.php:470
1246
  msgid "Exclude all parameters"
1247
  msgstr ""
1248
 
1249
+ #: inc/admin/admin-metaboxes-form.php:471
1250
  msgid "Exclude all parameters and pass them to the redirection"
1251
  msgstr ""
1252
 
 
 
 
1253
  #: inc/admin/admin-metaboxes-form.php:480
1254
+ #: inc/admin/admin-metaboxes-form.php:482
1255
+ #: inc/admin/admin-metaboxes-form.php:485
1256
+ #: inc/admin/admin-metaboxes-form.php:487
1257
  msgid "Test your URL"
1258
  msgstr ""
1259
 
1260
+ #: inc/admin/admin-metaboxes-form.php:499
1261
  msgid "Need help with your redirections? Read our guide."
1262
  msgstr ""
1263
 
1264
+ #: inc/admin/admin-metaboxes-form.php:513
1265
  msgid "Exclude this post from Google News Sitemap?"
1266
  msgstr ""
1267
 
1268
+ #: inc/admin/admin-metaboxes-form.php:538
1269
  msgid "Exclude this post from Video Sitemap?"
1270
  msgstr ""
1271
 
1272
+ #: inc/admin/admin-metaboxes-form.php:540
1273
  msgid ""
1274
  "If your post is set to noindex, it will be automatically excluded from the "
1275
  "sitemap."
1276
  msgstr ""
1277
 
1278
+ #: inc/admin/admin-metaboxes-form.php:558
1279
  msgid "Video "
1280
  msgstr ""
1281
 
1282
+ #: inc/admin/admin-metaboxes-form.php:562
1283
  msgid "Video URL (required)"
1284
  msgstr ""
1285
 
1286
+ #: inc/admin/admin-metaboxes-form.php:563
1287
  msgid "Enter your video URL"
1288
  msgstr ""
1289
 
1290
+ #: inc/admin/admin-metaboxes-form.php:563
1291
  msgid "Video URL"
1292
  msgstr ""
1293
 
1294
+ #: inc/admin/admin-metaboxes-form.php:568
1295
  msgid ""
1296
  "NOT an external video (eg: video hosting on YouTube, Vimeo, Wistia...)? "
1297
  "Check this if your video is hosting on this server."
1298
  msgstr ""
1299
 
1300
+ #: inc/admin/admin-metaboxes-form.php:572
1301
  msgid "Video Title (required)"
1302
  msgstr ""
1303
 
1304
+ #: inc/admin/admin-metaboxes-form.php:573
1305
  msgid "Enter your video title"
1306
  msgstr ""
1307
 
1308
+ #: inc/admin/admin-metaboxes-form.php:573
1309
  msgid "Video title"
1310
  msgstr ""
1311
 
1312
+ #: inc/admin/admin-metaboxes-form.php:574
1313
  msgid "Default: title tag, if not available, post title."
1314
  msgstr ""
1315
 
1316
+ #: inc/admin/admin-metaboxes-form.php:577
1317
  msgid "Video Description (required)"
1318
  msgstr ""
1319
 
1320
+ #: inc/admin/admin-metaboxes-form.php:578
1321
  msgid "Enter your video description"
1322
  msgstr ""
1323
 
1324
+ #: inc/admin/admin-metaboxes-form.php:578
1325
  msgid "Video description"
1326
  msgstr ""
1327
 
1328
+ #: inc/admin/admin-metaboxes-form.php:579
1329
  msgid ""
1330
  "2048 characters max.; default: meta description. If not available, use the "
1331
  "beginning of the post content."
1332
  msgstr ""
1333
 
1334
+ #: inc/admin/admin-metaboxes-form.php:582
1335
  msgid "Video Thumbnail (required)"
1336
  msgstr ""
1337
 
1338
+ #: inc/admin/admin-metaboxes-form.php:583
1339
  msgid "Select your video thumbnail"
1340
  msgstr ""
1341
 
1342
+ #: inc/admin/admin-metaboxes-form.php:584
1343
  msgid "Video Thumbnail"
1344
  msgstr ""
1345
 
1346
+ #: inc/admin/admin-metaboxes-form.php:585
1347
  msgid ""
1348
  "Minimum size: 160x90px (1920x1080 max), JPG, PNG or GIF formats. Default: "
1349
  "your post featured image."
1350
  msgstr ""
1351
 
1352
+ #: inc/admin/admin-metaboxes-form.php:588
1353
  msgid "Video Duration (recommended)"
1354
  msgstr ""
1355
 
1356
+ #: inc/admin/admin-metaboxes-form.php:589
1357
  msgid "Duration in seconds"
1358
  msgstr ""
1359
 
1360
+ #: inc/admin/admin-metaboxes-form.php:589
1361
  msgid "Video duration"
1362
  msgstr ""
1363
 
1364
+ #: inc/admin/admin-metaboxes-form.php:590
1365
  msgid ""
1366
  "The duration of the video in seconds. Value must be between 0 and 28800 (8 "
1367
  "hours)."
1368
  msgstr ""
1369
 
1370
+ #: inc/admin/admin-metaboxes-form.php:593
1371
  msgid "Video Rating"
1372
  msgstr ""
1373
 
1374
+ #: inc/admin/admin-metaboxes-form.php:594
1375
  msgid "Video rating"
1376
  msgstr ""
1377
 
1378
+ #: inc/admin/admin-metaboxes-form.php:595
1379
  msgid "Allowed values are float numbers in the range 0.0 to 5.0."
1380
  msgstr ""
1381
 
1382
+ #: inc/admin/admin-metaboxes-form.php:598
1383
+ #: inc/admin/admin-metaboxes-form.php:599
1384
  msgid "View count"
1385
  msgstr ""
1386
 
1387
+ #: inc/admin/admin-metaboxes-form.php:599
1388
  msgid "Number of views"
1389
  msgstr ""
1390
 
1391
+ #: inc/admin/admin-metaboxes-form.php:602
1392
+ #: inc/admin/admin-metaboxes-form.php:603
1393
  msgid "Video tags"
1394
  msgstr ""
1395
 
1396
+ #: inc/admin/admin-metaboxes-form.php:603
1397
  msgid "Enter your video tags"
1398
  msgstr ""
1399
 
1400
+ #: inc/admin/admin-metaboxes-form.php:604
1401
  msgid ""
1402
  "32 tags max., separate tags with commas. Default: target keywords + post "
1403
  "tags if available."
1404
  msgstr ""
1405
 
1406
+ #: inc/admin/admin-metaboxes-form.php:607
1407
+ #: inc/admin/admin-metaboxes-form.php:608
1408
  msgid "Video categories"
1409
  msgstr ""
1410
 
1411
+ #: inc/admin/admin-metaboxes-form.php:608
1412
  msgid "Enter your video categories"
1413
  msgstr ""
1414
 
1415
+ #: inc/admin/admin-metaboxes-form.php:609
1416
  msgid ""
1417
  "256 characters max., usually a video will belong to a single category, "
1418
  "separate categories with commas. Default: first post category if available."
1419
  msgstr ""
1420
 
1421
+ #: inc/admin/admin-metaboxes-form.php:614
1422
  msgid "NOT family friendly?"
1423
  msgstr ""
1424
 
1425
+ #: inc/admin/admin-metaboxes-form.php:616
1426
  msgid "The video will be available only to users with SafeSearch turned off."
1427
  msgstr ""
1428
 
1429
+ #: inc/admin/admin-metaboxes-form.php:618
1430
  msgid "Remove video"
1431
  msgstr ""
1432
 
1433
+ #: inc/admin/admin-metaboxes-form.php:625
1434
  msgid "Add video"
1435
  msgstr ""
1436
 
1437
+ #. @deprecated 4.4.0
1438
+ #. @deprecated 4.4.0
1439
+ #: inc/admin/admin-metaboxes.php:215 inc/admin/admin-metaboxes.php:464
1440
+ #: inc/admin/admin-term-metaboxes.php:208
1441
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:58
1442
+ #: inc/admin/page-builders/elementor/inc/controls/class-content-analysis-control.php:34
1443
+ msgid "Analysis in progress..."
1444
  msgstr ""
1445
 
1446
+ #: inc/admin/admin-metaboxes.php:445
1447
+ #: src/Services/ContentAnalysis/RenderContentAnalysis.php:19
1448
+ msgid "Content analysis"
1449
  msgstr ""
1450
 
1451
+ #: inc/admin/admin-notifications-center.php:52
1452
+ #: inc/admin/admin-notifications-center.php:58
1453
+ msgid "Notifications Center"
1454
  msgstr ""
1455
 
1456
+ #: inc/admin/admin-notifications-center.php:53
1457
+ msgid "SEO Tools"
1458
  msgstr ""
1459
 
1460
+ #: inc/admin/admin-notifications-center.php:54
1461
+ #: inc/admin/admin-notifications-center.php:59
1462
+ msgid "Useful links"
1463
  msgstr ""
1464
 
1465
+ #: inc/admin/admin-notifications-center.php:103
1466
+ msgid "Configure SEOPress in a few minutes with our installation wizard"
1467
  msgstr ""
1468
 
1469
+ #: inc/admin/admin-notifications-center.php:104
1470
+ msgid "The best way to quickly setup SEOPress on your site."
1471
  msgstr ""
1472
 
1473
+ #: inc/admin/admin-notifications-center.php:106
1474
+ #: inc/admin/admin-notifications-center.php:136
1475
+ msgid "Wizard"
1476
  msgstr ""
1477
 
1478
+ #: inc/admin/admin-notifications-center.php:110
1479
+ #: inc/admin/admin-notifications-center.php:140
1480
+ msgid "Start the wizard"
1481
  msgstr ""
1482
 
1483
+ #: inc/admin/admin-notifications-center.php:133
1484
+ msgid ""
1485
+ "Configure SEOPress Insights in a few minutes with our installation wizard"
1486
  msgstr ""
1487
 
1488
+ #: inc/admin/admin-notifications-center.php:134
1489
+ msgid ""
1490
+ "Track your keywords positions and backlinks directly on your WordPress site."
1491
  msgstr ""
1492
 
1493
+ #: inc/admin/admin-notifications-center.php:167
1494
+ msgid "We noticed that some SEO DIVI options are enabled!"
1495
  msgstr ""
1496
 
1497
+ #: inc/admin/admin-notifications-center.php:168
1498
+ msgid ""
1499
+ "To avoid any SEO conflicts, please disable every SEO options from "
1500
+ "<strong>DIVI theme options page, SEO tab</strong>."
1501
  msgstr ""
1502
 
1503
+ #: inc/admin/admin-notifications-center.php:170
1504
+ #: inc/admin/admin-notifications-center.php:190
1505
+ #: inc/admin/admin-notifications-center.php:208
1506
+ #: inc/admin/admin-notifications-center.php:238
1507
+ #: inc/admin/admin-notifications-center.php:270
1508
+ #: inc/admin/admin-notifications-center.php:305
1509
+ #: inc/admin/admin-notifications-center.php:434
1510
+ #: inc/admin/admin-notifications-center.php:485
1511
+ #: inc/admin/admin-notifications-center.php:528
1512
+ #: inc/admin/admin-notifications-center.php:547
1513
+ #: inc/admin/admin-notifications-center.php:564
1514
+ #: inc/admin/admin-notifications-center.php:720
1515
+ #: inc/admin/admin-notifications-center.php:798
1516
+ #: inc/admin/admin-notifications-center.php:837
1517
+ #: inc/admin/admin-notifications-center.php:855
1518
+ msgid "High impact"
1519
  msgstr ""
1520
 
1521
+ #: inc/admin/admin-notifications-center.php:174
1522
+ #: inc/admin/admin-notifications-center.php:194
1523
+ #: inc/admin/admin-notifications-center.php:212
1524
+ #: inc/admin/admin-notifications-center.php:243
1525
+ #: inc/admin/admin-notifications-center.php:438
1526
+ #: inc/admin/admin-notifications-center.php:532
1527
+ #: inc/admin/admin-notifications-center.php:551
1528
+ #: inc/admin/admin-notifications-center.php:568
1529
+ #: inc/admin/admin-notifications-center.php:598
1530
+ #: inc/admin/admin-notifications-center.php:663
1531
+ #: inc/admin/admin-notifications-center.php:755
1532
+ #: inc/admin/admin-notifications-center.php:773
1533
+ #: inc/admin/admin-notifications-center.php:859
1534
+ #: inc/admin/admin-notifications-center.php:878
1535
+ msgid "Fix this!"
1536
  msgstr ""
1537
 
1538
+ #: inc/admin/admin-notifications-center.php:187
1539
+ msgid "Your permalinks doesn't have a trailingslash"
1540
  msgstr ""
1541
 
1542
+ #: inc/admin/admin-notifications-center.php:188
1543
  msgid ""
1544
+ "To avoid any SEO issues, we recommend you to activate the \"<strong>Disable "
1545
+ "trailing slash for metas</strong>\" option from our <strong>Advanced "
1546
+ "settings page</strong>. Do not forget to clear your cache if necessary."
1547
  msgstr ""
1548
 
1549
+ #: inc/admin/admin-notifications-center.php:205
1550
+ msgid "Your permalinks have a trailingslash"
 
 
 
1551
  msgstr ""
1552
 
1553
+ #: inc/admin/admin-notifications-center.php:206
1554
+ msgid ""
1555
+ "To avoid any SEO issues, we recommend you to de-activate the "
1556
+ "\"<strong>Disable trailing slash for metas</strong>\" option from our "
1557
+ "<strong>Advanced settings page</strong>. Do not forget to clear your cache "
1558
+ "if necessary."
1559
  msgstr ""
1560
 
1561
+ #: inc/admin/admin-notifications-center.php:235
1562
+ msgid ""
1563
+ "TagDiv Composer plugin doesn't use <strong>add_theme_support('title-tag');</"
1564
+ "strong>"
1565
  msgstr ""
1566
 
1567
+ #: inc/admin/admin-notifications-center.php:236
1568
  msgid ""
1569
+ "Fix this compatibility issue to allow SEOPress generates the correct meta "
1570
+ "titles."
1571
  msgstr ""
1572
 
1573
+ #: inc/admin/admin-notifications-center.php:267
1574
+ msgid "Your theme doesn't use <strong>add_theme_support('title-tag');</strong>"
1575
  msgstr ""
1576
 
1577
+ #: inc/admin/admin-notifications-center.php:268
1578
+ msgid ""
1579
+ "This error indicates that your theme uses a deprecated function to generate "
1580
+ "the title tag of your pages. SEOPress will not be able to generate your "
1581
+ "custom title tags if this error is not fixed."
1582
+ msgstr ""
1583
+
1584
+ #: inc/admin/admin-notifications-center.php:275
1585
+ #: inc/admin/admin-notifications-center.php:359
1586
+ #: inc/admin/admin-notifications-center.php:400
1587
+ #: inc/admin/admin-notifications-center.php:464
1588
+ #: inc/admin/admin-notifications-center.php:490 inc/admin/admin.php:5069
1589
+ #: inc/admin/admin.php:5120 inc/admin/admin.php:5147 inc/admin/admin.php:5170
1590
+ #: inc/admin/admin.php:5193 inc/admin/admin.php:5216
1591
+ msgid "Learn more"
1592
  msgstr ""
1593
 
1594
+ #. translators: %s name of a SEO plugin (eg: Yoast SEO)
1595
+ #: inc/admin/admin-notifications-center.php:302
1596
  #, php-format
1597
+ msgid "We noticed that you use <strong>%s</strong> plugin."
1598
  msgstr ""
1599
 
1600
+ #: inc/admin/admin-notifications-center.php:303
1601
  msgid ""
1602
+ "Do you want to migrate all your metadata to SEOPress? Do not use multiple "
1603
+ "SEO plugins at once to avoid conflicts!"
1604
  msgstr ""
1605
 
1606
+ #: inc/admin/admin-notifications-center.php:309
1607
+ msgid "Migrate!"
 
 
 
1608
  msgstr ""
1609
 
1610
+ #: inc/admin/admin-notifications-center.php:322
1611
+ msgid "You have enabled 404 cleaning BUT the scheduled task is not running."
1612
  msgstr ""
1613
 
1614
+ #: inc/admin/admin-notifications-center.php:323
1615
  msgid ""
1616
+ "To solve this, please disable and re-enable SEOPress PRO. No data will be "
1617
+ "lost."
1618
  msgstr ""
1619
 
1620
+ #. translators: %s name of a page builder plugin (eg: Oxygen)
1621
+ #: inc/admin/admin-notifications-center.php:351
1622
+ #, php-format
1623
+ msgid "Generate automatic meta description for <strong>%s</strong> plugin."
 
 
1624
  msgstr ""
1625
 
1626
+ #: inc/admin/admin-notifications-center.php:352
1627
+ msgid ""
1628
+ "Your page builder is using shortcodes to save its data. To automatically "
1629
+ "generate your meta description based on your post content, you will have to "
1630
+ "add some hooks to your functions.php."
1631
  msgstr ""
1632
 
1633
+ #: inc/admin/admin-notifications-center.php:354
1634
+ #: inc/admin/admin-notifications-center.php:395
1635
+ #: inc/admin/admin-notifications-center.php:594
1636
+ #: inc/admin/admin-notifications-center.php:659
1637
+ #: inc/admin/admin-notifications-center.php:751
1638
+ #: inc/admin/admin-notifications-center.php:769
1639
+ msgid "Medium impact"
 
1640
  msgstr ""
1641
 
1642
+ #. translators: %s name of a WP theme (eg: Enfold)
1643
+ #: inc/admin/admin-notifications-center.php:392
1644
  #, php-format
1645
+ msgid "Generate automatic meta description for <strong>%s</strong> theme."
1646
  msgstr ""
1647
 
1648
+ #: inc/admin/admin-notifications-center.php:393
1649
  msgid ""
1650
+ "Your theme is using shortcodes to save its data. To automatically generate "
1651
+ "your meta description based on your post content, you will have to add some "
1652
+ "hooks to your functions.php."
 
 
 
 
 
1653
  msgstr ""
1654
 
1655
+ #: inc/admin/admin-notifications-center.php:431
1656
+ msgid "Enfold theme is not correctly setup for SEO!"
1657
  msgstr ""
1658
 
1659
+ #: inc/admin/admin-notifications-center.php:432
1660
+ msgid ""
1661
+ "You must disable \"Meta tag robots\" option from Enfold settings (SEO "
1662
+ "Support tab) to avoid any SEO issues."
1663
  msgstr ""
1664
 
1665
+ #: inc/admin/admin-notifications-center.php:463
1666
+ msgid "Your site doesn't use an SSL certificate!"
 
1667
  msgstr ""
1668
 
1669
+ #: inc/admin/admin-notifications-center.php:464
1670
+ msgid ""
1671
+ "Https is considered by Google as a positive signal for the ranking of your "
1672
+ "site. It also reassures your visitors for data security, and improves trust."
1673
  msgstr ""
1674
 
1675
+ #: inc/admin/admin-notifications-center.php:466
1676
+ msgid "Low impact"
1677
  msgstr ""
1678
 
1679
+ #: inc/admin/admin-notifications-center.php:470
1680
+ msgid "Buy an SSL!"
1681
  msgstr ""
1682
 
1683
+ #: inc/admin/admin-notifications-center.php:482
1684
+ msgid "PHP module \"DOM\" is missing on your server."
1685
  msgstr ""
1686
 
1687
+ #: inc/admin/admin-notifications-center.php:483
1688
+ msgid ""
1689
+ "This PHP module, installed by default with PHP, is required by many plugins "
1690
+ "including SEOPress. Please contact your host as soon as possible to solve "
1691
+ "this."
1692
  msgstr ""
1693
 
1694
+ #: inc/admin/admin-notifications-center.php:525
1695
+ msgid "Your site is not visible to Search Engines!"
1696
  msgstr ""
1697
 
1698
+ #: inc/admin/admin-notifications-center.php:526
1699
  msgid ""
1700
+ "You have activated the blocking of the indexing of your site. If your site "
1701
+ "is under development, this is probably normal. Otherwise, check your "
1702
+ "settings. Delete this notification using the cross on the right if you are "
1703
+ "not concerned."
 
 
1704
  msgstr ""
1705
 
1706
+ #: inc/admin/admin-notifications-center.php:544
1707
+ msgid "Your site title is empty!"
1708
  msgstr ""
1709
 
1710
+ #: inc/admin/admin-notifications-center.php:545
1711
+ msgid ""
1712
+ "Your Site Title is used by WordPress, your theme and your plugins including "
1713
+ "SEOPress. It is an essential component in the generation of title tags, but "
1714
+ "not only. Enter one!"
1715
  msgstr ""
1716
 
1717
+ #: inc/admin/admin-notifications-center.php:561 inc/admin/admin.php:2839
1718
+ msgid ""
1719
+ "Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
1720
  msgstr ""
1721
 
1722
+ #: inc/admin/admin-notifications-center.php:562
1723
+ #: inc/admin/admin-notifications-center.php:592
1724
  msgid ""
1725
+ "Why is this important? Showing only the summary of each article "
1726
+ "significantly reduces the theft of your content by third party sites. Not to "
1727
+ "mention, the increase in your traffic, your advertising revenue, "
1728
+ "conversions..."
1729
  msgstr ""
1730
 
1731
+ #: inc/admin/admin-notifications-center.php:591
1732
+ msgid "Your RSS feed shows full text!"
1733
  msgstr ""
1734
 
1735
+ #: inc/admin/admin-notifications-center.php:656
1736
+ msgid ""
1737
+ "You have activated Google Analytics tracking without adding identifiers!"
 
1738
  msgstr ""
1739
 
1740
+ #: inc/admin/admin-notifications-center.php:657
1741
  msgid ""
1742
+ "Google Analytics will not track your visitors until you finish the "
1743
+ "configuration."
 
1744
  msgstr ""
1745
 
1746
+ #: inc/admin/admin-notifications-center.php:687
1747
+ msgid "You like SEOPress? Please help us by rating us 5 stars!"
1748
  msgstr ""
1749
 
1750
+ #: inc/admin/admin-notifications-center.php:688
1751
+ msgid ""
1752
+ "Support the development and improvement of the plugin by taking 15 seconds "
1753
+ "of your time to leave us a user review on the official WordPress plugins "
1754
+ "repository. Thank you!"
1755
  msgstr ""
1756
 
1757
+ #: inc/admin/admin-notifications-center.php:690
1758
+ msgid "Information"
1759
  msgstr ""
1760
 
1761
+ #: inc/admin/admin-notifications-center.php:694
1762
+ msgid "Rate us!"
 
1763
  msgstr ""
1764
 
1765
+ #: inc/admin/admin-notifications-center.php:717
1766
+ msgid "Break comments into pages is ON!"
 
 
1767
  msgstr ""
1768
 
1769
+ #: inc/admin/admin-notifications-center.php:718
1770
  msgid ""
1771
+ "Enabling this option will create duplicate content for each article beyond x "
1772
+ "comments. This can have a disastrous effect by creating a large number of "
1773
+ "poor quality pages, and slowing the Google bot unnecessarily, so your "
1774
+ "ranking in search results."
1775
  msgstr ""
1776
 
1777
+ #: inc/admin/admin-notifications-center.php:724
1778
+ msgid "Disable this!"
1779
  msgstr ""
1780
 
1781
+ #: inc/admin/admin-notifications-center.php:748
1782
+ msgid "Display more posts per page on homepage and archives"
1783
  msgstr ""
1784
 
1785
+ #: inc/admin/admin-notifications-center.php:749
1786
+ msgid ""
1787
+ "To reduce the number pages search engines have to crawl to find all your "
1788
+ "articles, it is recommended displaying more posts per page. This should not "
1789
+ "be a problem for your users. Using mobile, we prefer to scroll down rather "
1790
+ "than clicking on next page links."
1791
  msgstr ""
1792
 
1793
+ #: inc/admin/admin-notifications-center.php:766
1794
+ msgid "You don't have an XML Sitemap!"
 
1795
  msgstr ""
1796
 
1797
+ #: inc/admin/admin-notifications-center.php:767
1798
+ msgid ""
1799
+ "XML Sitemaps are useful to facilitate the crawling of your content by search "
1800
+ "engine robots. Indirectly, this can benefit your ranking by reducing the "
1801
+ "crawl bugdet."
1802
  msgstr ""
1803
 
1804
+ #: inc/admin/admin-notifications-center.php:795
1805
+ msgid "Do you have a Google My Business page? It's free!"
1806
  msgstr ""
1807
 
1808
+ #: inc/admin/admin-notifications-center.php:796
1809
+ msgid ""
1810
+ "Local Business websites should have a My Business page to improve visibility "
1811
+ "in search results. Click on the cross on the right to delete this "
1812
+ "notification if you are not concerned."
1813
  msgstr ""
1814
 
1815
+ #: inc/admin/admin-notifications-center.php:802
1816
+ msgid "Create your page now!"
 
1817
  msgstr ""
1818
 
1819
+ #: inc/admin/admin-notifications-center.php:834
1820
+ msgid "Add your site to Google. It's free!"
 
 
1821
  msgstr ""
1822
 
1823
+ #: inc/admin/admin-notifications-center.php:835
1824
  msgid ""
1825
+ "Is your brand new site online? So reference it as quickly as possible on "
1826
+ "Google to get your first visitors via Google Search Console. Already the "
1827
+ "case? Click on the cross on the right to remove this alert."
1828
  msgstr ""
1829
 
1830
+ #: inc/admin/admin-notifications-center.php:841
1831
+ msgid "Add your site to Search Console!"
1832
  msgstr ""
1833
 
1834
+ #: inc/admin/admin-notifications-center.php:852
1835
+ msgid "Structured data types is not correctly enabled"
1836
  msgstr ""
1837
 
1838
+ #: inc/admin/admin-notifications-center.php:853
1839
+ msgid ""
1840
+ "Please enable <strong>Structured Data Types metabox for your posts, pages "
1841
+ "and custom post types</strong> option in order to use automatic and manual "
1842
+ "schemas. (SEO > PRO > Structured Data Types (schema.org)"
1843
  msgstr ""
1844
 
1845
+ #: inc/admin/admin-notifications-center.php:871
1846
+ msgid "You have to enter your licence key to get updates and support"
 
1847
  msgstr ""
1848
 
1849
+ #: inc/admin/admin-notifications-center.php:872
1850
+ msgid ""
1851
+ "Please activate the SEOPress PRO license key to automatically receive "
1852
+ "updates to guarantee you the best user experience possible."
1853
+ msgstr ""
1854
+
1855
+ #: inc/admin/admin-notifications-center.php:901
1856
+ msgid "Take your SEO to the next level with SEOPress PRO!"
1857
  msgstr ""
1858
 
1859
+ #: inc/admin/admin-notifications-center.php:902
1860
  msgid ""
1861
+ "The PRO version of SEOPress allows you to easily manage your structured data "
1862
+ "(schemas), add a breadcrumb optimized for SEO and accessibility, improve SEO "
1863
+ "for WooCommerce, gain productivity with our import / export tool from a CSV "
1864
+ "of your metadata and so much more."
1865
  msgstr ""
1866
 
1867
+ #: inc/admin/admin-notifications-center.php:909
1868
+ msgid "Upgrade now!"
1869
  msgstr ""
1870
 
1871
+ #: inc/admin/admin-notifications-center.php:928
1872
+ msgid "Check websites setup on your server"
1873
  msgstr ""
1874
 
1875
+ #. Init
1876
+ #: inc/admin/admin-notifications-center.php:936
1877
+ msgid "Not found"
1878
  msgstr ""
1879
 
1880
+ #: inc/admin/admin-notifications-center.php:941
1881
+ msgid "No scrape."
 
 
1882
  msgstr ""
1883
 
1884
+ #: inc/admin/admin-notifications-center.php:946
1885
+ msgid "No domain found."
 
 
 
1886
  msgstr ""
1887
 
1888
+ #: inc/admin/admin-notifications-center.php:956
1889
+ msgid "Server IP Address: "
1890
  msgstr ""
1891
 
1892
+ #: inc/admin/admin-notifications-center.php:958
1893
+ msgid "Last scrape: "
1894
  msgstr ""
1895
 
1896
+ #: inc/admin/admin-notifications-center.php:959
1897
+ msgid "Number of websites on your server: "
1898
  msgstr ""
1899
 
1900
+ #: inc/admin/admin-notifications-center.php:972
1901
+ msgid "Get list"
 
1902
  msgstr ""
1903
 
1904
+ #: inc/admin/admin-notifications-center.php:983
1905
+ msgid "Our blog: SEO news, how-to, tips and tricks..."
 
 
1906
  msgstr ""
1907
 
1908
+ #: inc/admin/admin-notifications-center.php:984
1909
+ msgid "Upload a list of links to disavow to Google"
 
 
 
1910
  msgstr ""
1911
 
1912
+ #: inc/admin/admin-notifications-center.php:987
1913
+ msgid ""
1914
+ "Image SEO plugin to optimize your image ALT texts and names for Search "
1915
+ "Engines."
1916
  msgstr ""
1917
 
1918
+ #: inc/admin/admin-notifications-center.php:991
1919
+ msgid "Dareboost: Test, analyze and optimize your website"
1920
  msgstr ""
1921
 
1922
+ #: inc/admin/admin-notifications-center.php:992
1923
+ msgid "Google Campaign URL Builder tool"
1924
  msgstr ""
1925
 
1926
+ #: inc/admin/admin-wizard.php:101 seopress.php:280
1927
+ msgid "Migration completed!"
 
1928
  msgstr ""
1929
 
1930
+ #: inc/admin/admin-wizard.php:102 seopress.php:281
1931
+ msgid "Export completed!"
 
 
1932
  msgstr ""
1933
 
1934
+ #: inc/admin/admin-wizard.php:117
1935
+ msgid "Import SEO settings"
1936
  msgstr ""
1937
 
1938
+ #: inc/admin/admin-wizard.php:122 inc/admin/admin-wizard.php:496
1939
+ msgid "Your site"
1940
  msgstr ""
1941
 
1942
+ #: inc/admin/admin-wizard.php:127 inc/admin/admin-wizard.php:602
1943
+ msgid "Indexing"
 
 
 
 
1944
  msgstr ""
1945
 
1946
+ #: inc/admin/admin-wizard.php:132 inc/admin/admin-wizard.php:767
1947
+ msgid "Advanced options"
1948
  msgstr ""
1949
 
1950
+ #: inc/admin/admin-wizard.php:137
1951
+ msgid "Ready!"
1952
  msgstr ""
1953
 
1954
+ #: inc/admin/admin-wizard.php:197
1955
+ msgid "SEOPress &rsaquo; Setup Wizard"
1956
  msgstr ""
1957
 
1958
+ #: inc/admin/admin-wizard.php:213
1959
+ msgid "Not right now"
1960
  msgstr ""
1961
 
1962
+ #: inc/admin/admin-wizard.php:215
1963
+ msgid "Skip this step"
1964
  msgstr ""
1965
 
1966
+ #: inc/admin/admin-wizard.php:271
1967
+ msgid "Welcome!"
1968
  msgstr ""
1969
 
1970
+ #: inc/admin/admin-wizard.php:272
1971
  msgid ""
1972
+ "The following wizard will help you configure SEOPress and get you started "
1973
+ "quickly."
1974
  msgstr ""
1975
 
1976
+ #: inc/admin/admin-wizard.php:273
1977
  msgid ""
1978
+ "The first step is to import your previous settings from other plugins to "
1979
+ "keep your SEO."
1980
  msgstr ""
1981
 
1982
+ #: inc/admin/admin-wizard.php:274
1983
+ msgid "No data to migrate? Click \"Next step\" button!"
 
 
1984
  msgstr ""
1985
 
1986
+ #: inc/admin/admin-wizard.php:276 inc/admin/admin.php:774
1987
+ msgid "Import posts and terms metadata from"
 
 
 
1988
  msgstr ""
1989
 
1990
+ #: inc/admin/admin-wizard.php:278 inc/admin/admin.php:776
1991
+ msgid "Select an option"
 
1992
  msgstr ""
1993
 
1994
+ #: inc/admin/admin-wizard.php:279 inc/admin/admin.php:777
1995
+ msgid "Yoast SEO"
 
 
1996
  msgstr ""
1997
 
1998
+ #: inc/admin/admin-wizard.php:280 inc/admin/admin.php:778
1999
+ msgid "All In One SEO"
 
 
 
2000
  msgstr ""
2001
 
2002
+ #: inc/admin/admin-wizard.php:281 inc/admin/admin.php:779
2003
+ msgid "The SEO Framework"
 
 
 
2004
  msgstr ""
2005
 
2006
+ #: inc/admin/admin-wizard.php:282 inc/admin/admin.php:780
2007
+ msgid "Rank Math"
2008
  msgstr ""
2009
 
2010
+ #: inc/admin/admin-wizard.php:283 inc/admin/admin.php:781
2011
+ msgid "Squirrly SEO"
 
 
2012
  msgstr ""
2013
 
2014
+ #: inc/admin/admin-wizard.php:284 inc/admin/admin.php:782
2015
+ msgid "SEO Ultimate"
 
 
 
 
2016
  msgstr ""
2017
 
2018
+ #: inc/admin/admin-wizard.php:285 inc/admin/admin.php:783
2019
+ msgid "WP Meta SEO"
2020
  msgstr ""
2021
 
2022
+ #: inc/admin/admin-wizard.php:286 inc/admin/admin.php:784
2023
+ msgid "Premium SEO Pack"
 
 
 
 
 
2024
  msgstr ""
2025
 
2026
+ #: inc/admin/admin-wizard.php:287 inc/admin/admin.php:785
2027
+ msgid "wpSEO"
 
 
2028
  msgstr ""
2029
 
2030
+ #: inc/admin/admin-wizard.php:295 inc/admin/admin.php:792
2031
+ msgid "Import posts and terms metadata from Yoast"
2032
  msgstr ""
2033
 
2034
+ #: inc/admin/admin-wizard.php:296 inc/admin/admin-wizard.php:316
2035
+ #: inc/admin/admin-wizard.php:333 inc/admin/admin-wizard.php:352
2036
+ #: inc/admin/admin-wizard.php:371 inc/admin/admin-wizard.php:389
2037
+ #: inc/admin/admin-wizard.php:406 inc/admin/admin-wizard.php:422
2038
+ #: inc/admin/admin-wizard.php:441 inc/admin/admin.php:793
2039
+ #: inc/admin/admin.php:815 inc/admin/admin.php:834 inc/admin/admin.php:855
2040
+ #: inc/admin/admin.php:876 inc/admin/admin.php:896 inc/admin/admin.php:915
2041
+ #: inc/admin/admin.php:933 inc/admin/admin.php:953
2042
+ msgid "By clicking Migrate, we'll import:"
2043
  msgstr ""
2044
 
2045
+ #: inc/admin/admin-wizard.php:298 inc/admin/admin-wizard.php:318
2046
+ #: inc/admin/admin-wizard.php:335 inc/admin/admin-wizard.php:354
2047
+ #: inc/admin/admin-wizard.php:373 inc/admin/admin-wizard.php:391
2048
+ #: inc/admin/admin-wizard.php:408 inc/admin/admin-wizard.php:424
2049
+ #: inc/admin/admin-wizard.php:443 inc/admin/admin.php:795
2050
+ #: inc/admin/admin.php:817 inc/admin/admin.php:836 inc/admin/admin.php:857
2051
+ #: inc/admin/admin.php:878 inc/admin/admin.php:898 inc/admin/admin.php:917
2052
+ #: inc/admin/admin.php:935 inc/admin/admin.php:955
2053
+ msgid "Title tags"
2054
  msgstr ""
2055
 
2056
+ #: inc/admin/admin-wizard.php:300 inc/admin/admin-wizard.php:320
2057
+ #: inc/admin/admin-wizard.php:337 inc/admin/admin-wizard.php:356
2058
+ #: inc/admin/admin-wizard.php:375 inc/admin/admin-wizard.php:393
2059
+ #: inc/admin/admin-wizard.php:410 inc/admin/admin-wizard.php:426
2060
+ #: inc/admin/admin-wizard.php:445 inc/admin/admin.php:797
2061
+ #: inc/admin/admin.php:819 inc/admin/admin.php:838 inc/admin/admin.php:859
2062
+ #: inc/admin/admin.php:880 inc/admin/admin.php:900 inc/admin/admin.php:919
2063
+ #: inc/admin/admin.php:937 inc/admin/admin.php:957
2064
+ msgid "Facebook Open Graph tags (title, description and image thumbnail)"
2065
  msgstr ""
2066
 
2067
+ #: inc/admin/admin-wizard.php:301 inc/admin/admin-wizard.php:338
2068
+ #: inc/admin/admin-wizard.php:357 inc/admin/admin-wizard.php:376
2069
+ #: inc/admin/admin-wizard.php:394 inc/admin/admin-wizard.php:411
2070
+ #: inc/admin/admin-wizard.php:446 inc/admin/admin.php:798
2071
+ #: inc/admin/admin.php:839 inc/admin/admin.php:860 inc/admin/admin.php:881
2072
+ #: inc/admin/admin.php:901 inc/admin/admin.php:920 inc/admin/admin.php:958
2073
+ msgid "Twitter tags (title, description and image thumbnail)"
2074
  msgstr ""
2075
 
2076
+ #: inc/admin/admin-wizard.php:302 inc/admin/admin.php:799
2077
+ msgid "Meta Robots (noindex, nofollow...)"
2078
  msgstr ""
2079
 
2080
+ #: inc/admin/admin-wizard.php:304 inc/admin/admin-wizard.php:360
2081
+ #: inc/admin/admin-wizard.php:429 inc/admin/admin.php:801
2082
+ #: inc/admin/admin.php:863 inc/admin/admin.php:940
2083
+ msgid "Focus keywords"
2084
  msgstr ""
2085
 
2086
+ #: inc/admin/admin-wizard.php:305 inc/admin/admin.php:675
2087
+ #: inc/admin/admin.php:711 inc/admin/admin.php:802
2088
+ msgid "Primary category"
 
 
2089
  msgstr ""
2090
 
2091
+ #: inc/admin/admin-wizard.php:307 inc/admin/admin.php:804
2092
+ msgid ""
2093
+ "<strong>WARNING:</strong> Migration will delete / update all SEOPress posts "
2094
+ "and terms metadata. Some dynamic variables will not be interpreted. We do "
2095
+ "NOT delete any Yoast data."
2096
  msgstr ""
2097
 
2098
+ #: inc/admin/admin-wizard.php:308 inc/admin/admin-wizard.php:325
2099
+ #: inc/admin/admin-wizard.php:344 inc/admin/admin-wizard.php:363
2100
+ #: inc/admin/admin-wizard.php:381 inc/admin/admin-wizard.php:398
2101
+ #: inc/admin/admin-wizard.php:414 inc/admin/admin-wizard.php:432
2102
+ #: inc/admin/admin-wizard.php:453 inc/admin/admin.php:805
2103
+ #: inc/admin/admin.php:824 inc/admin/admin.php:845 inc/admin/admin.php:866
2104
+ #: inc/admin/admin.php:886 inc/admin/admin.php:905 inc/admin/admin.php:923
2105
+ #: inc/admin/admin.php:943 inc/admin/admin.php:965
2106
+ msgid "Migrate now"
2107
  msgstr ""
2108
 
2109
+ #: inc/admin/admin-wizard.php:315 inc/admin/admin.php:814
2110
+ msgid "Import posts and terms metadata from All In One SEO"
 
2111
  msgstr ""
2112
 
2113
+ #: inc/admin/admin-wizard.php:321 inc/admin/admin.php:820
2114
+ msgid "Twitter image thumbnail"
2115
  msgstr ""
2116
 
2117
+ #: inc/admin/admin-wizard.php:322 inc/admin/admin-wizard.php:427
2118
+ #: inc/admin/admin-wizard.php:447 inc/admin/admin.php:821
2119
+ #: inc/admin/admin.php:938 inc/admin/admin.php:959
2120
+ msgid "Meta Robots (noindex, nofollow)"
2121
  msgstr ""
2122
 
2123
+ #: inc/admin/admin-wizard.php:324 inc/admin/admin.php:823
2124
+ msgid ""
2125
+ "<strong>WARNING:</strong> Migration will update/delete all SEOPress posts "
2126
+ "and terms metadata. Some dynamic variables will not be interpreted. We do "
2127
+ "NOT delete any AIO data."
2128
  msgstr ""
2129
 
2130
+ #: inc/admin/admin-wizard.php:332 inc/admin/admin.php:833
2131
+ msgid "Import posts and terms metadata from The SEO Framework"
 
2132
  msgstr ""
2133
 
2134
+ #: inc/admin/admin-wizard.php:339 inc/admin/admin.php:840
2135
+ msgid "Meta Robots (noindex, nofollow, noarchive)"
2136
+ msgstr ""
2137
+
2138
+ #: inc/admin/admin-wizard.php:341 inc/admin/admin-wizard.php:449
2139
+ #: inc/admin/admin.php:842 inc/admin/admin.php:961
2140
+ #: src/Actions/Admin/ManageColumn.php:70
2141
+ msgid "Redirect URL"
2142
  msgstr ""
2143
 
2144
+ #: inc/admin/admin-wizard.php:343 inc/admin/admin.php:844
2145
  msgid ""
2146
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2147
+ "and terms metadata. Some dynamic variables will not be interpreted. We do "
2148
+ "NOT delete any SEO Framework data."
2149
  msgstr ""
2150
 
2151
+ #: inc/admin/admin-wizard.php:351 inc/admin/admin.php:854
2152
+ msgid "Import posts and terms metadata from Rank Math"
2153
  msgstr ""
2154
 
2155
+ #: inc/admin/admin-wizard.php:358 inc/admin/admin.php:861
2156
+ msgid "Meta Robots (noindex, nofollow, noarchive, noimageindex)"
 
 
2157
  msgstr ""
2158
 
2159
+ #: inc/admin/admin-wizard.php:362 inc/admin/admin.php:865
2160
+ msgid ""
2161
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2162
+ "and terms metadata. Some dynamic variables will not be interpreted. We do "
2163
+ "NOT delete any Rank Math data."
 
 
 
 
 
 
 
 
 
 
 
2164
  msgstr ""
2165
 
2166
+ #: inc/admin/admin-wizard.php:370 inc/admin/admin.php:875
2167
+ msgid "Import posts metadata from Squirrly SEO"
 
 
 
 
 
 
 
 
 
 
 
 
2168
  msgstr ""
2169
 
2170
+ #: inc/admin/admin-wizard.php:377 inc/admin/admin-wizard.php:395
2171
+ #: inc/admin/admin.php:882 inc/admin/admin.php:902
2172
+ msgid "Meta Robots (noindex or nofollow)"
2173
  msgstr ""
2174
 
2175
+ #: inc/admin/admin-wizard.php:380
2176
  msgid ""
2177
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2178
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2179
+ "any Squirrly SEO data."
2180
  msgstr ""
2181
 
2182
+ #: inc/admin/admin-wizard.php:388 inc/admin/admin.php:895
2183
+ msgid "Import posts metadata from SEO Ultimate"
2184
  msgstr ""
2185
 
2186
+ #: inc/admin/admin-wizard.php:397 inc/admin/admin.php:904
2187
  msgid ""
2188
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2189
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2190
+ "any SEO Ultimate data."
 
2191
  msgstr ""
2192
 
2193
+ #: inc/admin/admin-wizard.php:405 inc/admin/admin.php:914
2194
+ msgid "Import posts and terms metadata from WP Meta SEO"
 
 
2195
  msgstr ""
2196
 
2197
+ #: inc/admin/admin-wizard.php:413 inc/admin/admin.php:922
2198
  msgid ""
2199
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2200
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2201
+ "any WP Meta SEO data."
2202
  msgstr ""
2203
 
2204
+ #: inc/admin/admin-wizard.php:421 inc/admin/admin.php:932
2205
+ msgid "Import posts and terms metadata from Premium SEO Pack"
2206
  msgstr ""
2207
 
2208
+ #: inc/admin/admin-wizard.php:431 inc/admin/admin.php:942
2209
  msgid ""
2210
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2211
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2212
+ "any Premium SEO Pack data."
2213
  msgstr ""
2214
 
2215
+ #: inc/admin/admin-wizard.php:440 inc/admin/admin.php:952
2216
+ msgid "Import posts and terms metadata from wpSEO"
 
 
 
 
 
 
2217
  msgstr ""
2218
 
2219
+ #: inc/admin/admin-wizard.php:450 inc/admin/admin.php:962
2220
+ msgid "Main keyword"
 
 
2221
  msgstr ""
2222
 
2223
+ #: inc/admin/admin-wizard.php:452 inc/admin/admin.php:964
2224
  msgid ""
2225
+ "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2226
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2227
+ "any wpSEO data."
2228
  msgstr ""
2229
 
2230
+ #: inc/admin/admin-wizard.php:461 inc/admin/admin-wizard.php:965
2231
+ msgid "Next step"
2232
  msgstr ""
2233
 
2234
+ #: inc/admin/admin-wizard.php:498
2235
+ msgid ""
2236
+ "To build title tags and knowledge graph for Google, you need to fill out the "
2237
+ "fields below to configure the general settings. "
2238
  msgstr ""
2239
 
2240
+ #: inc/admin/admin-wizard.php:501
2241
+ msgid "eg: |"
 
 
2242
  msgstr ""
2243
 
2244
+ #: inc/admin/admin-wizard.php:504
 
2245
  #, php-format
2246
+ msgid ""
2247
+ "This separator will be used by the dynamic variable <strong>%%sep%%</strong> "
2248
+ "in your title and meta description templates."
2249
  msgstr ""
2250
 
2251
+ #: inc/admin/admin-wizard.php:507
2252
+ msgid "Home site title"
 
 
 
2253
  msgstr ""
2254
 
2255
+ #: inc/admin/admin-wizard.php:508
2256
+ msgid "eg: My super website"
 
 
 
 
2257
  msgstr ""
2258
 
2259
+ #. ID
2260
+ #: inc/admin/admin-wizard.php:510 inc/admin/admin.php:1556
2261
+ msgid "Person or organization"
 
2262
  msgstr ""
2263
 
2264
+ #: inc/admin/admin-wizard.php:512
2265
+ msgid "Choose a knowledge type"
 
 
 
2266
  msgstr ""
2267
 
2268
+ #: inc/admin/admin-wizard.php:522 inc/admin/admin.php:4279
2269
+ msgid "Person"
2270
  msgstr ""
2271
 
2272
+ #: inc/admin/admin-wizard.php:527 inc/admin/admin.php:4284
2273
+ msgid "Organization"
 
 
2274
  msgstr ""
2275
 
2276
+ #. ID
2277
+ #: inc/admin/admin-wizard.php:530 inc/admin/admin.php:1564
2278
+ #: inc/admin/admin.php:4296
2279
+ msgid "Your name/organization"
2280
  msgstr ""
2281
 
2282
+ #: inc/admin/admin-wizard.php:531
2283
+ msgid "eg: My Company Name"
 
 
2284
  msgstr ""
2285
 
2286
+ #. ID
2287
+ #: inc/admin/admin-wizard.php:533 inc/admin/admin.php:1572
2288
+ #: inc/admin/admin.php:4308
2289
+ msgid "Your photo/organization logo"
2290
  msgstr ""
2291
 
2292
+ #: inc/admin/admin-wizard.php:534
2293
+ msgid "eg: https://www.example.com/logo.png"
2294
  msgstr ""
2295
 
2296
+ #: inc/admin/admin-wizard.php:536
2297
+ msgid "Facebook page URL"
2298
  msgstr ""
2299
 
2300
+ #: inc/admin/admin-wizard.php:537 inc/admin/admin.php:4438
2301
+ msgid "eg: https://facebook.com/my-page-url"
 
 
 
2302
  msgstr ""
2303
 
2304
+ #. ID
2305
+ #: inc/admin/admin-wizard.php:539 inc/admin/admin.php:1621
2306
+ msgid "Twitter Username"
2307
  msgstr ""
2308
 
2309
+ #: inc/admin/admin-wizard.php:540 inc/admin/admin.php:4447
2310
+ msgid "eg: @my_twitter_account"
 
 
 
 
2311
  msgstr ""
2312
 
2313
+ #. ID
2314
+ #: inc/admin/admin-wizard.php:542 inc/admin/admin.php:1629
2315
+ #: inc/admin/admin.php:4456
2316
+ msgid "Pinterest URL"
2317
  msgstr ""
2318
 
2319
+ #: inc/admin/admin-wizard.php:543 inc/admin/admin.php:4456
2320
+ msgid "eg: https://pinterest.com/my-page-url/"
 
 
 
2321
  msgstr ""
2322
 
2323
+ #. ID
2324
+ #: inc/admin/admin-wizard.php:545 inc/admin/admin.php:1637
2325
+ #: inc/admin/admin.php:4465
2326
+ msgid "Instagram URL"
2327
  msgstr ""
2328
 
2329
+ #: inc/admin/admin-wizard.php:546 inc/admin/admin.php:4465
2330
+ msgid "eg: https://www.instagram.com/my-page-url/"
 
 
 
 
 
2331
  msgstr ""
2332
 
2333
+ #. ID
2334
+ #: inc/admin/admin-wizard.php:548 inc/admin/admin.php:1645
2335
+ #: inc/admin/admin.php:4474
2336
+ msgid "YouTube URL"
2337
  msgstr ""
2338
 
2339
+ #: inc/admin/admin-wizard.php:549 inc/admin/admin.php:4474
2340
+ msgid "eg: https://www.youtube.com/my-channel-url"
2341
  msgstr ""
2342
 
2343
+ #. ID
2344
+ #: inc/admin/admin-wizard.php:551 inc/admin/admin.php:1653
2345
+ #: inc/admin/admin.php:4483
2346
+ msgid "LinkedIn URL"
 
2347
  msgstr ""
2348
 
2349
+ #: inc/admin/admin-wizard.php:552 inc/admin/admin.php:4483
2350
+ msgid "eg: http://linkedin.com/company/my-company-url/"
2351
  msgstr ""
2352
 
2353
+ #: inc/admin/admin-wizard.php:555 inc/admin/admin-wizard.php:699
2354
+ #: inc/admin/admin-wizard.php:877
2355
+ msgid "Continue"
2356
  msgstr ""
2357
 
2358
+ #: inc/admin/admin-wizard.php:603
2359
+ msgid "Specify to the search engines what you want to be indexed or not."
2360
  msgstr ""
2361
 
2362
+ #: inc/admin/admin-wizard.php:604
2363
+ msgid "Avoid indexing duplicate or poor quality content."
 
 
 
 
2364
  msgstr ""
2365
 
2366
+ #: inc/admin/admin-wizard.php:605
2367
+ msgid "Default: index"
2368
  msgstr ""
2369
 
2370
+ #: inc/admin/admin-wizard.php:610
2371
+ msgid "For which single post types, should indexing be disabled?"
2372
  msgstr ""
2373
 
2374
+ #: inc/admin/admin-wizard.php:629
2375
  msgid ""
2376
+ "Do not display this single post type in search engine "
2377
+ "results <strong>(noindex)</strong>"
 
 
2378
  msgstr ""
2379
 
2380
+ #: inc/admin/admin-wizard.php:640
2381
+ msgid "For which post type archives, should indexing be disabled?"
2382
  msgstr ""
2383
 
2384
+ #: inc/admin/admin-wizard.php:659
2385
  msgid ""
2386
+ "Do not display this post type archive in search engine "
2387
+ "results <strong>(noindex)</strong>"
 
2388
  msgstr ""
2389
 
2390
+ #: inc/admin/admin-wizard.php:671
2391
+ msgid "For which taxonomy archives, should indexing be disabled?"
2392
  msgstr ""
2393
 
2394
+ #: inc/admin/admin-wizard.php:690
2395
  msgid ""
2396
+ "Do not display this taxonomy archive in search engine "
2397
+ "results <strong>(noindex)</strong>"
 
2398
  msgstr ""
2399
 
2400
+ #: inc/admin/admin-wizard.php:777 inc/admin/admin.php:3602
2401
+ msgid ""
2402
+ "Do not display author archives in search engine results <strong>(noindex)</"
2403
+ "strong>"
2404
  msgstr ""
2405
 
2406
+ #: inc/admin/admin-wizard.php:781
2407
+ msgid ""
2408
+ "You only have one author on your site? Check this option to avoid duplicate "
2409
+ "content."
2410
  msgstr ""
2411
 
2412
+ #: inc/admin/admin-wizard.php:790 inc/admin/admin.php:5678
2413
  msgid ""
2414
+ "Redirect attachment pages to their file URL (https://www.example.com/my-"
2415
+ "image-file.jpg)"
 
2416
  msgstr ""
2417
 
2418
+ #: inc/admin/admin-wizard.php:794
2419
+ msgid ""
2420
+ "By default, SEOPress redirects your Attachment pages to the parent post. "
2421
+ "Optimize this by redirecting the user directly to the URL of the media file."
2422
  msgstr ""
2423
 
2424
+ #: inc/admin/admin-wizard.php:803 inc/admin/admin.php:5832
2425
+ msgid "Remove /category/ in your permalinks"
2426
  msgstr ""
2427
 
2428
+ #: inc/admin/admin-wizard.php:807
2429
+ msgid "Shorten your URLs by removing /category/ and improve your SEO."
 
 
 
2430
  msgstr ""
2431
 
2432
+ #: inc/admin/admin-wizard.php:812
2433
+ msgid "Choose which SEO columns to display in post types list:"
2434
  msgstr ""
2435
 
2436
+ #. ID
2437
+ #: inc/admin/admin-wizard.php:822 inc/admin/admin.php:2539
2438
+ msgid "Show Title tag column in post types"
 
2439
  msgstr ""
2440
 
2441
+ #. ID
2442
+ #: inc/admin/admin-wizard.php:832 inc/admin/admin.php:2547
2443
+ msgid "Show Meta description column in post types"
2444
  msgstr ""
2445
 
2446
+ #. ID
2447
+ #: inc/admin/admin-wizard.php:842 inc/admin/admin.php:2587
2448
+ msgid "Show noindex column in post types"
 
 
 
2449
  msgstr ""
2450
 
2451
+ #: inc/admin/admin-wizard.php:846
2452
+ msgid "Quickly know if a content is in noindex."
2453
  msgstr ""
2454
 
2455
+ #. ID
2456
+ #: inc/admin/admin-wizard.php:855 inc/admin/admin.php:2595
2457
+ msgid "Show nofollow column in post types"
2458
  msgstr ""
2459
 
2460
+ #: inc/admin/admin-wizard.php:859
2461
+ msgid "Quickly know if a content is in nofollow."
 
2462
  msgstr ""
2463
 
2464
+ #. ID
2465
+ #: inc/admin/admin-wizard.php:868 inc/admin/admin.php:2638
2466
+ msgid "Show content analysis score column in post types"
2467
  msgstr ""
2468
 
2469
+ #: inc/admin/admin-wizard.php:872
2470
+ msgid "Quickly know if a content is optimized for search engines."
2471
  msgstr ""
2472
 
2473
+ #. Flush permalinks
2474
+ #: inc/admin/admin-wizard.php:927
2475
+ msgid "Your site is now ready for search engines!"
2476
  msgstr ""
2477
 
2478
+ #: inc/admin/admin-wizard.php:933 inc/functions/options-advanced-admin.php:19
2479
+ msgid "Welcome to SEOPress PRO!"
2480
  msgstr ""
2481
 
2482
+ #: inc/admin/admin-wizard.php:936 inc/functions/options-advanced-admin.php:20
2483
+ msgid ""
2484
+ "Please activate your license to receive automatic updates and get premium "
2485
+ "support."
2486
  msgstr ""
2487
 
2488
+ #: inc/admin/admin-wizard.php:941 inc/functions/options-advanced-admin.php:21
2489
+ msgid "Activate License"
2490
  msgstr ""
2491
 
2492
+ #: inc/admin/admin-wizard.php:948
2493
+ msgid "Go PRO with SEOPress PRO!"
2494
  msgstr ""
2495
 
2496
+ #: inc/admin/admin-wizard.php:951
2497
+ msgid ""
2498
+ "When you upgrade to the PRO version, you get a lot of additional features, "
2499
+ "like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, "
2500
+ "Analytics statistics in your Dashboard, breadcrumbs, redirections, and more."
2501
  msgstr ""
2502
 
2503
+ #: inc/admin/admin-wizard.php:956
2504
+ msgid "Buy SEOPress PRO - $39 / unlimited sites"
 
 
2505
  msgstr ""
2506
 
2507
+ #: inc/admin/admin-wizard.php:966
2508
+ msgid "Create your XML sitemaps"
2509
  msgstr ""
2510
 
2511
+ #: inc/admin/admin-wizard.php:967
2512
+ msgid "Build custom XML sitemaps to improve Google's crawling of your site."
2513
  msgstr ""
2514
 
2515
+ #: inc/admin/admin-wizard.php:972
2516
+ msgid "Configure your XML sitemaps"
2517
  msgstr ""
2518
 
2519
+ #: inc/admin/admin-wizard.php:980
2520
+ msgid "You can also:"
2521
  msgstr ""
2522
 
2523
+ #: inc/admin/admin-wizard.php:985
2524
+ msgid "Visit Dashboard"
2525
  msgstr ""
2526
 
2527
+ #: inc/admin/admin-wizard.php:988
2528
+ msgid "Review Settings"
2529
  msgstr ""
2530
 
2531
+ #: inc/admin/admin-wizard.php:991
2532
+ msgid "Knowledge base"
2533
  msgstr ""
2534
 
2535
+ #: inc/admin/admin.php:35
2536
+ msgid "SEOPress Option Page"
2537
  msgstr ""
2538
 
2539
+ #: inc/admin/admin.php:36
2540
+ msgid "Dashboard"
2541
  msgstr ""
2542
 
2543
+ #: inc/admin/admin.php:50
2544
+ #, php-format
2545
+ msgid "%%sep%%"
2546
  msgstr ""
2547
 
2548
+ #: inc/admin/admin.php:50
2549
+ msgid "Separator (eg: - )"
2550
  msgstr ""
2551
 
2552
+ #: inc/admin/admin.php:51
2553
+ #, php-format
2554
+ msgid "%%sitetitle%% (alias: %%sitename%%)"
2555
  msgstr ""
2556
 
2557
+ #: inc/admin/admin.php:52
2558
+ #, php-format
2559
+ msgid "%%tagline%% (alias %%sitedesc%%)"
2560
  msgstr ""
2561
 
2562
+ #: inc/admin/admin.php:53
2563
+ #, php-format
2564
+ msgid "%%post_title%% (alias %%title%%)"
 
2565
  msgstr ""
2566
 
2567
+ #: inc/admin/admin.php:53
2568
+ msgid "Post Title (post, page, custom post type)"
 
 
2569
  msgstr ""
2570
 
2571
+ #: inc/admin/admin.php:54
2572
+ #, php-format
2573
+ msgid "%%post_excerpt%% (alias %%excerpt%%)"
2574
  msgstr ""
2575
 
2576
+ #: inc/admin/admin.php:55
2577
+ #, php-format
2578
+ msgid "%%post_content%%"
2579
  msgstr ""
2580
 
2581
+ #: inc/admin/admin.php:55
2582
+ msgid "Post content / product long description"
 
2583
  msgstr ""
2584
 
2585
+ #: inc/admin/admin.php:56
2586
+ #, php-format
2587
+ msgid "%%post_thumbnail_url%%"
2588
  msgstr ""
2589
 
2590
+ #: inc/admin/admin.php:57
2591
+ #, php-format
2592
+ msgid "%%post_url%%"
2593
  msgstr ""
2594
 
2595
+ #: inc/admin/admin.php:57
2596
+ msgid "Post URL (permalink)"
2597
  msgstr ""
2598
 
2599
+ #: inc/admin/admin.php:58
2600
+ #, php-format
2601
+ msgid "%%post_date%% (alias %%date%%)"
2602
  msgstr ""
2603
 
2604
+ #: inc/admin/admin.php:59
2605
+ #, php-format
2606
+ msgid "%%post_modified_date%%"
2607
  msgstr ""
2608
 
2609
+ #: inc/admin/admin.php:59
2610
+ msgid "Last modified post date"
2611
  msgstr ""
2612
 
2613
+ #: inc/admin/admin.php:60
2614
+ #, php-format
2615
+ msgid "%%post_author%%"
2616
  msgstr ""
2617
 
2618
+ #: inc/admin/admin.php:61
2619
+ #, php-format
2620
+ msgid "%%post_category%%"
2621
  msgstr ""
2622
 
2623
+ #: inc/admin/admin.php:62
2624
+ #, php-format
2625
+ msgid "%%post_tag%%"
2626
  msgstr ""
2627
 
2628
+ #: inc/admin/admin.php:63
2629
+ #, php-format
2630
+ msgid "%%_category_title%%"
2631
  msgstr ""
2632
 
2633
+ #: inc/admin/admin.php:64
2634
+ #, php-format
2635
+ msgid "%%_category_description%%"
 
 
 
 
 
 
2636
  msgstr ""
2637
 
2638
+ #: inc/admin/admin.php:65
2639
+ #, php-format
2640
+ msgid "%%tag_title%%"
 
 
 
 
 
 
2641
  msgstr ""
2642
 
2643
+ #: inc/admin/admin.php:66
2644
+ #, php-format
2645
+ msgid "%%tag_description%%"
 
 
 
 
 
 
2646
  msgstr ""
2647
 
2648
+ #: inc/admin/admin.php:67
2649
+ #, php-format
2650
+ msgid "%%term_title%%"
 
 
 
 
2651
  msgstr ""
2652
 
2653
+ #: inc/admin/admin.php:68
2654
+ #, php-format
2655
+ msgid "%%term_description%%"
2656
  msgstr ""
2657
 
2658
+ #: inc/admin/admin.php:69
2659
+ #, php-format
2660
+ msgid "%%search_keywords%%"
 
2661
  msgstr ""
2662
 
2663
+ #: inc/admin/admin.php:70
2664
+ #, php-format
2665
+ msgid "%%current_pagination%%"
2666
  msgstr ""
2667
 
2668
+ #: inc/admin/admin.php:71
2669
+ #, php-format
2670
+ msgid "%%page%%"
 
 
2671
  msgstr ""
2672
 
2673
+ #: inc/admin/admin.php:71
2674
+ msgid "Current page number with context (i.e. page 1 of 3)"
 
 
 
 
 
 
 
2675
  msgstr ""
2676
 
2677
+ #: inc/admin/admin.php:72
2678
+ #, php-format
2679
+ msgid "%%cpt_plural%%"
2680
  msgstr ""
2681
 
2682
+ #: inc/admin/admin.php:73
2683
+ #, php-format
2684
+ msgid "%%archive_title%%"
2685
  msgstr ""
2686
 
2687
+ #: inc/admin/admin.php:74
2688
+ #, php-format
2689
+ msgid "%%archive_date%%"
 
2690
  msgstr ""
2691
 
2692
+ #: inc/admin/admin.php:74
2693
+ msgid "Date Archive"
 
 
 
2694
  msgstr ""
2695
 
2696
+ #: inc/admin/admin.php:75
2697
+ #, php-format
2698
+ msgid "%%archive_date_day%%"
2699
  msgstr ""
2700
 
2701
+ #: inc/admin/admin.php:76
2702
+ #, php-format
2703
+ msgid "%%archive_date_month%%"
2704
  msgstr ""
2705
 
2706
+ #: inc/admin/admin.php:77
2707
+ #, php-format
2708
+ msgid "%%archive_date_year%%"
 
2709
  msgstr ""
2710
 
2711
+ #: inc/admin/admin.php:78
2712
+ #, php-format
2713
+ msgid "%%_cf_your_custom_field_name%%"
 
 
2714
  msgstr ""
2715
 
2716
+ #: inc/admin/admin.php:78
2717
+ msgid ""
2718
+ "Custom fields from post, page or post type (replace <span style=\"color:red;"
2719
+ "margin:0\">your_custom_field_name</span> with your custom field name)"
2720
  msgstr ""
2721
 
2722
+ #: inc/admin/admin.php:79
2723
+ #, php-format
2724
+ msgid "%%_ct_your_custom_taxonomy_slug%%"
2725
  msgstr ""
2726
 
2727
+ #: inc/admin/admin.php:79
2728
  msgid ""
2729
+ "Custom term taxonomy from post, page or post type (replace <span style="
2730
+ "\"color:red;margin:0\">your_custom_taxonomy_slug</span> with your custom "
2731
+ "taxonomy slug)"
2732
  msgstr ""
2733
 
2734
+ #: inc/admin/admin.php:80
2735
+ #, php-format
2736
+ msgid "%%wc_single_cat%%"
2737
  msgstr ""
2738
 
2739
+ #: inc/admin/admin.php:81
2740
+ #, php-format
2741
+ msgid "%%wc_single_tag%%"
2742
  msgstr ""
2743
 
2744
+ #: inc/admin/admin.php:82
2745
+ #, php-format
2746
+ msgid "%%wc_single_short_desc%%"
 
 
2747
  msgstr ""
2748
 
2749
+ #: inc/admin/admin.php:83
2750
+ #, php-format
2751
+ msgid "%%wc_single_price%%"
2752
  msgstr ""
2753
 
2754
+ #: inc/admin/admin.php:84
2755
+ #, php-format
2756
+ msgid "%%wc_single_price_exc_tax%%"
 
 
 
 
 
 
2757
  msgstr ""
2758
 
2759
+ #: inc/admin/admin.php:85
2760
+ #, php-format
2761
+ msgid "%%wc_sku%%"
 
 
2762
  msgstr ""
2763
 
2764
+ #: inc/admin/admin.php:86
2765
+ #, php-format
2766
+ msgid "%%currentday%%"
2767
  msgstr ""
2768
 
2769
+ #: inc/admin/admin.php:87
2770
+ #, php-format
2771
+ msgid "%%currentmonth%%"
 
 
2772
  msgstr ""
2773
 
2774
+ #: inc/admin/admin.php:88
2775
+ #, php-format
2776
+ msgid "%%currentmonth_short%%"
2777
  msgstr ""
2778
 
2779
+ #: inc/admin/admin.php:88
2780
+ msgid "Current month in 3 letters, eg: \"Jan\" for \"January\""
2781
  msgstr ""
2782
 
2783
+ #: inc/admin/admin.php:89
2784
+ #, php-format
2785
+ msgid "%%currentyear%%"
 
 
2786
  msgstr ""
2787
 
2788
+ #: inc/admin/admin.php:90
2789
+ #, php-format
2790
+ msgid "%%currentdate%%"
2791
  msgstr ""
2792
 
2793
+ #: inc/admin/admin.php:91
2794
+ #, php-format
2795
+ msgid "%%currenttime%%"
 
2796
  msgstr ""
2797
 
2798
+ #: inc/admin/admin.php:92
2799
+ #, php-format
2800
+ msgid "%%author_bio%%"
2801
  msgstr ""
2802
 
2803
+ #: inc/admin/admin.php:92
2804
+ msgid "Author biography (description), meta desc only"
 
 
2805
  msgstr ""
2806
 
2807
+ #: inc/admin/admin.php:93
2808
+ #, php-format
2809
+ msgid "%%currentmonth_num%%"
2810
  msgstr ""
2811
 
2812
+ #: inc/admin/admin.php:101
2813
+ msgid "Templates variables"
 
2814
  msgstr ""
2815
 
2816
+ #: inc/admin/admin.php:107
2817
+ msgid "Edit your meta robots"
2818
  msgstr ""
2819
 
2820
+ #: inc/admin/admin.php:114 inc/admin/admin.php:122
2821
+ msgid "Browse our guides"
2822
  msgstr ""
2823
 
2824
+ #: inc/admin/admin.php:115 inc/admin/admin.php:123
2825
+ msgid "Read our FAQ"
2826
  msgstr ""
2827
 
2828
+ #: inc/admin/admin.php:116 inc/admin/admin.php:124
2829
+ msgid "Check our website"
 
 
2830
  msgstr ""
2831
 
2832
+ #: inc/admin/admin.php:135
2833
+ msgid ""
2834
+ "Watch our video to learn how to enable XML sitemaps to improve crawling and "
2835
+ "them to Google Search Console."
2836
  msgstr ""
2837
 
2838
+ #: inc/admin/admin.php:140 inc/admin/admin.php:169 inc/admin/admin.php:198
2839
+ msgid "How-to"
 
 
2840
  msgstr ""
2841
 
2842
+ #: inc/admin/admin.php:164
2843
+ msgid ""
2844
+ "Watch our video to learn how to edit your Open Graph and Twitters Cards tags "
2845
+ "to improve social sharing."
2846
  msgstr ""
2847
 
2848
+ #: inc/admin/admin.php:193
2849
+ msgid ""
2850
+ "Watch our video to learn how to connect your WordPress site with Google "
2851
+ "Analytics and get statistics right in your dashboard (PRO only)."
2852
  msgstr ""
2853
 
2854
+ #: inc/admin/admin.php:228 inc/admin/admin.php:306 inc/admin/admin.php:378
2855
+ #: inc/admin/admin.php:452 inc/admin/admin.php:555
2856
+ msgid "Your settings has been saved."
2857
  msgstr ""
2858
 
2859
+ #: inc/admin/admin.php:247 inc/admin/admin.php:251 inc/admin/admin.php:324
2860
+ #: inc/admin/admin.php:328 inc/admin/admin.php:397 inc/admin/admin.php:401
2861
+ #: inc/admin/admin.php:472 inc/admin/admin.php:476 inc/admin/admin.php:574
2862
+ #: inc/admin/admin.php:578
2863
+ msgid "Click to disable this feature"
2864
  msgstr ""
2865
 
2866
+ #: inc/admin/admin.php:248 inc/admin/admin.php:250 inc/admin/admin.php:325
2867
+ #: inc/admin/admin.php:327 inc/admin/admin.php:398 inc/admin/admin.php:400
2868
+ #: inc/admin/admin.php:473 inc/admin/admin.php:475 inc/admin/admin.php:575
2869
+ #: inc/admin/admin.php:577
2870
+ msgid "Click to enable this feature"
2871
  msgstr ""
2872
 
2873
+ #: inc/admin/admin.php:264
2874
+ msgid "Home"
 
 
2875
  msgstr ""
2876
 
2877
+ #: inc/admin/admin.php:265
2878
+ msgid "Single Post Types"
2879
  msgstr ""
2880
 
2881
+ #: inc/admin/admin.php:266
2882
+ msgid "Archives"
 
 
2883
  msgstr ""
2884
 
2885
+ #: inc/admin/admin.php:267 inc/admin/admin.php:343
2886
+ msgid "Taxonomies"
2887
  msgstr ""
2888
 
2889
+ #: inc/admin/admin.php:341 inc/admin/admin.php:490 inc/admin/admin.php:501
2890
+ msgid "General"
 
 
2891
  msgstr ""
2892
 
2893
+ #: inc/admin/admin.php:342
2894
+ msgid "Post Types"
2895
  msgstr ""
2896
 
2897
+ #: inc/admin/admin.php:344
2898
+ msgid "HTML Sitemap"
 
 
2899
  msgstr ""
2900
 
2901
+ #: inc/admin/admin.php:414
2902
+ msgid "Knowledge Graph"
2903
  msgstr ""
2904
 
2905
+ #: inc/admin/admin.php:415
2906
+ msgid "Your social accounts"
 
 
2907
  msgstr ""
2908
 
2909
+ #: inc/admin/admin.php:416
2910
+ msgid "Facebook (Open Graph)"
2911
  msgstr ""
2912
 
2913
+ #: inc/admin/admin.php:417
2914
+ msgid "Twitter (Twitter card)"
 
 
2915
  msgstr ""
2916
 
2917
+ #: inc/admin/admin.php:491 inc/admin/admin.php:502
2918
+ msgid "Tracking"
2919
  msgstr ""
2920
 
2921
+ #: inc/admin/admin.php:492
2922
+ msgid "Ecommerce"
 
 
2923
  msgstr ""
2924
 
2925
+ #: inc/admin/admin.php:493 inc/admin/admin.php:503
2926
+ msgid "Events"
2927
  msgstr ""
2928
 
2929
+ #: inc/admin/admin.php:494 inc/admin/admin.php:504
2930
+ msgid "Custom Dimensions"
 
2931
  msgstr ""
2932
 
2933
+ #: inc/admin/admin.php:495
2934
+ msgid "Stats in Dashboard"
2935
  msgstr ""
2936
 
2937
+ #: inc/admin/admin.php:496 inc/admin/admin.php:505
2938
+ msgid "Cookie bar / GDPR"
2939
  msgstr ""
2940
 
2941
+ #: inc/admin/admin.php:497 inc/admin/admin.php:506
2942
+ msgid "Matomo"
2943
  msgstr ""
2944
 
2945
+ #: inc/admin/admin.php:592
2946
+ msgid "Appearance"
2947
  msgstr ""
2948
 
2949
+ #: inc/admin/admin.php:593
2950
+ msgid "Security"
 
 
2951
  msgstr ""
2952
 
2953
+ #: inc/admin/admin.php:630
2954
+ msgid "Data"
2955
  msgstr ""
2956
 
2957
+ #: inc/admin/admin.php:631 seopress.php:514
2958
+ msgid "Settings"
 
 
2959
  msgstr ""
2960
 
2961
+ #: inc/admin/admin.php:632
2962
+ msgid "Plugins"
2963
  msgstr ""
2964
 
2965
+ #: inc/admin/admin.php:634
2966
+ msgid "Reset"
 
 
2967
  msgstr ""
2968
 
2969
+ #: inc/admin/admin.php:653
2970
+ msgid "Import data from a CSV"
 
 
2971
  msgstr ""
2972
 
2973
+ #: inc/admin/admin.php:654
2974
  msgid ""
2975
+ "Upload a CSV file to quickly import post (post, page, single post type) and "
2976
+ "term metadata:"
2977
  msgstr ""
2978
 
2979
+ #: inc/admin/admin.php:663 inc/admin/admin.php:699
2980
+ msgid "Meta robots (noindex, nofollow...)"
 
 
2981
  msgstr ""
2982
 
2983
+ #: inc/admin/admin.php:666 inc/admin/admin.php:702
2984
+ msgid "Facebook Open Graph tags (title, description, image)"
 
 
2985
  msgstr ""
2986
 
2987
+ #: inc/admin/admin.php:669 inc/admin/admin.php:705
2988
+ msgid "Twitter cards tags (title, description, image)"
2989
  msgstr ""
2990
 
2991
+ #: inc/admin/admin.php:672 inc/admin/admin.php:708
2992
+ msgid "Redirection (enable, type, URL)"
2993
  msgstr ""
2994
 
2995
+ #: inc/admin/admin.php:684
2996
+ msgid "Run the importer"
2997
  msgstr ""
2998
 
2999
+ #: inc/admin/admin.php:689
3000
+ msgid "Export metadata to a CSV"
3001
  msgstr ""
3002
 
3003
+ #: inc/admin/admin.php:690
3004
  msgid ""
3005
+ "Export your post (post, page, single post type) and term metadata for this "
3006
+ "site as a .csv file."
3007
  msgstr ""
3008
 
3009
+ #: inc/admin/admin.php:724 inc/admin/admin.php:744
3010
+ msgid "Export"
3011
  msgstr ""
3012
 
3013
+ #: inc/admin/admin.php:738
3014
+ msgid "Export plugin settings"
3015
  msgstr ""
3016
 
3017
+ #: inc/admin/admin.php:739
3018
  msgid ""
3019
+ "Export the plugin settings for this site as a .json file. This allows you to "
3020
+ "easily import the configuration into another site."
 
3021
  msgstr ""
3022
 
3023
+ #: inc/admin/admin.php:752
3024
+ msgid "Import plugin settings"
3025
  msgstr ""
3026
 
3027
+ #: inc/admin/admin.php:753
3028
+ msgid ""
3029
+ "Import the plugin settings from a .json file. This file can be obtained by "
3030
+ "exporting the settings on another site using the form above."
3031
  msgstr ""
3032
 
3033
+ #: inc/admin/admin.php:761
3034
+ msgid "Import"
3035
  msgstr ""
3036
 
3037
+ #: inc/admin/admin.php:763
3038
+ msgid "Import completed!"
3039
  msgstr ""
3040
 
3041
+ #: inc/admin/admin.php:885
3042
+ msgid ""
3043
+ "<strong>WARNING:</strong> Migration will update/delete all SEOPress posts "
3044
+ "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
3045
+ "any Squirrly SEO data."
3046
  msgstr ""
3047
 
3048
+ #: inc/admin/admin.php:978
3049
+ msgid "Redirections feature is disabled. Please activate it from the PRO page."
3050
  msgstr ""
3051
 
3052
+ #: inc/admin/admin.php:979
3053
+ msgid "Activate Redirections"
3054
  msgstr ""
3055
 
3056
+ #: inc/admin/admin.php:988
3057
+ msgid "Reset All Notices From Notifications Center"
3058
  msgstr ""
3059
 
3060
+ #: inc/admin/admin.php:989
3061
+ msgid ""
3062
+ "By clicking Reset Notices, all notices in the notifications center will be "
3063
+ "set to their initial status."
3064
  msgstr ""
3065
 
3066
+ #: inc/admin/admin.php:994
3067
+ msgid "Reset notices"
3068
  msgstr ""
3069
 
3070
+ #: inc/admin/admin.php:1002
3071
+ msgid "Reset All Settings"
3072
  msgstr ""
3073
 
3074
+ #: inc/admin/admin.php:1003
3075
+ msgid ""
3076
+ "<strong>WARNING:</strong> Delete all options related to this plugin in your "
3077
+ "database AND set settings to their default values."
3078
  msgstr ""
3079
 
3080
+ #: inc/admin/admin.php:1008
3081
+ msgid "Reset settings"
3082
  msgstr ""
3083
 
3084
+ #. ID
3085
+ #: inc/admin/admin.php:1125 inc/admin/admin.php:3013
3086
+ msgid "Site title"
3087
  msgstr ""
3088
 
3089
+ #. ID
3090
+ #: inc/admin/admin.php:1344 inc/admin/admin.php:3778
3091
+ msgid "noindex"
3092
  msgstr ""
3093
 
3094
+ #. ID
3095
+ #: inc/admin/admin.php:1352 inc/admin/admin.php:3800
3096
+ msgid "nofollow"
3097
  msgstr ""
3098
 
3099
+ #. ID
3100
+ #: inc/admin/admin.php:1360 inc/admin/admin.php:3820
3101
+ msgid "noodp"
3102
  msgstr ""
3103
 
3104
+ #. ID
3105
+ #: inc/admin/admin.php:1368 inc/admin/admin.php:3840
3106
+ msgid "noimageindex"
 
 
3107
  msgstr ""
3108
 
3109
+ #. ID
3110
+ #: inc/admin/admin.php:1376 inc/admin/admin.php:3860
3111
+ msgid "noarchive"
 
 
 
3112
  msgstr ""
3113
 
3114
+ #. ID
3115
+ #: inc/admin/admin.php:1384 inc/admin/admin.php:3880
3116
+ msgid "nosnippet"
3117
  msgstr ""
3118
 
3119
+ #. ID
3120
+ #: inc/admin/admin.php:1392 inc/admin/admin.php:3900
3121
+ msgid "nositelinkssearchbox"
3122
  msgstr ""
3123
 
3124
+ #. ID
3125
+ #: inc/admin/admin.php:1400
3126
+ msgid "Indicate paginated content to Google"
3127
  msgstr ""
3128
 
3129
+ #. ID
3130
+ #: inc/admin/admin.php:1408
3131
+ msgid "noindex on paged archives"
3132
  msgstr ""
3133
 
3134
+ #. ID
3135
+ #: inc/admin/admin.php:1425 inc/admin/admin.php:3958
3136
+ msgid "Enable XML Sitemap"
3137
  msgstr ""
3138
 
3139
+ #. ID
3140
+ #: inc/admin/admin.php:1433
3141
+ msgid "Enable XML Image Sitemaps"
3142
  msgstr ""
3143
 
3144
+ #. ID
3145
+ #: inc/admin/admin.php:1442
3146
+ msgid "Enable XML Video Sitemaps"
 
3147
  msgstr ""
3148
 
3149
+ #. ID
3150
+ #: inc/admin/admin.php:1451 inc/admin/admin.php:4042
3151
+ msgid "Enable Author Sitemap"
3152
  msgstr ""
3153
 
3154
+ #. ID
3155
+ #: inc/admin/admin.php:1459 inc/admin/admin.php:4062
3156
+ msgid "Enable HTML Sitemap"
3157
  msgstr ""
3158
 
3159
+ #. ID
3160
+ #: inc/admin/admin.php:1475
3161
+ msgid "Check to INCLUDE Post Types"
 
 
 
 
 
 
 
 
 
3162
  msgstr ""
3163
 
3164
+ #. ID
3165
+ #: inc/admin/admin.php:1491
3166
+ msgid "Check to INCLUDE Taxonomies"
3167
  msgstr ""
3168
 
3169
+ #. ID
3170
+ #: inc/admin/admin.php:1507 inc/admin/admin.php:4167
3171
+ msgid "Enter a post, page or custom post type ID(s) to display the sitemap"
3172
  msgstr ""
3173
 
3174
+ #. ID
3175
+ #: inc/admin/admin.php:1515 inc/admin/admin.php:4180
3176
+ msgid "Exclude some Posts, Pages, Custom Post Types or Terms IDs"
3177
  msgstr ""
3178
 
3179
+ #. ID
3180
+ #: inc/admin/admin.php:1523
3181
+ msgid "Sort order"
3182
  msgstr ""
3183
 
3184
+ #. ID
3185
+ #: inc/admin/admin.php:1531
3186
+ msgid "Order posts by"
3187
  msgstr ""
3188
 
3189
+ #. ID
3190
+ #: inc/admin/admin.php:1539
3191
+ msgid "Disable the display of the publication date"
3192
  msgstr ""
3193
 
3194
+ #. ID
3195
+ #: inc/admin/admin.php:1580 inc/admin/admin.php:4338
3196
+ msgid "Organization's phone number (only for Organizations)"
3197
  msgstr ""
3198
 
3199
+ #. ID
3200
+ #: inc/admin/admin.php:1588
3201
+ msgid "Contact type (only for Organizations)"
3202
  msgstr ""
3203
 
3204
+ #. ID
3205
+ #: inc/admin/admin.php:1596
3206
+ msgid "Contact option (only for Organizations)"
3207
  msgstr ""
3208
 
3209
+ #. ID
3210
+ #: inc/admin/admin.php:1613 inc/admin/admin.php:4438
3211
+ msgid "Facebook Page URL"
3212
  msgstr ""
3213
 
3214
+ #. ID
3215
+ #: inc/admin/admin.php:1670
3216
+ msgid "Enable Open Graph Data"
3217
  msgstr ""
3218
 
3219
+ #. ID
3220
+ #: inc/admin/admin.php:1678 inc/admin/admin.php:4511 inc/admin/admin.php:4564
3221
+ msgid "Select a default image"
3222
  msgstr ""
3223
 
3224
+ #. ID
3225
+ #: inc/admin/admin.php:1686
3226
+ msgid "Apply this image to all your og:image tag"
3227
  msgstr ""
3228
 
3229
+ #. ID
3230
+ #: inc/admin/admin.php:1694
3231
+ msgid "Define custom og:image tag for post type archive pages"
3232
  msgstr ""
3233
 
3234
+ #. ID
3235
+ #: inc/admin/admin.php:1702
3236
+ msgid "Facebook Link Ownership ID"
3237
  msgstr ""
3238
 
3239
+ #. ID
3240
+ #: inc/admin/admin.php:1710
3241
+ msgid "Facebook Admin ID"
3242
  msgstr ""
3243
 
3244
+ #. ID
3245
+ #: inc/admin/admin.php:1718
3246
+ msgid "Facebook App ID"
3247
  msgstr ""
3248
 
3249
+ #. ID
3250
+ #: inc/admin/admin.php:1735
3251
+ msgid "Enable Twitter Card"
3252
  msgstr ""
3253
 
3254
+ #. ID
3255
+ #: inc/admin/admin.php:1743
3256
+ msgid "Use Open Graph if no Twitter Card is filled"
3257
  msgstr ""
3258
 
3259
+ #. ID
3260
+ #: inc/admin/admin.php:1751 inc/admin/admin.php:4659
3261
+ msgid "Default Twitter Image"
3262
  msgstr ""
3263
 
3264
+ #. ID
3265
+ #: inc/admin/admin.php:1759
3266
+ msgid "Image size for Twitter Summary card"
3267
  msgstr ""
3268
 
3269
+ #. ID
3270
+ #: inc/admin/admin.php:1776
3271
+ msgid "Enable Google Analytics tracking"
3272
  msgstr ""
3273
 
3274
+ #. ID
3275
+ #: inc/admin/admin.php:1784 inc/admin/admin.php:2200 inc/admin/admin.php:4717
3276
+ msgid "Enter your tracking ID"
3277
  msgstr ""
3278
 
3279
+ #. ID
3280
+ #: inc/admin/admin.php:1792
3281
+ msgid "Enter your measurement ID (GA4)"
3282
  msgstr ""
3283
 
3284
+ #. ID
3285
+ #: inc/admin/admin.php:1800
3286
+ msgid "Exclude user roles from tracking (Google Analytics and Matomo)"
3287
  msgstr ""
3288
 
3289
+ #. ID
3290
+ #: inc/admin/admin.php:1817
3291
+ msgid "Analytics tracking opt-in"
 
3292
  msgstr ""
3293
 
3294
+ #. ID
3295
+ #: inc/admin/admin.php:1833
3296
+ msgid "Consent message for user tracking"
3297
  msgstr ""
3298
 
3299
+ #. ID
3300
+ #: inc/admin/admin.php:1841
3301
+ msgid "Accept button for user tracking"
3302
  msgstr ""
3303
 
3304
+ #. ID
3305
+ #: inc/admin/admin.php:1849
3306
+ msgid "Close button"
3307
  msgstr ""
3308
 
3309
+ #. ID
3310
+ #: inc/admin/admin.php:1857
3311
+ msgid "User consent cookie expiration date"
3312
  msgstr ""
3313
 
3314
+ #. ID
3315
+ #: inc/admin/admin.php:1865
3316
+ msgid "Cookie bar position"
3317
  msgstr ""
3318
 
3319
+ #. ID
3320
+ #: inc/admin/admin.php:1873
3321
+ msgid "Text alignment"
3322
  msgstr ""
3323
 
3324
+ #. ID
3325
+ #: inc/admin/admin.php:1881
3326
+ msgid "Cookie bar width"
 
3327
  msgstr ""
3328
 
3329
+ #. ID
3330
+ #: inc/admin/admin.php:1889
3331
+ msgid "Enable backdrop"
3332
  msgstr ""
3333
 
3334
+ #. ID
3335
+ #: inc/admin/admin.php:1897
3336
+ msgid "Backdrop background color"
3337
  msgstr ""
3338
 
3339
+ #. ID
3340
+ #: inc/admin/admin.php:1905
3341
+ msgid "Cookie bar background color"
 
3342
  msgstr ""
3343
 
3344
+ #. ID
3345
+ #: inc/admin/admin.php:1913
3346
+ msgid "Cookie bar text color"
3347
  msgstr ""
3348
 
3349
+ #. ID
3350
+ #: inc/admin/admin.php:1921
3351
+ msgid "Cookie bar link color"
 
3352
  msgstr ""
3353
 
3354
+ #. ID
3355
+ #: inc/admin/admin.php:1929
3356
+ msgid "Cookie bar button background color"
3357
  msgstr ""
3358
 
3359
+ #. ID
3360
+ #: inc/admin/admin.php:1937
3361
+ msgid "Cookie bar button color"
3362
  msgstr ""
3363
 
3364
+ #. ID
3365
+ #: inc/admin/admin.php:1945
3366
+ msgid "Cookie bar button hover background color"
 
 
3367
  msgstr ""
3368
 
3369
+ #. ID
3370
+ #: inc/admin/admin.php:1953
3371
+ msgid "Cookie bar button hover color"
3372
  msgstr ""
3373
 
3374
+ #. ID
3375
+ #: inc/admin/admin.php:1961
3376
+ msgid "Cookie bar secondary button background color"
3377
  msgstr ""
3378
 
3379
+ #. ID
3380
+ #: inc/admin/admin.php:1969
3381
+ msgid "Cookie bar secondary button color"
3382
  msgstr ""
3383
 
3384
+ #. ID
3385
+ #: inc/admin/admin.php:1977
3386
+ msgid "Cookie bar secondary button hover background color"
3387
  msgstr ""
3388
 
3389
+ #. ID
3390
+ #: inc/admin/admin.php:1985
3391
+ msgid "Cookie bar secondary button hover color"
3392
  msgstr ""
3393
 
3394
+ #. ID
3395
+ #: inc/admin/admin.php:2003
3396
+ msgid "Enable Google Optimize"
3397
  msgstr ""
3398
 
3399
+ #. ID
3400
+ #: inc/admin/admin.php:2011
3401
+ msgid "Enable Google Ads"
 
3402
  msgstr ""
3403
 
3404
+ #. ID
3405
+ #: inc/admin/admin.php:2019
3406
+ msgid "Add an additional tracking code (like Facebook Pixel, Hotjar...)"
3407
  msgstr ""
3408
 
3409
+ #. ID
3410
+ #: inc/admin/admin.php:2027
3411
+ msgid "[BODY] Add an additional tracking code (like Google Tag Manager...)"
3412
  msgstr ""
3413
 
3414
+ #. ID
3415
+ #: inc/admin/admin.php:2035
3416
+ msgid ""
3417
+ "[BODY (FOOTER)] Add an additional tracking code (like Google Tag Manager...)"
3418
  msgstr ""
3419
 
3420
+ #. ID
3421
+ #: inc/admin/admin.php:2043 inc/admin/admin.php:5144
3422
+ msgid "Enable remarketing, demographics, and interests reporting"
3423
  msgstr ""
3424
 
3425
+ #. ID
3426
+ #: inc/admin/admin.php:2051 inc/admin/admin.php:5167
3427
+ msgid "Enable IP Anonymization"
 
 
 
3428
  msgstr ""
3429
 
3430
+ #. ID
3431
+ #: inc/admin/admin.php:2059 inc/admin/admin.php:5190
3432
+ msgid "Enhanced Link Attribution"
3433
  msgstr ""
3434
 
3435
+ #. ID
3436
+ #: inc/admin/admin.php:2067 inc/admin/admin.php:5213
3437
+ msgid "Enable cross-domain tracking"
 
3438
  msgstr ""
3439
 
3440
+ #. ID
3441
+ #: inc/admin/admin.php:2075 inc/admin/admin.php:5229 inc/admin/admin.php:5564
3442
+ msgid "Cross domains"
3443
  msgstr ""
3444
 
3445
+ #. ID
3446
+ #: inc/admin/admin.php:2093 inc/admin/admin.php:5245
3447
+ msgid "Enable external links tracking"
3448
  msgstr ""
3449
 
3450
+ #. ID
3451
+ #: inc/admin/admin.php:2101
3452
+ msgid "Enable downloads tracking (eg: PDF, XLSX, DOCX...)"
3453
  msgstr ""
3454
 
3455
+ #. ID
3456
+ #: inc/admin/admin.php:2109 inc/admin/admin.php:5274
3457
+ msgid "Track downloads' clicks"
3458
  msgstr ""
3459
 
3460
+ #. ID
3461
+ #: inc/admin/admin.php:2117
3462
+ msgid "Enable affiliate/outbound links tracking (eg: aff, go, out, recommends)"
3463
  msgstr ""
3464
 
3465
+ #. ID
3466
+ #: inc/admin/admin.php:2125 inc/admin/admin.php:5304
3467
+ msgid "Track affiliate/outbound links"
3468
  msgstr ""
3469
 
3470
+ #. ID
3471
+ #: inc/admin/admin.php:2143
3472
+ msgid "Track Authors"
 
 
 
 
3473
  msgstr ""
3474
 
3475
+ #. ID
3476
+ #: inc/admin/admin.php:2151
3477
+ msgid "Track Categories"
3478
  msgstr ""
3479
 
3480
+ #. ID
3481
+ #: inc/admin/admin.php:2159
3482
+ msgid "Track Tags"
 
 
3483
  msgstr ""
3484
 
3485
+ #. ID
3486
+ #: inc/admin/admin.php:2167
3487
+ msgid "Track Post Types"
3488
  msgstr ""
3489
 
3490
+ #. ID
3491
+ #: inc/admin/admin.php:2175
3492
+ msgid "Track Logged In Users"
 
 
3493
  msgstr ""
3494
 
3495
+ #. ID
3496
+ #: inc/admin/admin.php:2192
3497
+ msgid "Enable Matomo tracking"
3498
  msgstr ""
3499
 
3500
+ #. ID
3501
+ #: inc/admin/admin.php:2208
3502
+ msgid "Enter your site ID"
 
3503
  msgstr ""
3504
 
3505
+ #. ID
3506
+ #: inc/admin/admin.php:2216
3507
+ msgid "Track visitors across all subdomains"
3508
  msgstr ""
3509
 
3510
+ #. ID
3511
+ #: inc/admin/admin.php:2224
3512
+ msgid "Prepend the site domain"
 
3513
  msgstr ""
3514
 
3515
+ #. ID
3516
+ #: inc/admin/admin.php:2232 inc/admin/admin.php:5533
3517
+ msgid "Track users with JavaScript disabled"
3518
  msgstr ""
3519
 
3520
+ #. ID
3521
+ #: inc/admin/admin.php:2240 inc/admin/admin.php:5551
3522
+ msgid "Enables cross domain linking"
3523
  msgstr ""
3524
 
3525
+ #. ID
3526
+ #: inc/admin/admin.php:2248
3527
+ msgid "Cross domain"
3528
  msgstr ""
3529
 
3530
+ #. ID
3531
+ #: inc/admin/admin.php:2255
3532
+ msgid "Enable DoNotTrack detection"
3533
  msgstr ""
3534
 
3535
+ #. ID
3536
+ #: inc/admin/admin.php:2263
3537
+ msgid "Disable all tracking cookies"
3538
  msgstr ""
3539
 
3540
+ #. ID
3541
+ #: inc/admin/admin.php:2271
3542
+ msgid "Download & Outlink tracking"
 
 
 
3543
  msgstr ""
3544
 
3545
+ #. ID
3546
+ #: inc/admin/admin.php:2279
3547
+ msgid "Disable all heatmaps and session recordings"
3548
  msgstr ""
3549
 
3550
+ #. ID
3551
+ #: inc/admin/admin.php:2296
3552
+ msgid "Redirect attachment pages to post parent"
3553
  msgstr ""
3554
 
3555
+ #. ID
3556
+ #: inc/admin/admin.php:2304
3557
+ msgid "Redirect attachment pages to their file URL"
3558
  msgstr ""
3559
 
3560
+ #. ID
3561
+ #: inc/admin/admin.php:2312
3562
+ msgid "Remove ?replytocom link to avoid duplicate content"
3563
  msgstr ""
3564
 
3565
+ #. ID
3566
+ #: inc/admin/admin.php:2320
3567
+ msgid "Automatically set the image Title"
3568
  msgstr ""
3569
 
3570
+ #. ID
3571
+ #: inc/admin/admin.php:2328
3572
+ msgid "Automatically set the image Alt text"
3573
  msgstr ""
3574
 
3575
+ #. ID
3576
+ #: inc/admin/admin.php:2336
3577
+ msgid "Automatically set the image Alt text from target keywords"
3578
  msgstr ""
3579
 
3580
+ #. ID
3581
+ #: inc/admin/admin.php:2344
3582
+ msgid "Automatically set the image Caption"
3583
  msgstr ""
3584
 
3585
+ #. ID
3586
+ #: inc/admin/admin.php:2352
3587
+ msgid "Automatically set the image Description"
 
3588
  msgstr ""
3589
 
3590
+ #. ID
3591
+ #: inc/admin/admin.php:2360
3592
+ msgid "Add WP Editor to taxonomy description textarea"
3593
  msgstr ""
3594
 
3595
+ #. ID
3596
+ #: inc/admin/admin.php:2368
3597
+ msgid "Remove /category/ in URL"
3598
  msgstr ""
3599
 
3600
+ #. ID
3601
+ #: inc/admin/admin.php:2376 inc/admin/admin.php:5850
3602
+ msgid "Disable trailing slash for metas"
 
3603
  msgstr ""
3604
 
3605
+ #. ID
3606
+ #: inc/admin/admin.php:2384
3607
+ msgid "Remove WordPress generator meta tag"
3608
  msgstr ""
3609
 
3610
  #. ID
3611
+ #: inc/admin/admin.php:2392
3612
+ msgid "Remove hentry post class"
3613
  msgstr ""
3614
 
3615
  #. ID
3616
+ #: inc/admin/admin.php:2400
3617
+ msgid "Remove author URL"
3618
  msgstr ""
3619
 
3620
  #. ID
3621
+ #: inc/admin/admin.php:2408
3622
+ msgid "Remove website field in comment form"
3623
  msgstr ""
3624
 
3625
  #. ID
3626
+ #: inc/admin/admin.php:2416
3627
+ msgid "Remove WordPress shortlink meta tag"
3628
  msgstr ""
3629
 
3630
  #. ID
3631
+ #: inc/admin/admin.php:2424
3632
+ msgid "Remove Windows Live Writer meta tag"
3633
  msgstr ""
3634
 
3635
  #. ID
3636
+ #: inc/admin/admin.php:2432
3637
+ msgid "Remove RSD meta tag"
3638
  msgstr ""
3639
 
3640
  #. ID
3641
+ #: inc/admin/admin.php:2440 inc/admin/admin.php:5987
3642
+ msgid "Google site verification"
3643
  msgstr ""
3644
 
3645
  #. ID
3646
+ #: inc/admin/admin.php:2448 inc/admin/admin.php:5998
3647
+ msgid "Bing site verification"
3648
  msgstr ""
3649
 
3650
  #. ID
3651
+ #: inc/admin/admin.php:2456 inc/admin/admin.php:6008
3652
+ msgid "Pinterest site verification"
3653
  msgstr ""
3654
 
3655
  #. ID
3656
+ #: inc/admin/admin.php:2464 inc/admin/admin.php:6017
3657
+ msgid "Yandex site verification"
3658
  msgstr ""
3659
 
3660
  #. ID
3661
+ #: inc/admin/admin.php:2481
3662
+ msgid "SEO in admin bar"
3663
  msgstr ""
3664
 
3665
  #. ID
3666
+ #: inc/admin/admin.php:2489
3667
+ msgid "Noindex in admin bar"
3668
  msgstr ""
3669
 
3670
  #. ID
3671
+ #: inc/admin/admin.php:2497
3672
+ msgid "Move SEO metabox's position"
3673
  msgstr ""
3674
 
3675
  #. ID
3676
+ #: inc/admin/admin.php:2506
3677
+ msgid "Set default tab for Structured data metabox"
3678
  msgstr ""
3679
 
3680
  #. ID
3681
+ #: inc/admin/admin.php:2515
3682
+ msgid "Hide Notifications Center"
3683
  msgstr ""
3684
 
3685
  #. ID
3686
+ #: inc/admin/admin.php:2523
3687
+ msgid "Hide SEO tools"
3688
  msgstr ""
3689
 
3690
  #. ID
3691
+ #: inc/admin/admin.php:2531
3692
+ msgid "Hide Useful Links"
3693
  msgstr ""
3694
 
3695
  #. ID
3696
+ #: inc/admin/admin.php:2555
3697
+ msgid "Show Redirection Enable column in post types"
3698
  msgstr ""
3699
 
3700
  #. ID
3701
+ #: inc/admin/admin.php:2563
3702
+ msgid "Show Redirect URL column in post types"
3703
  msgstr ""
3704
 
3705
  #. ID
3706
+ #: inc/admin/admin.php:2571
3707
+ msgid "Show canonical URL column in post types"
3708
  msgstr ""
3709
 
3710
  #. ID
3711
+ #: inc/admin/admin.php:2579
3712
+ msgid "Show Target Keyword column in post types"
3713
  msgstr ""
3714
 
3715
  #. ID
3716
+ #: inc/admin/admin.php:2603
3717
+ msgid "Show total number of words column in post types"
3718
  msgstr ""
3719
 
3720
  #. ID
3721
+ #: inc/admin/admin.php:2611
3722
+ msgid "Show W3C validator column in post types"
3723
  msgstr ""
3724
 
3725
  #. ID
3726
+ #: inc/admin/admin.php:2619
3727
+ msgid "Show Google Page Speed column in post types"
3728
  msgstr ""
3729
 
3730
  #. ID
3731
+ #: inc/admin/admin.php:2629
3732
+ msgid "Show Insights column in post types"
3733
  msgstr ""
3734
 
3735
  #. ID
3736
+ #: inc/admin/admin.php:2646
3737
+ msgid "Hide Genesis SEO Metabox"
3738
  msgstr ""
3739
 
3740
  #. ID
3741
+ #: inc/admin/admin.php:2654
3742
+ msgid "Hide Genesis SEO Settings link"
3743
  msgstr ""
3744
 
3745
  #. ID
3746
+ #: inc/admin/admin.php:2662
3747
+ msgid "Hide advice in Structured Data Types metabox"
3748
  msgstr ""
3749
 
3750
  #. ID
3751
+ #: inc/admin/admin.php:2679
3752
+ msgid "Block SEO metabox to user roles"
3753
  msgstr ""
3754
 
3755
  #. ID
3756
+ #: inc/admin/admin.php:2687
3757
+ msgid "Block Content analysis metabox to user roles"
3758
  msgstr ""
3759
 
3760
+ #: inc/admin/admin.php:2808
3761
+ msgid "<p>Customize your title & meta description for homepage</p>"
 
3762
  msgstr ""
3763
 
3764
+ #: inc/admin/admin.php:2821
3765
+ msgid "<p>Customize your titles & metas for Single Custom Post Types</p>"
 
3766
  msgstr ""
3767
 
3768
+ #: inc/admin/admin.php:2825
3769
+ msgid "<p>Customize your metas for all pages</p>"
 
3770
  msgstr ""
3771
 
3772
+ #: inc/admin/admin.php:2829
3773
+ msgid "<p>Customize your metas for all taxonomies archives</p>"
 
3774
  msgstr ""
3775
 
3776
+ #: inc/admin/admin.php:2833
3777
+ msgid "<p>Customize your metas for all archives</p>"
 
3778
  msgstr ""
3779
 
3780
+ #: inc/admin/admin.php:2840
3781
+ msgid "Change this settings"
 
3782
  msgstr ""
3783
 
3784
+ #: inc/admin/admin.php:2843
3785
+ msgid ""
3786
+ "To view your sitemap, enable permalinks (not default one), and save settings "
3787
+ "to flush them."
3788
  msgstr ""
3789
 
3790
+ #. IF NGINX
3791
+ #: inc/admin/admin.php:2849
3792
+ msgid ""
3793
+ "Your server uses NGINX. If XML Sitemaps doesn't work properly, you need to "
3794
+ "add this rule to your configuration:"
3795
  msgstr ""
3796
 
3797
+ #: inc/admin/admin.php:2863
3798
+ msgid "Noindex content will not be displayed in Sitemaps."
 
3799
  msgstr ""
3800
 
3801
+ #: inc/admin/admin.php:2864
3802
+ msgid ""
3803
+ "If you disable globally this feature (using the blue toggle from above), the "
3804
+ "native WordPress XML sitemaps will be re-activated."
3805
  msgstr ""
3806
 
3807
+ #: inc/admin/admin.php:2876
3808
+ msgid "Blank sitemap?"
 
3809
  msgstr ""
3810
 
3811
+ #: inc/admin/admin.php:2877
3812
+ msgid "404 error?"
 
3813
  msgstr ""
3814
 
3815
+ #: inc/admin/admin.php:2878
3816
+ msgid "HTML error? Exclude XML and XSL from caching plugins!"
 
3817
  msgstr ""
3818
 
3819
+ #: inc/admin/admin.php:2880
3820
+ msgid "View your sitemap"
 
3821
  msgstr ""
3822
 
3823
+ #: inc/admin/admin.php:2882
3824
+ msgid "Ping Google manually"
 
3825
  msgstr ""
3826
 
3827
+ #: inc/admin/admin.php:2884
3828
+ msgid "Flush permalinks"
 
3829
  msgstr ""
3830
 
3831
+ #: inc/admin/admin.php:2889
3832
+ msgid "<p>Create an HTML Sitemap for your visitors and boost your SEO.</p>"
 
3833
  msgstr ""
3834
 
3835
+ #: inc/admin/admin.php:2890
3836
+ msgid ""
3837
+ "<p>Limited to 1,000 posts per post type. You can change the order and "
3838
+ "sorting criteria below.</p>"
3839
  msgstr ""
3840
 
3841
+ #: inc/admin/admin.php:2898 inc/admin/admin.php:4070
3842
+ msgid "Guide to enable a HTML Sitemap - new window"
 
3843
  msgstr ""
3844
 
3845
+ #: inc/admin/admin.php:2902
3846
+ msgid "<p>Include/Exclude Post Types.</p>"
 
3847
  msgstr ""
3848
 
3849
+ #: inc/admin/admin.php:2906
3850
+ msgid "<p>Include/Exclude Taxonomies.</p>"
 
3851
  msgstr ""
3852
 
3853
+ #: inc/admin/admin.php:2910
3854
+ msgid "<p>Configure Google Knowledge Graph.</p>"
 
3855
  msgstr ""
3856
 
3857
+ #: inc/admin/admin.php:2911
3858
+ msgid "Learn more on Google official website."
 
3859
  msgstr ""
3860
 
3861
+ #: inc/admin/admin.php:2915
3862
+ msgid ""
3863
+ "<p>Link your site with your social accounts. Use markup on your website to "
3864
+ "add your social profile information to a Google Knowledge panel. Knowledge "
3865
+ "panels prominently display your social profile information in some Google "
3866
+ "Search results. Filling in these fields does not guarantee the display of "
3867
+ "this data in search results. It may take a long time to see these social-"
3868
+ "network links.</p>"
3869
  msgstr ""
3870
 
3871
+ #: inc/admin/admin.php:2919
3872
+ msgid "<p>Manage Open Graph data.</p>"
 
3873
  msgstr ""
3874
 
3875
+ #: inc/admin/admin.php:2921
3876
+ msgid "<p>We generate the <strong>og:image</strong> meta in this order:</p>"
 
3877
  msgstr ""
3878
 
3879
+ #: inc/admin/admin.php:2925
3880
+ msgid "Custom OG Image from SEO metabox"
 
3881
  msgstr ""
3882
 
3883
+ #: inc/admin/admin.php:2926 inc/admin/admin.php:2940
3884
+ msgid "Post thumbnail"
 
3885
  msgstr ""
3886
 
3887
+ #: inc/admin/admin.php:2927 inc/admin/admin.php:2941
3888
+ msgid "First image of your post content"
 
3889
  msgstr ""
3890
 
3891
+ #: inc/admin/admin.php:2928
3892
+ msgid "Global OG Image set in SEO > Social > Open Graph"
 
3893
  msgstr ""
3894
 
3895
+ #: inc/admin/admin.php:2933
3896
+ msgid "<p>Manage your Twitter card.</p>"
 
3897
  msgstr ""
3898
 
3899
+ #: inc/admin/admin.php:2935
3900
+ msgid ""
3901
+ "<p>We generate the <strong>twitter:image</strong> meta in this order:</p>"
3902
  msgstr ""
3903
 
3904
+ #: inc/admin/admin.php:2939
3905
+ msgid "Custom Twitter image from SEO metabox"
 
3906
  msgstr ""
3907
 
3908
+ #: inc/admin/admin.php:2942
3909
+ msgid "Global Twitter:image set in SEO > Social > Twitter Card"
 
3910
  msgstr ""
3911
 
3912
+ #: inc/admin/admin.php:2947
3913
+ msgid ""
3914
+ "<p>Link your Google Analytics to your website. The tracking code will be "
3915
+ "automatically added to your site.</p>"
3916
  msgstr ""
3917
 
3918
+ #: inc/admin/admin.php:2951
 
3919
  msgid ""
3920
+ "<p>Manage user consent for GDPR and customize your cookie bar easily.</p>"
3921
  msgstr ""
3922
 
3923
+ #: inc/admin/admin.php:2952
3924
+ msgid ""
3925
+ "Works with <strong>Google Analytics</strong> and <strong>Matomo</strong>."
3926
  msgstr ""
3927
 
3928
+ #: inc/admin/admin.php:2956
3929
+ msgid "<p>Configure your Google Analytics tracking code.</p>"
 
3930
  msgstr ""
3931
 
3932
+ #: inc/admin/admin.php:2960
3933
+ msgid "<p>Track events in Google Analytics.</p>"
 
3934
  msgstr ""
3935
 
3936
+ #: inc/admin/admin.php:2964
3937
+ msgid ""
3938
+ "<p>Configure your Google Analytics custom dimensions. <br>Custom dimensions "
3939
+ "and custom metrics are like the default dimensions and metrics in your "
3940
+ "Analytics account, except you create them yourself.<br> Use them to collect "
3941
+ "and analyze data that Analytics doesn't automatically track.<br> Please note "
3942
+ "that you also have to setup your custom dimensions in your Google Analytics "
3943
+ "account. More info by clicking on the help icon."
3944
  msgstr ""
3945
 
3946
+ #: inc/admin/admin.php:2966
3947
+ msgid "Custom dimensions also work with <strong>Matomo</strong> tracking code."
 
3948
  msgstr ""
3949
 
3950
+ #: inc/admin/admin.php:2974
3951
+ msgid "Guide to create custom dimensions in Google Analytics - new window"
 
3952
  msgstr ""
3953
 
3954
+ #: inc/admin/admin.php:2978
3955
+ msgid "<p>Use Matomo to track your users with privacy in mind.</p>"
 
3956
  msgstr ""
3957
 
3958
+ #: inc/admin/admin.php:2980
3959
+ msgid ""
3960
+ "Your <strong>Custom Dimensions</strong> will also work with Matomo tracking "
3961
+ "code"
3962
  msgstr ""
3963
 
3964
+ #: inc/admin/admin.php:2984
3965
+ msgid "<p>Advanced SEO options.</p>"
 
3966
  msgstr ""
3967
 
3968
+ #: inc/admin/admin.php:2988
3969
+ msgid "<p>Customize the plugin to fit your needs.</p>"
 
3970
  msgstr ""
3971
 
3972
+ #: inc/admin/admin.php:2992
3973
+ msgid "<p>Manage security.</p>"
 
3974
  msgstr ""
3975
 
3976
+ #: inc/admin/admin.php:3004
3977
+ msgid "Enter your separator, eg: \"-\""
 
3978
  msgstr ""
3979
 
3980
+ #: inc/admin/admin.php:3008
3981
+ #, php-format
3982
+ msgid "Use this separator with %%sep%% in your title and meta description."
3983
  msgstr ""
3984
 
3985
+ #: inc/admin/admin.php:3013
3986
+ msgid "My awesome website"
 
3987
  msgstr ""
3988
 
3989
+ #: inc/admin/admin.php:3019 inc/admin/admin.php:3028 inc/admin/admin.php:3121
3990
+ #: inc/admin/admin.php:3244 inc/admin/admin.php:3373 inc/admin/admin.php:3406
3991
+ #: inc/admin/admin.php:3498 inc/admin/admin.php:3576 inc/admin/admin.php:3641
3992
+ #: inc/admin/admin.php:3706 inc/admin/admin.php:3751
3993
+ msgid "More tags"
3994
  msgstr ""
3995
 
3996
+ #: inc/admin/admin.php:3024
3997
+ msgid "This is a cool website about Wookiees"
 
3998
  msgstr ""
3999
 
4000
+ #: inc/admin/admin.php:3031
4001
+ msgid "Looking to edit your blog page?"
 
4002
  msgstr ""
4003
 
4004
+ #: inc/admin/admin.php:3055 inc/admin/admin.php:3059 inc/admin/admin.php:3061
4005
+ #: inc/admin/admin.php:3066
4006
+ msgid "Click to hide any SEO metaboxes / columns for this post type"
4007
  msgstr ""
4008
 
4009
+ #: inc/admin/admin.php:3058 inc/admin/admin.php:3062 inc/admin/admin.php:3065
4010
+ msgid "Click to display any SEO metaboxes / columns for this post type"
 
4011
  msgstr ""
4012
 
4013
+ #: inc/admin/admin.php:3090 inc/admin/admin.php:3231 inc/admin/admin.php:3339
4014
+ #: inc/admin/admin.php:3470 inc/admin/admin.php:3565 inc/admin/admin.php:3630
4015
+ #: inc/admin/admin.php:3695 inc/admin/admin.php:3742
4016
+ msgid "Title template"
4017
  msgstr ""
4018
 
4019
+ #: inc/admin/admin.php:3128 inc/admin/admin.php:3250 inc/admin/admin.php:3382
4020
+ #: inc/admin/admin.php:3505 inc/admin/admin.php:3580 inc/admin/admin.php:3645
4021
+ #: inc/admin/admin.php:3710 inc/admin/admin.php:3755
4022
+ msgid "Meta description template"
4023
  msgstr ""
4024
 
4025
+ #: inc/admin/admin.php:3153
4026
+ msgid ""
4027
+ "Do not display this single post type in search engine results "
4028
+ "<strong>(noindex)</strong>"
4029
  msgstr ""
4030
 
4031
+ #: inc/admin/admin.php:3174
4032
+ msgid ""
4033
+ "Do not follow links for this single post type <strong>(nofollow)</strong>"
4034
  msgstr ""
4035
 
4036
+ #: inc/admin/admin.php:3195
4037
+ msgid "Display date in Google search results?"
 
4038
  msgstr ""
4039
 
4040
+ #: inc/admin/admin.php:3216
4041
+ msgid "Display post thumbnail in Google Custom Search results?"
 
4042
  msgstr ""
4043
 
4044
+ #: inc/admin/admin.php:3229
4045
+ msgid "BuddyPress groups"
 
4046
  msgstr ""
4047
 
4048
+ #: inc/admin/admin.php:3274
4049
+ msgid ""
4050
+ "Do not display BuddyPress groups in search engine results <strong>(noindex)</"
4051
+ "strong>"
4052
  msgstr ""
4053
 
4054
+ #: inc/admin/admin.php:3302 inc/admin/admin.php:3306 inc/admin/admin.php:3308
4055
+ #: inc/admin/admin.php:3313
4056
+ msgid "Click to hide any SEO metaboxes for this taxonomy"
4057
  msgstr ""
4058
 
4059
+ #: inc/admin/admin.php:3305 inc/admin/admin.php:3309 inc/admin/admin.php:3312
4060
+ msgid "Click to display any SEO metaboxes for this taxonomy"
 
4061
  msgstr ""
4062
 
4063
+ #: inc/admin/admin.php:3362
4064
+ msgid "Category Title"
 
4065
  msgstr ""
4066
 
4067
+ #: inc/admin/admin.php:3364
4068
+ msgid "Tag Title"
 
4069
  msgstr ""
4070
 
4071
+ #: inc/admin/admin.php:3399
4072
+ msgid "Category Description"
 
4073
  msgstr ""
4074
 
4075
+ #: inc/admin/admin.php:3401
4076
+ msgid "Tag Description"
 
4077
  msgstr ""
4078
 
4079
+ #: inc/admin/admin.php:3403
4080
+ msgid "Term Description"
 
4081
  msgstr ""
4082
 
4083
+ #: inc/admin/admin.php:3423
4084
+ msgid ""
4085
+ "Do not display this taxonomy archive in search engine results "
4086
+ "<strong>(noindex)</strong>"
4087
  msgstr ""
4088
 
4089
+ #: inc/admin/admin.php:3444
4090
+ msgid ""
4091
+ "Do not follow links for this taxonomy archive <strong>(nofollow)</strong>"
4092
  msgstr ""
4093
 
4094
+ #: inc/admin/admin.php:3462
4095
+ msgid "See archive"
 
4096
  msgstr ""
4097
 
4098
+ #: inc/admin/admin.php:3492
4099
+ msgid "Post Type Archive Name"
 
4100
  msgstr ""
4101
 
4102
+ #: inc/admin/admin.php:3530
4103
+ msgid ""
4104
+ "Do not display this post type archive in search engine results "
4105
+ "<strong>(noindex)</strong>"
4106
  msgstr ""
4107
 
4108
+ #: inc/admin/admin.php:3551
4109
+ msgid ""
4110
+ "Do not follow links for this post type archive <strong>(nofollow)</strong>"
4111
  msgstr ""
4112
 
4113
+ #: inc/admin/admin.php:3563
4114
+ msgid "Author archives"
 
4115
  msgstr ""
4116
 
4117
+ #: inc/admin/admin.php:3620
4118
+ msgid "Disable author archives"
 
4119
  msgstr ""
4120
 
4121
+ #: inc/admin/admin.php:3628 inc/admin/admin.php:3638
4122
+ msgid "Date archives"
 
4123
  msgstr ""
4124
 
4125
+ #: inc/admin/admin.php:3667
4126
+ msgid ""
4127
+ "Do not display date archives in search engine results <strong>(noindex)</"
4128
+ "strong>"
4129
  msgstr ""
4130
 
4131
+ #: inc/admin/admin.php:3685
4132
+ msgid "Disable date archives"
 
4133
  msgstr ""
4134
 
4135
+ #: inc/admin/admin.php:3693
4136
+ msgid "Search archives"
 
4137
  msgstr ""
4138
 
4139
+ #: inc/admin/admin.php:3703
4140
+ msgid "Search Keywords"
 
4141
  msgstr ""
4142
 
4143
+ #: inc/admin/admin.php:3732
4144
+ msgid ""
4145
+ "Do not display search archives in search engine results <strong>(noindex)</"
4146
+ "strong>"
4147
  msgstr ""
4148
 
4149
+ #: inc/admin/admin.php:3740
4150
+ msgid "404 archives"
 
4151
  msgstr ""
4152
 
4153
+ #: inc/admin/admin.php:3780
4154
+ msgid ""
4155
+ "Do not display all pages of the site in Google search results and do not "
4156
+ "display \"Cached\" links in search results."
4157
  msgstr ""
4158
 
4159
+ #: inc/admin/admin.php:3782
4160
+ #, php-format
4161
+ msgid ""
4162
+ "Check also the <strong>\"Search engine visibility\"</strong> setting from "
4163
+ "the <a href=\"%s\">WordPress Reading page</a>."
4164
  msgstr ""
4165
 
4166
+ #: inc/admin/admin.php:3802
4167
+ msgid "Do not follow links for all pages."
 
4168
  msgstr ""
4169
 
4170
+ #: inc/admin/admin.php:3822
4171
+ msgid ""
4172
+ "Do not use Open Directory project metadata for titles or excerpts for all "
4173
+ "pages."
4174
  msgstr ""
4175
 
4176
+ #: inc/admin/admin.php:3842
4177
+ msgid "Do not index images from the entire site."
 
4178
  msgstr ""
4179
 
4180
+ #: inc/admin/admin.php:3862
4181
+ msgid "Do not display a \"Cached\" link in the Google search results."
 
4182
  msgstr ""
4183
 
4184
+ #: inc/admin/admin.php:3882
4185
+ msgid ""
4186
+ "Do not display a description in the Google search results for all pages."
4187
  msgstr ""
4188
 
4189
+ #: inc/admin/admin.php:3902
4190
+ msgid ""
4191
+ "Prevents Google to display a sitelinks searchbox in search results. Enable "
4192
+ "this option will remove the \"Website\" schema from your source code."
4193
  msgstr ""
4194
 
4195
+ #: inc/admin/admin.php:3920
4196
+ msgid "Add rel next/prev link in head of paginated archive pages"
 
4197
  msgstr ""
4198
 
4199
+ #: inc/admin/admin.php:3938
4200
+ msgid "Add a \"noindex\" meta robots for all paginated archive pages"
 
4201
  msgstr ""
4202
 
4203
+ #: inc/admin/admin.php:3940
4204
+ msgid "eg: https://example.com/category/my-category/page/2/"
 
4205
  msgstr ""
4206
 
4207
+ #: inc/admin/admin.php:3966
4208
+ msgid "Guide to enable XML Sitemaps - new window"
 
4209
  msgstr ""
4210
 
4211
+ #: inc/admin/admin.php:3984
4212
+ msgid ""
4213
+ "Enable Image Sitemaps (standard images, image galleries, featured image, "
4214
+ "WooCommerce product images)"
4215
  msgstr ""
4216
 
4217
+ #: inc/admin/admin.php:3986
4218
+ msgid "Images in XML sitemaps are visible only from the source code."
 
4219
  msgstr ""
4220
 
4221
+ #: inc/admin/admin.php:3994
4222
+ msgid "Guide to enable XML image sitemaps - new window"
 
4223
  msgstr ""
4224
 
4225
+ #: inc/admin/admin.php:4013
4226
+ msgid "Enable Video Sitemaps"
 
4227
  msgstr ""
4228
 
4229
+ #: inc/admin/admin.php:4021
4230
+ #, php-format
4231
+ msgid ""
4232
+ "Your video sitemap is empty? Read our guide to learn more about <a href=\"%s"
4233
+ "\" target=\"_blank\">adding videos to your sitemap.</a>"
4234
  msgstr ""
4235
 
4236
+ #: inc/admin/admin.php:4023
4237
+ msgid "Guide to enable XML video sitemaps - new window"
 
4238
  msgstr ""
4239
 
4240
+ #: inc/admin/admin.php:4044
4241
+ msgid ""
4242
+ "Make sure to enable author archive from SEO, titles and metas, archives tab."
4243
+ "</a>"
4244
  msgstr ""
4245
 
4246
+ #: inc/admin/admin.php:4110 inc/admin/admin.php:4153
4247
+ msgid "Include"
 
4248
  msgstr ""
4249
 
4250
+ #: inc/admin/admin.php:4113
4251
+ msgid ""
4252
+ "You should never include attachment post type in your sitemap. Be careful if "
4253
+ "you checked this."
4254
  msgstr ""
4255
 
4256
+ #: inc/admin/admin.php:4167
4257
+ msgid "eg: 2, 28, 68"
 
4258
  msgstr ""
4259
 
4260
+ #: inc/admin/admin.php:4171
4261
+ msgid "You can also use this shortcode:"
 
4262
  msgstr ""
4263
 
4264
+ #: inc/admin/admin.php:4180
4265
+ msgid "eg: 13, 8, 38"
 
4266
  msgstr ""
4267
 
4268
+ #: inc/admin/admin.php:4195
4269
+ msgid ""
4270
+ "DESC (descending order from highest to lowest values (3, 2, 1; c, b, a))"
4271
  msgstr ""
4272
 
4273
+ #: inc/admin/admin.php:4200
4274
+ msgid "ASC (ascending order from lowest to highest values (1, 2, 3; a, b, c))"
4275
  msgstr ""
4276
 
4277
+ #: inc/admin/admin.php:4218
4278
+ msgid "Default (date)"
4279
  msgstr ""
4280
 
4281
+ #: inc/admin/admin.php:4228
4282
+ msgid "Modified date"
4283
  msgstr ""
4284
 
4285
+ #: inc/admin/admin.php:4233
4286
+ msgid "Post ID"
4287
  msgstr ""
4288
 
4289
+ #: inc/admin/admin.php:4238
4290
+ msgid "Menu order"
4291
  msgstr ""
4292
 
4293
+ #: inc/admin/admin.php:4257
4294
+ msgid "Disable date after each post, page, post type?"
 
 
4295
  msgstr ""
4296
 
4297
+ #: inc/admin/admin.php:4296
4298
+ msgid "eg: Miremont"
 
 
 
4299
  msgstr ""
4300
 
4301
+ #: inc/admin/admin.php:4308
4302
+ msgid "Select your logo"
4303
  msgstr ""
4304
 
4305
+ #: inc/admin/admin.php:4312
4306
+ msgid "JPG, PNG, and GIF allowed."
 
 
 
 
 
 
4307
  msgstr ""
4308
 
4309
+ #: inc/admin/admin.php:4338
4310
+ msgid "eg: +33123456789 (internationalized version required)"
4311
  msgstr ""
4312
 
4313
+ #: inc/admin/admin.php:4353
4314
+ msgid "Customer support"
4315
  msgstr ""
4316
 
4317
+ #: inc/admin/admin.php:4358
4318
+ msgid "Technical support"
4319
  msgstr ""
4320
 
4321
+ #: inc/admin/admin.php:4363
4322
+ msgid "Billing support"
4323
  msgstr ""
4324
 
4325
+ #: inc/admin/admin.php:4368
4326
+ msgid "Bill payment"
4327
  msgstr ""
4328
 
4329
+ #: inc/admin/admin.php:4373
4330
+ msgid "Sales"
4331
  msgstr ""
4332
 
4333
+ #: inc/admin/admin.php:4378
4334
+ msgid "Credit card support"
 
 
4335
  msgstr ""
4336
 
4337
+ #: inc/admin/admin.php:4383
4338
+ msgid "Emergency"
4339
  msgstr ""
4340
 
4341
+ #: inc/admin/admin.php:4388
4342
+ msgid "Baggage tracking"
4343
  msgstr ""
4344
 
4345
+ #: inc/admin/admin.php:4393
4346
+ msgid "Roadside assistance"
4347
  msgstr ""
4348
 
4349
+ #: inc/admin/admin.php:4398
4350
+ msgid "Package tracking"
4351
  msgstr ""
4352
 
4353
+ #: inc/admin/admin.php:4416 inc/admin/admin.php:5322 inc/admin/admin.php:5348
4354
+ #: inc/admin/admin.php:5374 inc/admin/admin.php:5400 inc/admin/admin.php:5426
4355
+ msgid "None"
4356
  msgstr ""
4357
 
4358
+ #: inc/admin/admin.php:4421
4359
+ msgid "Toll Free"
 
 
 
 
 
 
4360
  msgstr ""
4361
 
4362
+ #: inc/admin/admin.php:4426
4363
+ msgid "Hearing impaired supported"
4364
  msgstr ""
4365
 
4366
+ #: inc/admin/admin.php:4447
4367
+ msgid "Twitter Page URL"
4368
  msgstr ""
4369
 
4370
+ #: inc/admin/admin.php:4499
4371
+ msgid "Enable OG data"
4372
  msgstr ""
4373
 
4374
+ #: inc/admin/admin.php:4533
4375
+ msgid ""
4376
+ "Override every <strong>og:image</strong> tag with this default image (except "
4377
+ "if a custom og:image has already been set from the SEO metabox)."
4378
  msgstr ""
4379
 
4380
+ #: inc/admin/admin.php:4538
4381
+ msgid "Please define a default OG Image from the field above"
4382
  msgstr ""
4383
 
4384
+ #: inc/admin/admin.php:4556
4385
+ msgid "WooCommerce Shop Page."
4386
  msgstr ""
4387
 
4388
+ #: inc/admin/admin.php:4574
4389
+ msgid "No custom post type to configure."
4390
  msgstr ""
4391
 
4392
+ #: inc/admin/admin.php:4585
4393
  msgid ""
4394
+ "One or more Facebook Page IDs that are associated with a URL in order to "
4395
+ "enable link editing and instant article publishing."
4396
  msgstr ""
4397
 
4398
+ #: inc/admin/admin.php:4589
4399
+ msgid "How do I find my Facebook Page ID?"
4400
  msgstr ""
4401
 
4402
+ #: inc/admin/admin.php:4598
4403
+ msgid ""
4404
+ "The ID (or comma-separated list for properties that can accept multiple IDs) "
4405
+ "of an app, person using the app, or Page Graph API object."
4406
  msgstr ""
4407
 
4408
+ #: inc/admin/admin.php:4609
4409
  msgid ""
4410
+ "The Facebook app ID of the site's app. In order to use Facebook Insights you "
4411
+ "must add the app ID to your page. Insights lets you view analytics for "
4412
+ "traffic to your site from Facebook. Find the app ID in your App Dashboard. "
4413
+ "<a class=\"seopress-help\" href=\"https://developers.facebook.com/apps/"
4414
+ "redirect/dashboard\" target=\"_blank\">More info here</a> <span class="
4415
+ "\"seopress-help dashicons dashicons-external\"></span>"
4416
  msgstr ""
4417
 
4418
+ #: inc/admin/admin.php:4613
4419
+ msgid "How to create a Facebook App ID"
 
4420
  msgstr ""
4421
 
4422
+ #: inc/admin/admin.php:4627
4423
+ msgid "Enable Twitter card"
 
4424
  msgstr ""
4425
 
4426
+ #: inc/admin/admin.php:4645
4427
+ msgid "Use OG if no Twitter Cards"
4428
  msgstr ""
4429
 
4430
+ #: inc/admin/admin.php:4680 seopress.php:313
4431
+ msgid "Default"
4432
  msgstr ""
4433
 
4434
+ #: inc/admin/admin.php:4685
4435
+ msgid "Large"
 
 
 
 
 
 
4436
  msgstr ""
4437
 
4438
+ #: inc/admin/admin.php:4688
4439
+ msgid ""
4440
+ "The Summary Card with <strong>Large Image</strong> features a large, full-"
4441
+ "width prominent image alongside a tweet. It is designed to give the reader a "
4442
+ "rich photo experience, and clicking on the image brings the user to your "
4443
+ "website."
4444
  msgstr ""
4445
 
4446
+ #: inc/admin/admin.php:4706
4447
+ msgid "Enable Google Analytics tracking (Global Site Tag: gtag.js)"
4448
  msgstr ""
4449
 
4450
+ #: inc/admin/admin.php:4717
4451
+ msgid "Enter your Tracking ID (UA-XXXX-XX)"
4452
  msgstr ""
4453
 
4454
+ #: inc/admin/admin.php:4721
4455
+ msgid "Find your tracking ID"
 
 
4456
  msgstr ""
4457
 
4458
+ #: inc/admin/admin.php:4728
4459
+ msgid "Enter your measurement ID (G-XXXXXXXXXX)"
4460
  msgstr ""
4461
 
4462
+ #: inc/admin/admin.php:4728
4463
+ msgid "Enter your measurement ID"
4464
  msgstr ""
4465
 
4466
+ #: inc/admin/admin.php:4732
4467
+ msgid "Find your measurement ID"
4468
  msgstr ""
4469
 
4470
+ #: inc/admin/admin.php:4746
4471
+ msgid "Request user's consent for analytics tracking (required by GDPR)"
4472
  msgstr ""
4473
 
4474
+ #: inc/admin/admin.php:4748
4475
+ msgid ""
4476
+ "<strong>The user must click the Accept button to allow tracking.</strong>"
4477
  msgstr ""
4478
 
4479
+ #: inc/admin/admin.php:4750
4480
+ msgid ""
4481
+ "User roles excluded from tracking will not see the consent message.<br> If "
4482
+ "you use a caching plugin, you have to exclude this JS file in your settings: "
4483
+ "<br><strong>/wp-content/plugins/wp-seopress/assets/js/seopress-cookies-ajax."
4484
+ "js</strong> <br>and this cookie <strong>seopress-user-consent-accept</strong>"
4485
  msgstr ""
4486
 
4487
+ #: inc/admin/admin.php:4758
4488
+ msgid "Hook to add custom tracking code with user consent - new window"
 
 
 
4489
  msgstr ""
4490
 
4491
+ #: inc/admin/admin.php:4776
4492
+ msgid ""
4493
+ "Display and automatically accept the user‘s consent on page load (not fully "
4494
+ "GDPR)"
4495
  msgstr ""
4496
 
4497
+ #: inc/admin/admin.php:4778
4498
+ msgid "The previous option must be checked to use this."
4499
  msgstr ""
4500
 
4501
+ #: inc/admin/admin.php:4790
4502
+ msgid "Enter your message (HTML allowed)"
 
4503
  msgstr ""
4504
 
4505
+ #: inc/admin/admin.php:4790
4506
+ msgid "This message will only appear if request user's consent is enabled."
4507
  msgstr ""
4508
 
4509
+ #: inc/admin/admin.php:4799
4510
+ msgid "Hook to filter user consent message - new window"
 
 
4511
  msgstr ""
4512
 
4513
+ #: inc/admin/admin.php:4801
4514
+ msgid "HTML tags allowed: strong, em, br, a href / target"
 
 
4515
  msgstr ""
4516
 
4517
+ #: inc/admin/admin.php:4802
4518
  msgid ""
4519
+ "Shortcode allowed to get the privacy page set in WordPress settings: "
4520
+ "[seopress_privacy_page]"
4521
  msgstr ""
4522
 
4523
+ #: inc/admin/admin.php:4809 inc/functions/options-google-analytics.php:244
4524
+ msgid "Accept"
 
4525
  msgstr ""
4526
 
4527
+ #: inc/admin/admin.php:4809
4528
+ msgid "Change the button value"
4529
  msgstr ""
4530
 
4531
+ #: inc/admin/admin.php:4818
4532
+ msgid "default: X"
4533
  msgstr ""
4534
 
4535
+ #: inc/admin/admin.php:4818
4536
+ msgid "Change the close button value"
4537
  msgstr ""
4538
 
4539
+ #: inc/admin/admin.php:4838
4540
+ msgid "Default: 30 days before the cookie expiration."
 
 
4541
  msgstr ""
4542
 
4543
+ #: inc/admin/admin.php:4851
4544
+ msgid "Bottom (default)"
 
4545
  msgstr ""
4546
 
4547
+ #: inc/admin/admin.php:4856
4548
+ msgid "Middle"
4549
  msgstr ""
4550
 
4551
+ #: inc/admin/admin.php:4861
4552
+ msgid "Top"
4553
  msgstr ""
4554
 
4555
+ #: inc/admin/admin.php:4879
4556
+ msgid "Left"
4557
  msgstr ""
4558
 
4559
+ #: inc/admin/admin.php:4884
4560
+ msgid "Center (default)"
4561
  msgstr ""
4562
 
4563
+ #: inc/admin/admin.php:4889
4564
+ msgid "Right"
4565
  msgstr ""
4566
 
4567
+ #: inc/admin/admin.php:4901
4568
+ msgid "Change the cookie bar width"
4569
  msgstr ""
4570
 
4571
+ #: inc/admin/admin.php:4905
4572
  msgid ""
4573
+ "Default unit is Pixels. Add % just after your custom value to use "
4574
+ "percentages (eg: 80%)."
4575
  msgstr ""
4576
 
4577
+ #: inc/admin/admin.php:4919
4578
+ msgid "Display a backdrop with the cookie bar"
 
4579
  msgstr ""
4580
 
4581
+ #: inc/admin/admin.php:4930
4582
+ msgid "Change the background color of the backdrop"
4583
  msgstr ""
4584
 
4585
+ #: inc/admin/admin.php:4939
4586
+ msgid "Change the color of the cookie bar background"
4587
  msgstr ""
4588
 
4589
+ #: inc/admin/admin.php:4948
4590
+ msgid "Change the color of the cookie bar text"
 
 
4591
  msgstr ""
4592
 
4593
+ #: inc/admin/admin.php:4957
4594
+ msgid "Change the color of the cookie bar link"
 
4595
  msgstr ""
4596
 
4597
+ #: inc/admin/admin.php:4966
4598
+ msgid "Change the color of the cookie bar button background"
4599
  msgstr ""
4600
 
4601
+ #: inc/admin/admin.php:4975
4602
+ msgid "Change the color of the cookie bar button hover background"
4603
  msgstr ""
4604
 
4605
+ #: inc/admin/admin.php:4984
4606
+ msgid "Change the color of the cookie bar button"
4607
  msgstr ""
4608
 
4609
+ #: inc/admin/admin.php:4993
4610
+ msgid "Change the color of the cookie bar button hover"
 
 
4611
  msgstr ""
4612
 
4613
+ #: inc/admin/admin.php:5002
4614
+ msgid "Change the color of the cookie bar secondary button background"
4615
  msgstr ""
4616
 
4617
+ #: inc/admin/admin.php:5011
4618
+ msgid "Change the color of the cookie bar secondary button hover background"
4619
  msgstr ""
4620
 
4621
+ #: inc/admin/admin.php:5020
4622
+ msgid "Change the color of the cookie bar secondary button"
4623
  msgstr ""
4624
 
4625
+ #: inc/admin/admin.php:5029
4626
+ msgid "Change the color of the cookie bar secondary button hover"
 
 
4627
  msgstr ""
4628
 
4629
+ #: inc/admin/admin.php:5064
4630
+ msgid "Enter your Google Optimize container ID"
4631
  msgstr ""
4632
 
4633
+ #: inc/admin/admin.php:5064
4634
+ msgid "GTM-XXXXXXX"
 
 
4635
  msgstr ""
4636
 
4637
+ #: inc/admin/admin.php:5067
 
 
4638
  msgid ""
4639
+ "Google Optimize offers A/B testing, website testing & personalization tools."
 
4640
  msgstr ""
4641
 
4642
+ #: inc/admin/admin.php:5078
4643
+ msgid "Enter your Google Ads conversion ID (eg: AW-123456789)"
4644
  msgstr ""
4645
 
4646
+ #: inc/admin/admin.php:5078
4647
+ msgid "AW-XXXXXXXXX"
 
 
4648
  msgstr ""
4649
 
4650
+ #: inc/admin/admin.php:5089
4651
+ msgid "Learn how to find your Google Ads Conversion ID"
4652
  msgstr ""
4653
 
4654
+ #: inc/admin/admin.php:5098
4655
+ msgid "Paste your tracking code here like Google Tag Manager (head)"
4656
  msgstr ""
4657
 
4658
+ #: inc/admin/admin.php:5098
4659
+ msgid "Additional tracking code field"
 
4660
  msgstr ""
4661
 
4662
+ #: inc/admin/admin.php:5101
4663
+ msgid "This code will be added in the head section of your page."
 
 
4664
  msgstr ""
4665
 
4666
+ #: inc/admin/admin.php:5108
4667
+ msgid "Paste your tracking code here like Google Tag Manager (body)"
4668
  msgstr ""
4669
 
4670
+ #: inc/admin/admin.php:5108
4671
+ msgid "Additional tracking code field added to body"
4672
  msgstr ""
4673
 
4674
+ #: inc/admin/admin.php:5111
4675
+ msgid "This code will be added just after the opening body tag of your page."
4676
  msgstr ""
4677
 
4678
+ #: inc/admin/admin.php:5112
4679
+ msgid ""
4680
+ "You don‘t see your code? Make sure to call <strong>wp_body_open();</strong> "
4681
+ "just after the opening body tag in your theme."
4682
  msgstr ""
4683
 
4684
+ #: inc/admin/admin.php:5127
4685
+ msgid "Paste your tracking code here (body footer)"
 
 
4686
  msgstr ""
4687
 
4688
+ #: inc/admin/admin.php:5127
4689
+ msgid "Additional tracking code field added to body footer"
4690
  msgstr ""
4691
 
4692
+ #: inc/admin/admin.php:5130
4693
+ msgid "This code will be added just after the closing body tag of your page."
4694
  msgstr ""
4695
 
4696
+ #: inc/admin/admin.php:5146
 
 
 
 
 
4697
  msgid ""
4698
+ "A remarketing audience is a list of cookies or mobile-advertising IDs that "
4699
+ "represents a group of users you want to re-engage because of their "
4700
+ "likelihood to convert."
 
 
 
4701
  msgstr ""
4702
 
4703
+ #: inc/admin/admin.php:5169
4704
  msgid ""
4705
+ "When a customer of Analytics requests IP address anonymization, Analytics "
4706
+ "anonymizes the address as soon as technically feasible at the earliest "
4707
+ "possible stage of the collection network."
4708
  msgstr ""
4709
 
4710
+ #: inc/admin/admin.php:5192
4711
+ msgid ""
4712
+ "Enhanced Link Attribution improves the accuracy of your In-Page Analytics "
4713
+ "report by automatically differentiating between multiple links to the same "
4714
+ "URL on a single page by using link element IDs."
4715
  msgstr ""
4716
 
4717
+ #: inc/admin/admin.php:5215
4718
  msgid ""
4719
+ "Cross domain tracking makes it possible for Analytics to see sessions on two "
4720
+ "related sites (such as an ecommerce site and a separate shopping cart site) "
4721
+ "as a single session. This is sometimes called site linking."
4722
  msgstr ""
4723
 
4724
+ #: inc/admin/admin.php:5229 inc/admin/admin.php:5564
4725
+ msgid "Enter your domains: seopress.org,sub.seopress.org,sub2.seopress.org"
4726
  msgstr ""
4727
 
4728
+ #: inc/admin/admin.php:5263
4729
+ msgid "Enable download tracking"
4730
  msgstr ""
4731
 
4732
+ #: inc/admin/admin.php:5274
4733
+ msgid "pdf|docx|pptx|zip"
4734
  msgstr ""
4735
 
4736
+ #: inc/admin/admin.php:5278
4737
+ msgid "Separate each file type extensions with a pipe \"|\""
 
4738
  msgstr ""
4739
 
4740
+ #: inc/admin/admin.php:5293
4741
+ msgid "Enable affiliate/outbound tracking"
4742
  msgstr ""
4743
 
4744
+ #: inc/admin/admin.php:5304
4745
+ msgid "aff|go|out"
4746
  msgstr ""
4747
 
4748
+ #: inc/admin/admin.php:5308
4749
+ msgid "Separate each keyword with a pipe \"|\""
4750
  msgstr ""
4751
 
4752
+ #: inc/admin/admin.php:5329 inc/admin/admin.php:5355 inc/admin/admin.php:5381
4753
+ #: inc/admin/admin.php:5407 inc/admin/admin.php:5433
4754
+ #, php-format
4755
+ msgid "Custom Dimension #%d"
4756
  msgstr ""
4757
 
4758
+ #: inc/admin/admin.php:5453
4759
+ msgid "Enable Matomo tracking (Matomo account required)"
4760
  msgstr ""
4761
 
4762
+ #: inc/admin/admin.php:5464
4763
+ msgid "Enter \"example\" if you Matomo account URL is \"example.matomo.cloud\""
4764
  msgstr ""
4765
 
4766
+ #: inc/admin/admin.php:5464
4767
+ msgid "Matomo Cloud URL"
4768
  msgstr ""
4769
 
4770
+ #: inc/admin/admin.php:5468
4771
+ msgid "Enter only the <strong>host</strong> like this example.matomo.cloud"
4772
  msgstr ""
4773
 
4774
+ #: inc/admin/admin.php:5475
4775
+ msgid "Enter your site ID here"
4776
  msgstr ""
4777
 
4778
+ #: inc/admin/admin.php:5475
4779
+ msgid "Matomo Site ID"
4780
  msgstr ""
4781
 
4782
+ #: inc/admin/admin.php:5479
4783
+ msgid ""
4784
+ "To find your site ID, go to your <strong>Matomo Cloud account, Websites, "
4785
+ "Manage page</strong>. Look at \"Site ID\" on the right part."
4786
  msgstr ""
4787
 
4788
+ #: inc/admin/admin.php:5493
4789
+ msgid "Tracking one domain and its subdomains in the same website"
4790
  msgstr ""
4791
 
4792
+ #: inc/admin/admin.php:5495
4793
+ msgid ""
4794
+ "If one visitor visits x.example.com and y.example.com, they will be counted "
4795
+ "as a unique visitor."
4796
  msgstr ""
4797
 
4798
+ #: inc/admin/admin.php:5513
4799
+ msgid "Prepend the site domain to the page title when tracking"
4800
  msgstr ""
4801
 
4802
+ #: inc/admin/admin.php:5515
4803
+ msgid ""
4804
+ "If someone visits the 'About' page on blog.example.com it will be recorded "
4805
+ "as 'blog / About'. This is the easiest way to get an overview of your "
4806
+ "traffic by sub-domain."
4807
  msgstr ""
4808
 
4809
+ #: inc/admin/admin.php:5553
4810
+ msgid ""
4811
+ "By default, the visitor ID that identifies a unique visitor is stored in the "
4812
+ "browser's first party cookies which can only be accessed by pages on the "
4813
+ "same domain. Enabling cross domain linking lets you track all the actions "
4814
+ "and pageviews of a specific visitor into the same visit even when they view "
4815
+ "pages on several domains. Whenever a user clicks on a link to one of your "
4816
+ "website's alias URLs, it will append a URL parameter pk_vid forwarding the "
4817
+ "Visitor ID."
4818
  msgstr ""
4819
 
4820
+ #: inc/admin/admin.php:5580
4821
+ msgid "Enable client side DoNotTrack detection"
4822
  msgstr ""
4823
 
4824
+ #: inc/admin/admin.php:5582
4825
+ msgid ""
4826
+ "Tracking requests will not be sent if visitors do not wish to be tracked."
4827
  msgstr ""
4828
 
4829
+ #: inc/admin/admin.php:5600
4830
+ msgid ""
4831
+ "Disables all first party cookies. Existing Matomo cookies for this website "
4832
+ "will be deleted on the next page view."
4833
  msgstr ""
4834
 
4835
+ #: inc/admin/admin.php:5618
4836
+ msgid "Enabling Download & Outlink tracking"
4837
  msgstr ""
4838
 
4839
+ #: inc/admin/admin.php:5620
4840
+ msgid ""
4841
+ "By default, any file ending with one of these extensions will be considered "
4842
+ "a \"download\" in the Matomo interface: 7z|aac|arc|arj|apk|asf|asx|avi|bin|"
4843
+ "bz|bz2|csv|deb|dmg|doc|\n"
4844
+ "\t\texe|flv|gif|gz|gzip|hqx|jar|jpg|jpeg|js|mp2|mp3|mp4|mpg|\n"
4845
+ "\t\tmpeg|mov|movie|msi|msp|odb|odf|odg|odp|ods|odt|ogg|ogv|\n"
4846
+ "\t\tpdf|phps|png|ppt|qt|qtm|ra|ram|rar|rpm|sea|sit|tar|\n"
4847
+ "\t\ttbz|tbz2|tgz|torrent|txt|wav|wma|wmv|wpd|xls|xml|z|zip"
4848
  msgstr ""
4849
 
4850
+ #: inc/admin/admin.php:5642
4851
+ msgid "Disabling all heatmaps and session recordings"
4852
  msgstr ""
4853
 
4854
+ #: inc/admin/admin.php:5660
4855
+ msgid "Redirect attachment pages to post parent (or homepage if none)"
4856
  msgstr ""
4857
 
4858
+ #: inc/admin/admin.php:5680
4859
+ msgid ""
4860
+ "If this option is checked, it will take precedence over the redirection of "
4861
+ "attachments to the post's parent."
4862
  msgstr ""
4863
 
4864
+ #: inc/admin/admin.php:5698
4865
+ msgid "Remove ?replytocom link in source code"
4866
  msgstr ""
4867
 
4868
+ #: inc/admin/admin.php:5716
4869
  msgid ""
4870
+ "When sending an image file, automatically set the title based on the filename"
 
 
 
 
 
4871
  msgstr ""
4872
 
4873
+ #: inc/admin/admin.php:5734
4874
+ msgid ""
4875
+ "When sending an image file, automatically set the alternative text based on "
4876
+ "the filename"
4877
  msgstr ""
4878
 
4879
+ #: inc/admin/admin.php:5738
4880
  msgid ""
4881
+ "We recommend Image SEO plugin to optimize your image ALT texts and names for "
4882
+ "Search Engines using AI and Machine Learning. Starting from just €4.99."
4883
  msgstr ""
4884
 
4885
+ #: inc/admin/admin.php:5758
4886
+ msgid "Use the target keywords if not alternative text set for the image"
4887
  msgstr ""
4888
 
4889
+ #: inc/admin/admin.php:5760
4890
  msgid ""
4891
+ "This setting will be applied to images without any alt text on frontend "
4892
+ "only. This setting is retroactive. If you turn it off, alt texts that were "
4893
+ "previously empty will be empty again."
4894
  msgstr ""
4895
 
4896
+ #: inc/admin/admin.php:5778
4897
  msgid ""
4898
+ "When sending an image file, automatically set the caption based on the "
4899
+ "filename"
 
 
 
 
 
 
 
 
4900
  msgstr ""
4901
 
4902
+ #: inc/admin/admin.php:5796
4903
+ msgid ""
4904
+ "When sending an image file, automatically set the description based on the "
4905
+ "filename"
4906
  msgstr ""
4907
 
4908
+ #: inc/admin/admin.php:5814
4909
+ msgid "Add TINYMCE editor to term description"
4910
  msgstr ""
4911
 
4912
+ #: inc/admin/admin.php:5832
4913
+ msgid "You have to flush your permalinks each time you change this settings"
4914
  msgstr ""
4915
 
4916
+ #: inc/admin/admin.php:5850
4917
+ msgid ""
4918
+ "You must check this box if the structure of your permalinks DOES NOT contain "
4919
+ "a slash at the end (eg: /%postname%)"
4920
  msgstr ""
4921
 
4922
+ #: inc/admin/admin.php:5868
4923
+ msgid "Remove WordPress meta generator in source code"
4924
  msgstr ""
4925
 
4926
+ #: inc/admin/admin.php:5886
4927
+ msgid ""
4928
+ "Remove hentry post class to prevent Google from seeing this as structured "
4929
+ "data (schema)"
4930
  msgstr ""
4931
 
4932
+ #: inc/admin/admin.php:5904
4933
+ msgid ""
4934
+ "Remove comment author URL in comments if the website is filled from profile "
4935
+ "page"
4936
  msgstr ""
4937
 
4938
+ #: inc/admin/admin.php:5922
4939
+ msgid "Remove website field from comment form to reduce spam"
4940
  msgstr ""
4941
 
4942
+ #: inc/admin/admin.php:5940
4943
+ msgid "Remove WordPress shortlink meta tag in source code (eg:"
4944
  msgstr ""
4945
 
4946
+ #: inc/admin/admin.php:5958
4947
+ msgid "Remove Windows Live Writer meta tag in source code (eg:"
4948
  msgstr ""
4949
 
4950
+ #: inc/admin/admin.php:5976
4951
+ msgid "Remove Really Simple Discovery meta tag in source code (eg:"
4952
  msgstr ""
4953
 
4954
+ #: inc/admin/admin.php:5987
4955
+ msgid "Enter Google meta value site verification"
 
4956
  msgstr ""
4957
 
4958
+ #: inc/admin/admin.php:5991
4959
  msgid ""
4960
+ "If your site is already verified in <strong>Google Search Console</strong>, "
4961
+ "you can leave this field empty."
 
 
4962
  msgstr ""
4963
 
4964
+ #: inc/admin/admin.php:5998
4965
+ msgid "Enter Bing meta value site verification"
4966
  msgstr ""
4967
 
4968
+ #: inc/admin/admin.php:6001
4969
  msgid ""
4970
+ "If your site is already verified in <strong>Bing Webmaster tools</strong>, "
4971
+ "you can leave this field empty."
4972
  msgstr ""
4973
 
4974
+ #: inc/admin/admin.php:6008
4975
+ msgid "Enter Pinterest meta value site verification"
4976
  msgstr ""
4977
 
4978
+ #: inc/admin/admin.php:6017
4979
+ msgid "Enter Yandex meta value site verification"
4980
  msgstr ""
4981
 
4982
+ #: inc/admin/admin.php:6033
4983
+ msgid "Remove SEO from Admin Bar in backend and frontend"
4984
  msgstr ""
4985
 
4986
+ #: inc/admin/admin.php:6051
4987
+ msgid "Remove noindex item from Admin Bar in backend and frontend"
4988
  msgstr ""
4989
 
4990
+ #: inc/admin/admin.php:6068
4991
+ msgid "High priority (top)"
4992
  msgstr ""
4993
 
4994
+ #: inc/admin/admin.php:6073
4995
+ msgid "Normal priority (default)"
 
 
4996
  msgstr ""
4997
 
4998
+ #: inc/admin/admin.php:6078
4999
+ msgid "Low priority"
5000
  msgstr ""
5001
 
5002
+ #: inc/admin/admin.php:6097
5003
+ msgid "Automatic tab (default)"
5004
  msgstr ""
5005
 
5006
+ #: inc/admin/admin.php:6102
5007
+ msgid "Manual tab"
5008
  msgstr ""
5009
 
5010
+ #: inc/admin/admin.php:6122
5011
+ msgid "Hide Notifications Center in SEO Dashboard page"
5012
  msgstr ""
5013
 
5014
+ #: inc/admin/admin.php:6140
5015
+ msgid "Hide SEO tools in SEO Dashboard page"
5016
  msgstr ""
5017
 
5018
+ #: inc/admin/admin.php:6158
5019
+ msgid "Hide Useful Links in SEO dashboard page"
5020
  msgstr ""
5021
 
5022
+ #: inc/admin/admin.php:6176
5023
+ msgid "Add title column"
5024
  msgstr ""
5025
 
5026
+ #: inc/admin/admin.php:6194
5027
+ msgid "Add meta description column"
5028
  msgstr ""
5029
 
5030
+ #: inc/admin/admin.php:6212
5031
+ msgid "Add redirection enable column"
5032
  msgstr ""
5033
 
5034
+ #: inc/admin/admin.php:6230
5035
+ msgid "Add redirection URL column"
5036
  msgstr ""
5037
 
5038
+ #: inc/admin/admin.php:6248
5039
+ msgid "Add canonical URL column"
5040
  msgstr ""
5041
 
5042
+ #: inc/admin/admin.php:6266
5043
+ msgid "Add target keyword column"
5044
  msgstr ""
5045
 
5046
+ #: inc/admin/admin.php:6284
5047
+ msgid "Display noindex status"
 
 
5048
  msgstr ""
5049
 
5050
+ #: inc/admin/admin.php:6302
5051
+ msgid "Display nofollow status"
5052
  msgstr ""
5053
 
5054
+ #: inc/admin/admin.php:6320
5055
+ msgid "Display total number of words in content"
5056
  msgstr ""
5057
 
5058
+ #: inc/admin/admin.php:6338
5059
+ msgid "Display W3C column to check code quality"
5060
  msgstr ""
5061
 
5062
+ #: inc/admin/admin.php:6357
5063
+ msgid "Display Page Speed column to check performances"
5064
  msgstr ""
5065
 
5066
+ #: inc/admin/admin.php:6377
5067
+ msgid "Display SEO Insights column to check rankings"
5068
  msgstr ""
5069
 
5070
+ #: inc/admin/admin.php:6396
5071
+ msgid ""
5072
+ "Display Content Analysis results column (\"Good\" or \"Should be improved\")"
5073
  msgstr ""
5074
 
5075
+ #: inc/admin/admin.php:6414
5076
+ msgid "Remove Genesis SEO Metabox"
5077
+ msgstr ""
5078
+
5079
+ #: inc/admin/admin.php:6432
5080
+ msgid "Remove Genesis SEO link in WP Admin Menu"
5081
+ msgstr ""
5082
+
5083
+ #: inc/admin/admin.php:6450
5084
+ msgid "Remove the advice if None schema selected"
5085
+ msgstr ""
5086
+
5087
+ #: inc/admin/admin.php:6486 inc/admin/admin.php:6519
5088
+ msgid ""
5089
+ "Hook to filter structured data types metabox call by post type - new window"
5090
+ msgstr ""
5091
+
5092
+ #: inc/admin/adminbar.php:53 inc/admin/adminbar.php:93
5093
+ #: src/Actions/Admin/ManageColumn.php:155
5094
+ msgid "noindex is on!"
5095
+ msgstr ""
5096
+
5097
+ #. translators: %s taxonomy name
5098
+ #. translators: %s custom post type name
5099
+ #: inc/admin/adminbar.php:84 inc/admin/adminbar.php:87
5100
+ #, php-format
5101
+ msgid "SEO for \"%s\""
5102
+ msgstr ""
5103
+
5104
+ #: inc/admin/adminbar.php:96
5105
+ msgid "noindex is off."
5106
+ msgstr ""
5107
+
5108
+ #: inc/admin/adminbar.php:105 src/Actions/Admin/ManageColumn.php:161
5109
+ msgid "nofollow is on!"
5110
+ msgstr ""
5111
+
5112
+ #: inc/admin/adminbar.php:108
5113
+ msgid "nofollow is off."
5114
+ msgstr ""
5115
+
5116
+ #: inc/admin/adminbar.php:172
5117
+ msgid "BOT"
5118
+ msgstr ""
5119
+
5120
+ #: inc/admin/adminbar.php:208
5121
+ msgid "Broken Links"
5122
+ msgstr ""
5123
+
5124
+ #: inc/admin/adminbar.php:216
5125
+ msgid "Configuration wizard"
5126
+ msgstr ""
5127
+
5128
+ #: inc/admin/ajax.php:29
5129
+ msgid ""
5130
+ "A redirect is active for this URL. Turn it off to get the Google preview and "
5131
+ "content analysis."
5132
+ msgstr ""
5133
+
5134
+ #: inc/admin/ajax.php:109
5135
+ msgid "To get your Google snippet preview, publish your post!"
5136
+ msgstr ""
5137
+
5138
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:98
5139
+ msgid "SEO Title / Description"
5140
+ msgstr ""
5141
+
5142
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:126
5143
+ msgid "Meta Description"
5144
+ msgstr ""
5145
+
5146
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:167
5147
+ msgid "SEO Advanced"
5148
+ msgstr ""
5149
+
5150
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:185
5151
+ msgid ""
5152
+ "Do not display this page in search engine results / XML - HTML sitemaps "
5153
+ "(noindex)"
5154
+ msgstr ""
5155
+
5156
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:196
5157
+ msgid "Do not follow links for this page (nofollow)"
5158
+ msgstr ""
5159
+
5160
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:207
5161
+ msgid ""
5162
+ "Do not use Open Directory project metadata for titles or excerpts for this "
5163
+ "page (noodp)"
5164
+ msgstr ""
5165
+
5166
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:218
5167
+ msgid "Do not index images for this page (noimageindex)"
5168
+ msgstr ""
5169
+
5170
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:229
5171
+ msgid ""
5172
+ "Do not display a \"Cached\" link in the Google search results (noarchive)"
5173
+ msgstr ""
5174
+
5175
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:240
5176
+ msgid ""
5177
+ "Do not display a description in search results for this page (nosnippet)"
5178
+ msgstr ""
5179
+
5180
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:324
5181
+ msgid "SEO Social"
5182
+ msgstr ""
5183
+
5184
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:344
5185
+ msgid ""
5186
+ "<p class=\"elementor-control-field-description\"><span class=\"dashicons "
5187
+ "dashicons-external\"></span><a href=\"https://developers.facebook.com/tools/"
5188
+ "debug/sharing/?q="
5189
+ msgstr ""
5190
+
5191
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:354
5192
+ msgid ""
5193
+ "<p class=\"elementor-control-field-description\"><strong>Did you know?</"
5194
+ "strong> LinkedIn, Instagram and Pinterest use the same social metadata as "
5195
+ "Facebook. Twitter does the same if no Twitter cards tags are defined below.</"
5196
+ "p>"
5197
+ msgstr ""
5198
+
5199
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:472
5200
+ msgid "SEO Redirection"
5201
+ msgstr ""
5202
+
5203
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:536
5204
+ msgid "SEO Content Analysis"
5205
+ msgstr ""
5206
+
5207
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:548
5208
+ msgid ""
5209
+ "<p class=\"elementor-control-field-description\">Enter a few keywords for "
5210
+ "analysis to help you write optimized content.</p><p class=\"elementor-"
5211
+ "control-field-description\"><strong>Did you know?</strong> Writing content "
5212
+ "for your users is the most important thing! If it doesn‘t feel natural, your "
5213
+ "visitors will leave your site, Google will know it and your ranking will be "
5214
+ "affected.</p>"
5215
+ msgstr ""
5216
+
5217
+ #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:45
5218
+ msgid ". The closer to 1.91 the better."
5219
+ msgstr ""
5220
+
5221
+ #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:54
5222
+ msgid "By"
5223
+ msgstr ""
5224
+
5225
+ #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:69
5226
+ msgid ". The closer to 1 the better (with large card, 2 is better)."
5227
+ msgstr ""
5228
+
5229
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:369
5230
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:408
5231
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:32
5232
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:75
5233
+ msgid "Question..."
5234
+ msgstr ""
5235
+
5236
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:385
5237
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:424
5238
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:49
5239
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:92
5240
+ msgid "Answer..."
5241
+ msgstr ""
5242
+
5243
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:394
5244
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:398
5245
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:433
5246
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:437
5247
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:60
5248
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:63
5249
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:103
5250
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:106
5251
+ msgid "Remove"
5252
+ msgstr ""
5253
+
5254
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:521
5255
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:185
5256
+ msgid "FAQ Settings"
5257
+ msgstr ""
5258
+
5259
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:522
5260
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:186
5261
+ msgid "List Style"
5262
+ msgstr ""
5263
+
5264
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:532
5265
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:198
5266
+ msgid "NONE"
5267
+ msgstr ""
5268
+
5269
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:540
5270
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:209
5271
+ msgid "OL"
5272
+ msgstr ""
5273
+
5274
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:548
5275
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:220
5276
+ msgid "UL"
5277
+ msgstr ""
5278
+
5279
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:548
5280
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:224
5281
+ msgid "Title Wrapper"
5282
+ msgstr ""
5283
+
5284
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:558
5285
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:236
5286
+ msgid "H2"
5287
+ msgstr ""
5288
+
5289
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:566
5290
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:247
5291
+ msgid "H3"
5292
+ msgstr ""
5293
+
5294
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:574
5295
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:258
5296
+ msgid "H4"
5297
+ msgstr ""
5298
+
5299
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:582
5300
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:269
5301
+ msgid "H5"
5302
+ msgstr ""
5303
+
5304
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:590
5305
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:280
5306
+ msgid "H6"
5307
+ msgstr ""
5308
+
5309
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:598
5310
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:291
5311
+ msgid "P"
5312
+ msgstr ""
5313
+
5314
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:606
5315
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:302
5316
+ msgid "DIV"
5317
+ msgstr ""
5318
+
5319
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:606
5320
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:306
5321
+ msgid "Image Size"
5322
+ msgstr ""
5323
+
5324
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:616
5325
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:318
5326
+ msgid "S"
5327
+ msgstr ""
5328
+
5329
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:624
5330
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:329
5331
+ msgid "M"
5332
+ msgstr ""
5333
+
5334
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:632
5335
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:340
5336
+ msgid "L"
5337
+ msgstr ""
5338
+
5339
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:640
5340
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:351
5341
+ msgid "XL"
5342
+ msgstr ""
5343
+
5344
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:640
5345
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:355
5346
+ msgid "SEO Settings"
5347
+ msgstr ""
5348
+
5349
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:641
5350
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:358
5351
+ msgid "Enable FAQ Schema"
5352
+ msgstr ""
5353
+
5354
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:655
5355
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:661
5356
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:381
5357
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/edit.js:388
5358
+ msgid "Add FAQ"
5359
+ msgstr ""
5360
+
5361
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:763
5362
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:71
5363
+ msgid "To edit the background image, you need permission to upload media."
5364
+ msgstr ""
5365
+
5366
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:769
5367
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:779
5368
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:781
5369
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:81
5370
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:96
5371
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:104
5372
+ msgid "Set Image"
5373
+ msgstr ""
5374
+
5375
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/build/index.js:788
5376
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/image-control.js:115
5377
+ msgid "Remove Image"
5378
+ msgstr ""
5379
+
5380
+ #: inc/admin/page-builders/gutenberg/inc/blocks/faq-block/src/index.js:8
5381
+ msgid "FAQ"
5382
  msgstr ""
5383
 
5384
+ #: inc/functions/options-advanced-admin.php:27
5385
+ msgid "Need help?"
5386
  msgstr ""
5387
 
5388
+ #: inc/functions/options-advanced-admin.php:40
5389
+ #: inc/functions/options-advanced-admin.php:50
5390
+ msgid "WARNING"
5391
  msgstr ""
5392
 
5393
+ #: inc/functions/options-advanced-admin.php:41
5394
+ msgid ""
5395
+ "Do NOT change your permalink structure on a production site. Changing URLs "
5396
+ "can severely damage your SEO."
5397
  msgstr ""
5398
 
5399
+ #: inc/functions/options-advanced-admin.php:51
5400
+ msgid ""
5401
+ "URL rewriting is NOT enabled on your site. Select a permalink structure that "
5402
+ "is optimized for SEO (NOT Plain)."
5403
  msgstr ""
5404
 
5405
+ #: inc/functions/options-advanced-admin.php:490
5406
+ msgid "Enable noindex"
5407
  msgstr ""
5408
 
5409
+ #: inc/functions/options-advanced-admin.php:545
5410
+ msgid "Enable index"
5411
  msgstr ""
5412
 
5413
+ #: inc/functions/options-advanced-admin.php:600
5414
+ msgid "Enable nofollow"
5415
  msgstr ""
5416
 
5417
+ #: inc/functions/options-advanced-admin.php:654
5418
+ msgid "Enable follow"
5419
+ msgstr ""
5420
+
5421
+ #: inc/functions/options-advanced-admin.php:703
5422
+ msgid "Enable redirection"
5423
+ msgstr ""
5424
+
5425
+ #: inc/functions/options-advanced-admin.php:744
5426
+ msgid "Disable redirection"
5427
+ msgstr ""
5428
+
5429
+ #: inc/functions/options-advanced-admin.php:796
5430
+ #: src/Actions/Admin/ManageColumn.php:61
5431
+ msgid "Title tag"
5432
+ msgstr ""
5433
+
5434
+ #: inc/functions/options-advanced-admin.php:820
5435
+ #: src/Actions/Admin/ManageColumn.php:73
5436
+ msgid "Canonical"
5437
+ msgstr ""
5438
+
5439
+ #: inc/functions/options-advanced-admin.php:945
5440
+ msgid "Description"
5441
  msgstr ""
5442
 
5443
+ #: inc/functions/options-advanced-admin.php:953
5444
  msgid ""
5445
+ "The description is not prominent by default; however, some themes may show "
5446
+ "it."
5447
  msgstr ""
5448
 
5449
+ #: inc/functions/options-google-analytics.php:229
5450
+ msgid ""
5451
+ "By visiting our site, you agree to our privacy policy regarding cookies, "
5452
+ "tracking statistics, etc.&nbsp;<a href=\"[seopress_privacy_page]\" tabindex="
5453
+ "\"10\">Read more</a>"
5454
  msgstr ""
5455
 
5456
+ #: inc/functions/options-google-analytics.php:231
5457
+ msgid ""
5458
+ "By visiting our site, you agree to our privacy policy regarding cookies, "
5459
+ "tracking statistics, etc."
5460
  msgstr ""
5461
 
5462
+ #: inc/functions/options-google-analytics.php:250
5463
+ msgid "X"
5464
  msgstr ""
5465
 
5466
+ #: inc/functions/options-google-analytics.php:832
5467
+ #: inc/functions/options-matomo.php:223
5468
+ msgid "Authors"
5469
  msgstr ""
5470
 
5471
+ #: inc/functions/options-google-analytics.php:851
5472
+ #: inc/functions/options-matomo.php:237
5473
+ msgid "Categories"
5474
  msgstr ""
5475
 
5476
+ #: inc/functions/options-google-analytics.php:877
5477
+ #: inc/functions/options-matomo.php:257
5478
+ msgid "Tags"
5479
  msgstr ""
5480
 
5481
+ #: inc/functions/options-google-analytics.php:891
5482
+ #: inc/functions/options-matomo.php:266
5483
+ msgid "Post types"
5484
  msgstr ""
5485
 
5486
+ #: inc/functions/options-google-analytics.php:905
5487
+ #: inc/functions/options-matomo.php:275
5488
+ msgid "Connected users"
5489
  msgstr ""
5490
 
5491
+ #: inc/functions/options-import-export.php:59
5492
+ #: inc/functions/options-import-export.php:432
5493
+ msgid "Please upload a valid .json file"
5494
  msgstr ""
5495
 
5496
+ #: inc/functions/options-import-export.php:64
5497
+ #: inc/functions/options-import-export.php:133
5498
+ #: inc/functions/options-import-export.php:237
5499
+ #: inc/functions/options-import-export.php:436
5500
+ #: inc/functions/options-import-export.php:505
5501
+ msgid "Please upload a file to import"
5502
  msgstr ""
5503
 
5504
+ #: inc/functions/options-import-export.php:129
5505
+ #: inc/functions/options-import-export.php:233
5506
+ msgid "Please upload a valid .csv file"
5507
  msgstr ""
5508
 
5509
+ #: inc/functions/options-import-export.php:137
5510
+ msgid "Please choose a separator"
5511
  msgstr ""
5512
 
5513
+ #: inc/functions/options-import-export.php:146
5514
+ msgid "Invalid separator"
5515
  msgstr ""
5516
 
5517
+ #: inc/functions/options-import-export.php:501
5518
+ msgid "Please upload a valid .txt file"
 
 
 
5519
  msgstr ""
5520
 
5521
+ #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:125
5522
+ msgid "XML Sitemaps"
 
 
 
5523
  msgstr ""
5524
 
5525
+ #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:128
5526
+ #, php-format
5527
+ msgid "This XML Sitemap Index file contains %s sitemaps."
 
 
5528
  msgstr ""
5529
 
5530
+ #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:131
5531
+ #, php-format
5532
+ msgid "This XML Sitemap contains %s URL(s)."
 
 
5533
  msgstr ""
5534
 
5535
+ #: inc/functions/sitemap/template-xml-sitemaps-xsl.php:138
5536
+ msgid "Last update"
5537
  msgstr ""
5538
 
5539
+ #. translators: %d current page (eg: 2) %2$d total number of pages (eg: 30)
5540
+ #: inc/functions/variables/dynamic-variables.php:69 src/Tags/Page.php:31
5541
+ #, php-format
5542
+ msgid "Page %d of %2$d"
5543
  msgstr ""
5544
 
5545
+ #: node_modules/terser/dist/bundle.min.js:1
5546
+ msgid "big_int"
5547
  msgstr ""
5548
 
5549
+ #: node_modules/terser/dist/bundle.min.js:1
5550
+ msgid "num"
5551
  msgstr ""
5552
 
5553
+ #: node_modules/terser/dist/bundle.min.js:1 node_modules/yargs/lib/usage.js:290
5554
+ #: node_modules/yargs/lib/usage.js:291
5555
+ msgid "string"
5556
  msgstr ""
5557
 
5558
+ #: node_modules/terser/dist/bundle.min.js:1
5559
+ msgid "template_head"
5560
  msgstr ""
5561
 
5562
+ #: node_modules/terser/dist/bundle.min.js:1
5563
+ msgid "comment2"
5564
  msgstr ""
5565
 
5566
+ #: node_modules/terser/dist/bundle.min.js:1
5567
+ msgid "regexp"
 
 
 
5568
  msgstr ""
5569
 
5570
+ #: node_modules/terser/dist/bundle.min.js:1
5571
+ msgid "operator"
5572
  msgstr ""
5573
 
5574
+ #: node_modules/terser/dist/bundle.min.js:1
5575
+ msgid "eof"
5576
  msgstr ""
5577
 
5578
+ #: node_modules/terser/dist/bundle.min.js:1
5579
+ msgid "expand"
5580
  msgstr ""
5581
 
5582
+ #: node_modules/terser/dist/bundle.min.js:1
5583
+ msgid "punc"
5584
  msgstr ""
5585
 
5586
+ #: node_modules/terser/dist/bundle.min.js:1
5587
+ msgid "arrow"
5588
  msgstr ""
5589
 
5590
+ #: node_modules/terser/dist/bundle.min.js:1
5591
+ msgid "name"
5592
  msgstr ""
5593
 
5594
+ #: node_modules/terser/dist/bundle.min.js:1
5595
+ msgid "atom"
 
 
5596
  msgstr ""
5597
 
5598
+ #: node_modules/terser/dist/bundle.min.js:1
5599
+ msgid "keyword"
5600
  msgstr ""
5601
 
5602
+ #: node_modules/terser/dist/bundle.min.js:1
5603
+ msgid "("
 
 
5604
  msgstr ""
5605
 
5606
+ #: node_modules/terser/dist/bundle.min.js:1
5607
+ msgid ")"
5608
  msgstr ""
5609
 
5610
+ #: node_modules/terser/dist/bundle.min.js:1
5611
+ msgid ":"
 
 
 
5612
  msgstr ""
5613
 
5614
+ #: node_modules/terser/dist/bundle.min.js:1
5615
+ msgid ";"
 
 
 
 
 
 
 
5616
  msgstr ""
5617
 
5618
+ #: node_modules/terser/dist/bundle.min.js:1
5619
+ msgid ","
5620
  msgstr ""
5621
 
5622
+ #: node_modules/terser/dist/bundle.min.js:1
5623
+ msgid "]"
 
5624
  msgstr ""
5625
 
5626
+ #: node_modules/terser/dist/bundle.min.js:1
5627
+ msgid "}"
 
 
5628
  msgstr ""
5629
 
5630
+ #: node_modules/terser/dist/bundle.min.js:1
5631
+ msgid "{"
5632
  msgstr ""
5633
 
5634
+ #: node_modules/terser/dist/bundle.min.js:1
5635
+ msgid "["
 
 
 
 
 
 
 
5636
  msgstr ""
5637
 
5638
+ #: node_modules/yargs-parser/index.js:367
5639
+ #, javascript-format
5640
+ msgid "Not enough arguments following: %s"
5641
  msgstr ""
5642
 
5643
+ #: node_modules/yargs-parser/index.js:541
5644
+ #, javascript-format
5645
+ msgid "Invalid JSON config file: %s"
5646
  msgstr ""
5647
 
5648
+ #: node_modules/yargs/lib/usage.js:92
5649
+ msgid "Positionals:"
 
 
5650
  msgstr ""
5651
 
5652
+ #: node_modules/yargs/lib/usage.js:192 node_modules/yargs/lib/usage.js:194
5653
+ msgid "command"
5654
  msgstr ""
5655
 
5656
+ #: node_modules/yargs/lib/usage.js:203
5657
+ msgid "Commands:"
 
5658
  msgstr ""
5659
 
5660
+ #: node_modules/yargs/lib/usage.js:223 node_modules/yargs/lib/usage.js:458
5661
+ msgid "default:"
 
 
5662
  msgstr ""
5663
 
5664
+ #: node_modules/yargs/lib/usage.js:225
5665
+ msgid "aliases:"
 
 
5666
  msgstr ""
5667
 
5668
+ #: node_modules/yargs/lib/usage.js:288
5669
+ msgid "boolean"
5670
  msgstr ""
5671
 
5672
+ #: node_modules/yargs/lib/usage.js:289
5673
+ msgid "count"
 
 
 
5674
  msgstr ""
5675
 
5676
+ #: node_modules/yargs/lib/usage.js:292
5677
+ msgid "array"
 
 
5678
  msgstr ""
5679
 
5680
+ #: node_modules/yargs/lib/usage.js:293
5681
+ msgid "number"
 
 
5682
  msgstr ""
5683
 
5684
+ #: node_modules/yargs/lib/usage.js:297
5685
+ msgid "required"
5686
  msgstr ""
5687
 
5688
+ #: node_modules/yargs/lib/usage.js:298
5689
+ msgid "choices:"
5690
  msgstr ""
5691
 
5692
+ #: node_modules/yargs/lib/usage.js:317
5693
+ msgid "Examples:"
 
 
5694
  msgstr ""
5695
 
5696
+ #: node_modules/yargs/lib/usage.js:436
5697
+ msgid "generated-value"
5698
  msgstr ""
5699
 
5700
+ #: node_modules/yargs/lib/validation.js:29
5701
+ #: node_modules/yargs/lib/validation.js:52
5702
+ #, javascript-format
5703
+ msgid "Not enough non-option arguments: got %s, need at least %s"
5704
  msgstr ""
5705
 
5706
+ #: node_modules/yargs/lib/validation.js:40
5707
+ #, javascript-format
5708
+ msgid "Too many non-option arguments: got %s, maximum of %s"
 
5709
  msgstr ""
5710
 
5711
+ #: node_modules/yargs/lib/validation.js:147
5712
+ msgid "Invalid values:"
5713
  msgstr ""
5714
 
5715
+ #: node_modules/yargs/lib/validation.js:150
5716
+ #, javascript-format
5717
+ msgid "Argument: %s, Given: %s, Choices: %s"
5718
  msgstr ""
5719
 
5720
+ #: node_modules/yargs/lib/validation.js:180
5721
+ #, javascript-format
5722
+ msgid "Argument check failed: %s"
5723
  msgstr ""
5724
 
5725
+ #: node_modules/yargs/lib/validation.js:256
5726
+ msgid "Implications failed:"
5727
  msgstr ""
5728
 
5729
+ #: node_modules/yargs/lib/validation.js:295
5730
+ #, javascript-format
5731
+ msgid "Arguments %s and %s are mutually exclusive"
5732
  msgstr ""
5733
 
5734
+ #: node_modules/yargs/lib/validation.js:316
5735
+ #, javascript-format
5736
+ msgid "Did you mean %s?"
 
5737
  msgstr ""
5738
 
5739
+ #: seopress.php:203
5740
+ msgid "has been successfully updated!"
5741
  msgstr ""
5742
 
5743
+ #: seopress.php:311
5744
+ msgid "Clear"
 
 
5745
  msgstr ""
5746
 
5747
+ #: seopress.php:312
5748
+ msgid "Clear color"
5749
  msgstr ""
5750
 
5751
+ #: seopress.php:314
5752
+ msgid "Select default color"
5753
  msgstr ""
5754
 
5755
+ #: seopress.php:315
5756
+ msgid "Select Color"
5757
  msgstr ""
5758
 
5759
+ #: seopress.php:316
5760
+ msgid "Color value"
5761
  msgstr ""
5762
 
5763
+ #: seopress.php:453
5764
+ msgid "You like SEOPress? Don't forget to rate it 5 stars!"
5765
  msgstr ""
5766
 
5767
+ #: seopress.php:515
5768
+ msgid "Docs"
5769
  msgstr ""
5770
 
5771
+ #: seopress.php:516
5772
+ msgid "Configuration Wizard"
5773
  msgstr ""
5774
 
5775
+ #: seopress.php:518
5776
+ msgid "GO PRO!"
5777
  msgstr ""
5778
 
5779
+ #: seopress.php:1269
5780
+ msgid "Follow us:"
5781
  msgstr ""
5782
 
5783
+ #: seopress.php:1276
5784
+ msgid "Like our Facebook page"
5785
  msgstr ""
5786
 
5787
+ #: seopress.php:1288
5788
+ msgid "Watch our guided tour videos to learn more about SEOPress"
5789
+ msgstr ""
5790
+
5791
+ #: seopress.php:1300
5792
+ msgid "Read our blog posts about SEO concepts, tutorials and more"
5793
+ msgstr ""
5794
+
5795
+ #: seopress.php:1312
5796
+ msgid "The off side of SEOPress"
5797
+ msgstr ""
5798
+
5799
+ #: src/Actions/Admin/ManageColumn.php:64
5800
+ msgid "Meta Desc."
5801
+ msgstr ""
5802
+
5803
+ #: src/Actions/Admin/ManageColumn.php:67
5804
+ msgid "Redirect?"
5805
+ msgstr ""
5806
+
5807
+ #: src/Actions/Admin/ManageColumn.php:76
5808
+ msgid "Target Kw"
5809
  msgstr ""
5810
 
5811
+ #: src/Actions/Admin/ManageColumn.php:79
5812
+ msgid "noindex?"
5813
  msgstr ""
5814
 
5815
+ #: src/Actions/Admin/ManageColumn.php:82
5816
+ msgid "nofollow?"
5817
  msgstr ""
5818
 
5819
+ #: src/Actions/Admin/ManageColumn.php:85
5820
+ msgid "Score"
5821
  msgstr ""
5822
 
5823
+ #: src/Actions/Admin/ManageColumn.php:88
5824
+ msgid "Words"
5825
  msgstr ""
5826
 
5827
+ #: src/Actions/Admin/ManageColumn.php:91
5828
+ msgid "W3C check"
5829
  msgstr ""
5830
 
5831
+ #: src/Actions/Admin/ManageColumn.php:94
5832
+ msgid "Page Speed"
5833
  msgstr ""
5834
 
5835
+ #: src/Actions/Admin/ManageColumn.php:174
5836
+ msgid "Check code quality of this page"
5837
  msgstr ""
5838
 
5839
+ #: src/Actions/Admin/ManageColumn.php:178
5840
+ msgid "Analyze this page with Google Page Speed"
5841
  msgstr ""
5842
 
5843
+ #: src/Actions/Admin/ManageColumn.php:189
5844
+ #: src/Services/ContentAnalysis/RenderContentAnalysis.php:26
5845
+ msgid "Good"
5846
  msgstr ""
5847
 
5848
+ #: src/Actions/Admin/ManageColumn.php:194
5849
+ #: src/Services/ContentAnalysis/RenderContentAnalysis.php:23
5850
+ msgid "Should be improved"
5851
  msgstr ""
5852
 
5853
+ #: src/Actions/Admin/ManageColumn.php:235
5854
+ msgid "Insights from these keywords:"
5855
  msgstr ""
5856
 
5857
+ #. Average position
5858
+ #: src/Actions/Admin/ManageColumn.php:241
5859
+ msgid "Average position: "
5860
  msgstr ""
5861
 
5862
+ #. Latest position
5863
+ #: src/Actions/Admin/ManageColumn.php:267
5864
+ msgid "Latest position: "
5865
  msgstr ""
5866
 
5867
+ #. 404
5868
+ #: src/Actions/Options/Init.php:259
5869
+ msgid "404 - Page not found"
5870
  msgstr ""
5871
 
5872
+ #: src/Helpers/ContentAnalysis.php:18
5873
+ msgid "Structured data types"
5874
  msgstr ""
5875
 
5876
+ #: src/Helpers/ContentAnalysis.php:23
5877
+ msgid "Last modified date"
5878
  msgstr ""
5879
 
5880
+ #: src/Helpers/ContentAnalysis.php:28
5881
+ msgid "Words counter"
5882
  msgstr ""
5883
 
5884
+ #: src/Helpers/ContentAnalysis.php:33
5885
+ msgid "Keywords density"
 
5886
  msgstr ""
5887
 
5888
+ #: src/Helpers/ContentAnalysis.php:38
5889
+ msgid "Keywords in permalink"
5890
  msgstr ""
5891
 
5892
+ #: src/Helpers/ContentAnalysis.php:43
5893
+ msgid "Headings"
 
 
 
5894
  msgstr ""
5895
 
5896
+ #: src/Helpers/ContentAnalysis.php:58
5897
+ msgid "Social meta tags"
5898
  msgstr ""
5899
 
5900
+ #: src/Helpers/ContentAnalysis.php:63
5901
+ msgid "Meta robots"
5902
  msgstr ""
5903
 
5904
+ #: src/Helpers/ContentAnalysis.php:68
5905
+ msgid "Alternative texts of images"
5906
  msgstr ""
5907
 
5908
+ #: src/Helpers/ContentAnalysis.php:73
5909
+ msgid "NoFollow Links"
5910
  msgstr ""
5911
 
5912
+ #: src/Helpers/ContentAnalysis.php:78
5913
+ msgid "Outbound Links"
5914
  msgstr ""
5915
 
5916
+ #: src/Services/ContentAnalysis/GetContent.php:21
5917
+ msgid "We found these schemas in the source code of this page:"
5918
  msgstr ""
5919
 
5920
+ #: src/Services/ContentAnalysis/GetContent.php:28
5921
+ msgid "duplicated schema - x"
 
 
5922
  msgstr ""
5923
 
5924
+ #: src/Services/ContentAnalysis/GetContent.php:37
5925
+ msgid "No schemas found in the source code of this page."
5926
  msgstr ""
5927
 
5928
+ #: src/Services/ContentAnalysis/GetContent.php:54
5929
+ msgid "This post is a little old!"
5930
  msgstr ""
5931
 
5932
+ #: src/Services/ContentAnalysis/GetContent.php:56
5933
+ msgid "The last modified date of this article is less than 1 year. Cool!"
5934
  msgstr ""
5935
 
5936
+ #: src/Services/ContentAnalysis/GetContent.php:58
5937
+ msgid ""
5938
+ "Search engines love fresh content. Regularly update your articles without "
5939
+ "having to rewrite your content entirely and give them a boost in search "
5940
+ "rankings. We takes care of the technical part."
5941
  msgstr ""
5942
 
5943
+ #: src/Services/ContentAnalysis/GetContent.php:74
5944
  msgid ""
5945
+ "Words counter is not a direct ranking factor. But, your content must be as "
5946
+ "qualitative as possible, with relevant and unique information. To fulfill "
5947
+ "these conditions, your article requires a minimum of paragraphs, so words."
5948
  msgstr ""
5949
 
5950
+ #: src/Services/ContentAnalysis/GetContent.php:76
5951
+ msgid "words found."
5952
  msgstr ""
5953
 
5954
+ #: src/Services/ContentAnalysis/GetContent.php:77
5955
+ msgid "unique words found."
 
 
5956
  msgstr ""
5957
 
5958
+ #: src/Services/ContentAnalysis/GetContent.php:80
5959
+ msgid ""
5960
+ "Your content is composed of more than 300 words, which is the minimum for a "
5961
+ "post."
5962
  msgstr ""
5963
 
5964
+ #: src/Services/ContentAnalysis/GetContent.php:82
5965
+ msgid "Your content is too short. Add a few more paragraphs!"
 
5966
  msgstr ""
5967
 
5968
+ #: src/Services/ContentAnalysis/GetContent.php:89
5969
+ msgid "No content? Add a few more paragraphs!"
 
5970
  msgstr ""
5971
 
5972
+ #: src/Services/ContentAnalysis/GetContent.php:114
5973
+ #, php-format
5974
+ msgid "%s was found %d times in your content, a keyword density of %s%%"
5975
  msgstr ""
5976
 
5977
+ #: src/Services/ContentAnalysis/GetContent.php:117
5978
  msgid ""
5979
+ "Learn more about <a href=\"https://www.youtube.com/watch?v=Rk4qgQdp2UA\" "
5980
+ "target=\"_blank\">keywords stuffing</a>."
 
5981
  msgstr ""
5982
 
5983
+ #: src/Services/ContentAnalysis/GetContent.php:121
5984
  msgid ""
5985
+ "We were unable to calculate the density of your keywords. You probably "
5986
+ "haven‘t added any content or your target keywords were not find in your post "
5987
+ "content."
 
5988
  msgstr ""
5989
 
5990
+ #: src/Services/ContentAnalysis/GetContent.php:137
5991
+ msgid "Cool, one of your target keyword is used in your permalink."
5992
  msgstr ""
5993
 
5994
+ #: src/Services/ContentAnalysis/GetContent.php:150
5995
+ msgid ""
5996
+ "This is your homepage. This check doesn't apply here because there is no "
5997
+ "slug."
5998
  msgstr ""
5999
 
6000
+ #: src/Services/ContentAnalysis/GetContent.php:153
6001
+ msgid "You should add one of your target keyword in your permalink."
 
 
 
 
 
 
6002
  msgstr ""
6003
 
6004
+ #: src/Services/ContentAnalysis/GetContent.php:172
6005
+ msgid "H1 (Heading 1)"
6006
  msgstr ""
6007
 
6008
+ #: src/Services/ContentAnalysis/GetContent.php:180
6009
+ msgid "Target keywords were found in Heading 1 (H1)."
6010
  msgstr ""
6011
 
6012
+ #: src/Services/ContentAnalysis/GetContent.php:189
6013
+ #: src/Services/ContentAnalysis/GetContent.php:219
6014
+ #: src/Services/ContentAnalysis/GetContent.php:240
6015
+ #: src/Services/ContentAnalysis/GetContent.php:275
6016
+ #: src/Services/ContentAnalysis/GetContent.php:321
6017
+ #, php-format
6018
+ msgid "%s was found %d times."
6019
  msgstr ""
6020
 
6021
+ #: src/Services/ContentAnalysis/GetContent.php:194
6022
+ #, php-format
6023
+ msgid "We found %d Heading 1 (H1) in your content."
 
 
6024
  msgstr ""
6025
 
6026
+ #: src/Services/ContentAnalysis/GetContent.php:195
6027
+ msgid ""
6028
+ "You should not use more than one H1 heading in your post content. The rule "
6029
+ "is simple: only one H1 for each web page. It is better for both SEO and "
6030
+ "accessibility. Below, the list:"
6031
  msgstr ""
6032
 
6033
+ #. H2
6034
+ #: src/Services/ContentAnalysis/GetContent.php:209
6035
+ msgid "H2 (Heading 2)"
 
 
 
 
 
 
6036
  msgstr ""
6037
 
6038
+ #: src/Services/ContentAnalysis/GetContent.php:211
6039
+ msgid "Target keywords were found in Heading 2 (H2)."
 
6040
  msgstr ""
6041
 
6042
+ #: src/Services/ContentAnalysis/GetContent.php:223
6043
+ msgid "None of your target keywords were found in Heading 2 (H2)."
 
6044
  msgstr ""
6045
 
6046
+ #. H3
6047
+ #: src/Services/ContentAnalysis/GetContent.php:230
6048
+ msgid "H3 (Heading 3)"
6049
  msgstr ""
6050
 
6051
+ #: src/Services/ContentAnalysis/GetContent.php:232
6052
+ msgid "Target keywords were found in Heading 3 (H3)."
 
6053
  msgstr ""
6054
 
6055
+ #: src/Services/ContentAnalysis/GetContent.php:244
6056
+ msgid "None of your target keywords were found in Heading 3 (H3)."
 
6057
  msgstr ""
6058
 
6059
+ #: src/Services/ContentAnalysis/GetContent.php:267
6060
+ msgid "Target keywords were found in the Meta Title."
 
6061
  msgstr ""
6062
 
6063
+ #: src/Services/ContentAnalysis/GetContent.php:281
6064
+ msgid "None of your target keywords were found in the Meta Title."
 
6065
  msgstr ""
6066
 
6067
+ #: src/Services/ContentAnalysis/GetContent.php:286
6068
+ msgid "Your custom title is too long."
 
6069
  msgstr ""
6070
 
6071
+ #: src/Services/ContentAnalysis/GetContent.php:289
6072
+ msgid "The length of your title is correct"
 
6073
  msgstr ""
6074
 
6075
+ #: src/Services/ContentAnalysis/GetContent.php:294
6076
+ msgid ""
6077
+ "No custom title is set for this post. If the global meta title suits you, "
6078
+ "you can ignore this recommendation."
6079
  msgstr ""
6080
 
6081
+ #: src/Services/ContentAnalysis/GetContent.php:313
6082
+ msgid "Target keywords were found in the Meta description."
 
6083
  msgstr ""
6084
 
6085
+ #: src/Services/ContentAnalysis/GetContent.php:327
6086
+ msgid "None of your target keywords were found in the Meta description."
 
6087
  msgstr ""
6088
 
6089
+ #: src/Services/ContentAnalysis/GetContent.php:332
6090
+ msgid "You custom meta description is too long."
 
6091
  msgstr ""
6092
 
6093
+ #: src/Services/ContentAnalysis/GetContent.php:335
6094
+ msgid "The length of your meta description is correct"
 
6095
  msgstr ""
6096
 
6097
+ #: src/Services/ContentAnalysis/GetContent.php:340
6098
+ msgid ""
6099
+ "No custom meta description is set for this post. If the global meta "
6100
+ "description suits you, you can ignore this recommendation."
6101
  msgstr ""
6102
 
6103
+ #: src/Services/ContentAnalysis/GetContent.php:357
6104
+ msgid "Open Graph Title"
6105
+ msgstr ""
6106
+
6107
+ #: src/Services/ContentAnalysis/GetContent.php:366
6108
+ #, php-format
6109
+ msgid "We found %d og:title in your content."
6110
  msgstr ""
6111
 
6112
+ #: src/Services/ContentAnalysis/GetContent.php:367
6113
+ msgid ""
6114
+ "You should not use more than one og:title in your post content to avoid "
6115
+ "conflicts when sharing on social networks. Facebook will take the last og:"
6116
+ "title tag from your source code. Below, the list:"
6117
  msgstr ""
6118
 
6119
+ #: src/Services/ContentAnalysis/GetContent.php:370
6120
+ msgid "Your Open Graph Title tag is empty!"
 
6121
  msgstr ""
6122
 
6123
+ #: src/Services/ContentAnalysis/GetContent.php:372
6124
+ msgid "We found an Open Graph Title tag in your source code."
 
6125
  msgstr ""
6126
 
6127
+ #: src/Services/ContentAnalysis/GetContent.php:384
6128
+ msgid "Your Open Graph Title is missing!"
 
6129
  msgstr ""
6130
 
6131
+ #. og:description
6132
+ #: src/Services/ContentAnalysis/GetContent.php:388
6133
+ msgid "Open Graph Description"
 
 
6134
  msgstr ""
6135
 
6136
+ #: src/Services/ContentAnalysis/GetContent.php:397
6137
+ #, php-format
6138
+ msgid "We found %d og:description in your content."
6139
  msgstr ""
6140
 
6141
+ #: src/Services/ContentAnalysis/GetContent.php:398
6142
+ msgid ""
6143
+ "You should not use more than one og:description in your post content to "
6144
+ "avoid conflicts when sharing on social networks. Facebook will take the last "
6145
+ "og:description tag from your source code. Below, the list:"
 
 
6146
  msgstr ""
6147
 
6148
+ #: src/Services/ContentAnalysis/GetContent.php:401
6149
+ msgid "Your Open Graph Description tag is empty!"
 
6150
  msgstr ""
6151
 
6152
+ #: src/Services/ContentAnalysis/GetContent.php:403
6153
+ msgid "We found an Open Graph Description tag in your source code."
6154
  msgstr ""
6155
 
6156
+ #: src/Services/ContentAnalysis/GetContent.php:415
6157
+ msgid "Your Open Graph Description is missing!"
6158
  msgstr ""
6159
 
6160
+ #. og:image
6161
+ #: src/Services/ContentAnalysis/GetContent.php:419
6162
+ msgid "Open Graph Image"
6163
  msgstr ""
6164
 
6165
+ #: src/Services/ContentAnalysis/GetContent.php:427
6166
+ #, php-format
6167
+ msgid "We found %d og:image in your content."
 
6168
  msgstr ""
6169
 
6170
+ #: src/Services/ContentAnalysis/GetContent.php:433
6171
+ msgid "Your Open Graph Image tag is empty!"
 
 
6172
  msgstr ""
6173
 
6174
+ #: src/Services/ContentAnalysis/GetContent.php:445
6175
+ msgid "Your Open Graph Image is missing!"
 
6176
  msgstr ""
6177
 
6178
+ #. og:url
6179
+ #: src/Services/ContentAnalysis/GetContent.php:449
6180
+ msgid "Open Graph URL"
6181
  msgstr ""
6182
 
6183
+ #: src/Services/ContentAnalysis/GetContent.php:458
6184
+ #, php-format
6185
+ msgid "We found %d og:url in your content."
6186
  msgstr ""
6187
 
6188
+ #: src/Services/ContentAnalysis/GetContent.php:459
6189
+ msgid ""
6190
+ "You should not use more than one og:url in your post content to avoid "
6191
+ "conflicts when sharing on social networks. Facebook will take the last og:"
6192
+ "url tag from your source code. Below, the list:"
6193
  msgstr ""
6194
 
6195
+ #: src/Services/ContentAnalysis/GetContent.php:462
6196
+ msgid "Your Open Graph URL tag is empty!"
6197
  msgstr ""
6198
 
6199
+ #: src/Services/ContentAnalysis/GetContent.php:464
6200
+ msgid "We found an Open Graph URL tag in your source code."
6201
  msgstr ""
6202
 
6203
+ #: src/Services/ContentAnalysis/GetContent.php:476
6204
+ msgid "Your Open Graph URL is missing!"
6205
  msgstr ""
6206
 
6207
+ #. og:site_name
6208
+ #: src/Services/ContentAnalysis/GetContent.php:480
6209
+ msgid "Open Graph Site Name"
6210
  msgstr ""
6211
 
6212
+ #: src/Services/ContentAnalysis/GetContent.php:489
6213
+ #, php-format
6214
+ msgid "We found %d og:site_name in your content."
6215
  msgstr ""
6216
 
6217
+ #: src/Services/ContentAnalysis/GetContent.php:490
6218
+ msgid ""
6219
+ "You should not use more than one og:site_name in your post content to avoid "
6220
+ "conflicts when sharing on social networks. Facebook will take the last og:"
6221
+ "site_name tag from your source code. Below, the list:"
6222
  msgstr ""
6223
 
6224
+ #: src/Services/ContentAnalysis/GetContent.php:493
6225
+ msgid "Your Open Graph Site Name tag is empty!"
6226
  msgstr ""
6227
 
6228
+ #: src/Services/ContentAnalysis/GetContent.php:495
6229
+ msgid "We found an Open Graph Site Name tag in your source code."
6230
  msgstr ""
6231
 
6232
+ #: src/Services/ContentAnalysis/GetContent.php:507
6233
+ msgid "Your Open Graph Site Name is missing!"
6234
  msgstr ""
6235
 
6236
+ #: src/Services/ContentAnalysis/GetContent.php:520
6237
+ #, php-format
6238
+ msgid "We found %d twitter:title in your content."
6239
  msgstr ""
6240
 
6241
+ #: src/Services/ContentAnalysis/GetContent.php:521
6242
+ msgid ""
6243
+ "You should not use more than one twitter:title in your post content to avoid "
6244
+ "conflicts when sharing on social networks. Twitter will take the last "
6245
+ "twitter:title tag from your source code. Below, the list:"
6246
  msgstr ""
6247
 
6248
+ #: src/Services/ContentAnalysis/GetContent.php:524
6249
+ msgid "Your Twitter Title tag is empty!"
 
6250
  msgstr ""
6251
 
6252
+ #: src/Services/ContentAnalysis/GetContent.php:526
6253
+ msgid "We found a Twitter Title tag in your source code."
6254
  msgstr ""
6255
 
6256
+ #: src/Services/ContentAnalysis/GetContent.php:538
6257
+ msgid "Your Twitter Title is missing!"
6258
  msgstr ""
6259
 
6260
+ #. twitter:description
6261
+ #: src/Services/ContentAnalysis/GetContent.php:542
6262
+ msgid "Twitter Description"
6263
  msgstr ""
6264
 
6265
+ #: src/Services/ContentAnalysis/GetContent.php:551
6266
+ #, php-format
6267
+ msgid "We found %d twitter:description in your content."
6268
  msgstr ""
6269
 
6270
+ #: src/Services/ContentAnalysis/GetContent.php:552
6271
+ msgid ""
6272
+ "You should not use more than one twitter:description in your post content to "
6273
+ "avoid conflicts when sharing on social networks. Twitter will take the last "
6274
+ "twitter:description tag from your source code. Below, the list:"
6275
  msgstr ""
6276
 
6277
+ #: src/Services/ContentAnalysis/GetContent.php:555
6278
+ msgid "Your Twitter Description tag is empty!"
6279
  msgstr ""
6280
 
6281
+ #: src/Services/ContentAnalysis/GetContent.php:557
6282
+ msgid "We found a Twitter Description tag in your source code."
6283
  msgstr ""
6284
 
6285
+ #: src/Services/ContentAnalysis/GetContent.php:569
6286
+ msgid "Your Twitter Description is missing!"
 
 
6287
  msgstr ""
6288
 
6289
+ #. twitter:image
6290
+ #: src/Services/ContentAnalysis/GetContent.php:573
6291
+ msgid "Twitter Image"
 
 
6292
  msgstr ""
6293
 
6294
+ #: src/Services/ContentAnalysis/GetContent.php:581
6295
+ #, php-format
6296
+ msgid "We found %d twitter:image in your content."
 
6297
  msgstr ""
6298
 
6299
+ #: src/Services/ContentAnalysis/GetContent.php:587
6300
+ msgid "Your Twitter Image tag is empty!"
6301
  msgstr ""
6302
 
6303
+ #: src/Services/ContentAnalysis/GetContent.php:599
6304
+ msgid "Your Twitter Image is missing!"
 
6305
  msgstr ""
6306
 
6307
+ #: src/Services/ContentAnalysis/GetContent.php:623
6308
+ #, php-format
6309
+ msgid ""
6310
+ "We found %s meta robots in your page. There is probably something wrong with "
6311
+ "your theme!"
6312
  msgstr ""
6313
 
6314
+ #: src/Services/ContentAnalysis/GetContent.php:628
6315
+ msgid "noindex is on! Search engines can't index this page."
 
6316
  msgstr ""
6317
 
6318
+ #: src/Services/ContentAnalysis/GetContent.php:630
6319
+ msgid "noindex is off. Search engines will index this page."
 
6320
  msgstr ""
6321
 
6322
+ #: src/Services/ContentAnalysis/GetContent.php:635
6323
+ msgid "nofollow is on! Search engines can't follow your links on this page."
 
6324
  msgstr ""
6325
 
6326
+ #: src/Services/ContentAnalysis/GetContent.php:637
6327
+ msgid "nofollow is off. Search engines will follow links on this page."
 
6328
  msgstr ""
6329
 
6330
+ #: src/Services/ContentAnalysis/GetContent.php:644
6331
+ msgid "noarchive is on! Search engines will not cache your page."
 
 
 
 
6332
  msgstr ""
6333
 
6334
+ #: src/Services/ContentAnalysis/GetContent.php:646
6335
+ msgid "noarchive is off. Search engines will probably cache your page."
 
6336
  msgstr ""
6337
 
6338
+ #: src/Services/ContentAnalysis/GetContent.php:653
6339
+ msgid ""
6340
+ "nosnippet is on! Search engines will not display a snippet of this page in "
6341
+ "search results."
6342
  msgstr ""
6343
 
6344
+ #: src/Services/ContentAnalysis/GetContent.php:655
6345
+ msgid ""
6346
+ "nosnippet is off. Search engines will display a snippet of this page in "
6347
+ "search results."
6348
  msgstr ""
6349
 
6350
+ #: src/Services/ContentAnalysis/GetContent.php:658
6351
+ msgid ""
6352
+ "We found no meta robots on this page. It means, your page is index,follow. "
6353
+ "Search engines will index it, and follow links. "
6354
  msgstr ""
6355
 
6356
+ #: src/Services/ContentAnalysis/GetContent.php:667
6357
+ msgid ""
6358
+ "noimageindex is on! Google will not index your images on this page (but if "
6359
+ "someone makes a direct link to one of your image in this page, it will be "
6360
+ "indexed)."
6361
  msgstr ""
6362
 
6363
+ #: src/Services/ContentAnalysis/GetContent.php:669
6364
+ #: src/Services/ContentAnalysis/GetContent.php:681
6365
+ msgid "noimageindex is off. Google will index the images on this page."
6366
  msgstr ""
6367
 
6368
+ #: src/Services/ContentAnalysis/GetContent.php:676
6369
+ msgid ""
6370
+ "nositelinkssearchbox is on! Google will not display a sitelinks searchbox in "
6371
+ "search results."
6372
  msgstr ""
6373
 
6374
+ #: src/Services/ContentAnalysis/GetContent.php:678
6375
+ #: src/Services/ContentAnalysis/GetContent.php:683
6376
+ msgid ""
6377
+ "nositelinkssearchbox is off. Google will probably display a sitelinks "
6378
+ "searchbox in search results."
6379
  msgstr ""
6380
 
6381
+ #: src/Services/ContentAnalysis/GetContent.php:706
6382
+ msgid ""
6383
+ "No alternative text found for these images. Alt tags are important for both "
6384
+ "SEO and accessibility. Edit your images using the media library or your "
6385
+ "favorite page builder and fill in alternative text fields."
6386
  msgstr ""
6387
 
6388
+ #: src/Services/ContentAnalysis/GetContent.php:717
6389
+ msgid "All alternative tags are filled in. Good work!"
6390
  msgstr ""
6391
 
6392
+ #: src/Services/ContentAnalysis/GetContent.php:724
6393
+ msgid ""
6394
+ "We could not find any image in your content. Content with media is a plus "
6395
+ "for your SEO."
6396
  msgstr ""
6397
 
6398
+ #: src/Services/ContentAnalysis/GetContent.php:741
6399
+ #, php-format
6400
+ msgid ""
6401
+ "We found %d links with nofollow attribute in your page. Do not overuse "
6402
+ "nofollow attribute in links. Below, the list:"
6403
  msgstr ""
6404
 
6405
+ #: src/Services/ContentAnalysis/GetContent.php:752
6406
+ msgid "This page doesn't have any nofollow links."
6407
  msgstr ""
6408
 
6409
+ #: src/Services/ContentAnalysis/GetContent.php:766
6410
+ msgid ""
6411
+ "Internet is built on the principle of hyperlink. It is therefore perfectly "
6412
+ "normal to make links between different websites. However, avoid making links "
6413
+ "to low quality sites, SPAM... If you are not sure about the quality of a "
6414
+ "site, add the attribute \"nofollow\" to your link."
6415
  msgstr ""
6416
 
6417
+ #: src/Services/ContentAnalysis/GetContent.php:770
6418
+ #, php-format
6419
+ msgid "We found %s outbound links in your page. Below, the list:"
6420
  msgstr ""
6421
 
6422
+ #: src/Services/ContentAnalysis/GetContent.php:780
6423
+ msgid "This page doesn't have any outbound links."
6424
  msgstr ""
6425
 
6426
+ #: src/Services/ContentAnalysis/GetContent.php:795
6427
+ msgid ""
6428
+ "A canonical URL is required by search engines to handle duplicate content."
6429
  msgstr ""
6430
 
6431
+ #: src/Services/ContentAnalysis/GetContent.php:799
6432
+ #, php-format
6433
+ msgid "We found %s canonical URL in your source code. Below, the list:"
6434
  msgstr ""
6435
 
6436
+ #: src/Services/ContentAnalysis/GetContent.php:808
6437
+ msgid "You must fix this. Canonical URL duplication is bad for SEO."
6438
  msgstr ""
6439
 
6440
+ #: src/Services/ContentAnalysis/GetContent.php:813
6441
+ msgid ""
6442
+ "This page doesn't have any canonical URL because your post is set to "
6443
+ "<strong>noindex</strong>. This is normal."
6444
  msgstr ""
6445
 
6446
+ #: src/Services/ContentAnalysis/GetContent.php:816
6447
+ msgid "This page doesn't have any canonical URL."
6448
  msgstr ""
6449
 
6450
+ #: src/Services/ContentAnalysis/RenderContentAnalysis.php:19
6451
+ msgid ""
6452
+ "<strong>Should be improved:</strong> red or orange dots <br> <strong>Good:</"
6453
+ "strong> yellow or green dots"
6454
  msgstr ""
6455
 
6456
+ #: src/Services/ContentAnalysis/RenderContentAnalysis.php:37
6457
+ msgid "Expand"
6458
  msgstr ""
6459
 
6460
+ #: src/Services/ContentAnalysis/RenderContentAnalysis.php:37
6461
+ msgid "Close"
6462
  msgstr ""
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: SEO, XML sitemap, meta title, open graph, content analysis, knowledge grap
6
  Requires at least: 4.7+
7
  Tested up to: 5.6
8
  Requires PHP: 5.6
9
- Stable tag: 4.3.0.2
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -319,14 +319,36 @@ You're theme is probably using a deprecated function to handle the title. <a hre
319
  8. Installation Wizard
320
  9. Schemas metabox
321
 
322
- == Changelog ==
323
- = 4.3.0.2 (19/01/2021) =
324
- * FIX Analytics tracking code if no UA-XXX set
325
- * FIX Conflict Google Analytics with UpdraftPlus (PRO)
326
- = 4.3.0.1 (15/01/2021) =
327
- * FIX Fatal error
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
328
  * FIX Product price with taxes for automatic product schema (default: sale price, fallback: regular price)
329
- * FIX Fatal error get_price in specific cases
330
  = 4.3 (14/01/2021) =
331
  * NEW PHP 8 compatibility
332
  * NEW "Disable notifications on slug changes or post deletions" option from SEO, PRO, 404/301 tab (PRO)
6
  Requires at least: 4.7+
7
  Tested up to: 5.6
8
  Requires PHP: 5.6
9
+ Stable tag: 4.4.0
10
  License: GPLv2 or later
11
  License URI: https://www.gnu.org/licenses/gpl-2.0.html
12
 
319
  8. Installation Wizard
320
  9. Schemas metabox
321
 
322
+ == Changelog ==
323
+ = 4.4 (10/02/2021) =
324
+ * NEW Complete code refactoring on Titles and metas feature 🎉
325
+ * NEW Preview dynamic tags on post list columns 🎉
326
+ * NEW Live preview when adding dynamic variables for Google Preview 🎉
327
+ * NEW Add Local Business types to automatic schemas as new mapping option to avoid entering manually a business type 🎉 (PRO)
328
+ * NEW Support variable products for automatic product schema (PRO) 🎉
329
+ * NEW Support Global Product Identifiers for variable products (PRO)
330
+ * NEW Dashboard notification if Google Analytics is enabled without UA or GA4 ids
331
+ * NEW White Label option to change the SEO menu name (PRO)
332
+ * NEW Add post ID to automatic schemas as new mapping option (PRO)
333
+ * INFO Remove jQuery for Google Analytics Enhanced Ecommerce (no more jQuery with GA tracking code 🎉)
334
+ * INFO Improve wizard assistant user interface
335
+ * INFO Stop adding uppercase on the first letter of each word when automatically adding media attributes (eg: alt tag)
336
+ * INFO Add new help tabs for Sitemaps and Social networks settings page to improve user experience
337
+ * FIX Cornerstone compatibility issue with our content analysis feature
338
+ * FIX Oxygen compatibility issue with our content analysis feature ("2 meta robots found")
339
+ * FIX CSV broken link export with specific PHP configuration
340
+ * FIX Social tags for term taxonomies
341
+ * FIX White label: some SEOPress links weren't hidden
342
+ * FIX WPML XML configuration file (wpml-config.xml)
343
+ * FIX GA Enhanced Ecommerce check on status order for measuring purchases
344
+ * FIX GA Enhanced Ecommerce add_to_cart event from archive product page
345
+ = 4.3.0.2 19/01/2021 =
346
+ * FIX Analytics tracking code if no UA-XXX set
347
+ * FIX Conflict Google Analytics with UpdraftPlus (PRO)
348
+ = 4.3.0.1 15/01/2021 =
349
+ * FIX Fatal error
350
  * FIX Product price with taxes for automatic product schema (default: sale price, fallback: regular price)
351
+ * FIX Fatal error get_price in specific cases
352
  = 4.3 (14/01/2021) =
353
  * NEW PHP 8 compatibility
354
  * NEW "Disable notifications on slug changes or post deletions" option from SEO, PRO, 404/301 tab (PRO)
seopress.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: SEOPress
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
  Author: SEOPress
7
- Version: 4.3.0.2
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
@@ -55,7 +55,7 @@ register_deactivation_hook(__FILE__, 'seopress_deactivation');
55
  ///////////////////////////////////////////////////////////////////////////////////////////////////
56
  //Define
57
  ///////////////////////////////////////////////////////////////////////////////////////////////////
58
- define('SEOPRESS_VERSION', '4.3.0.2');
59
  define('SEOPRESS_AUTHOR', 'Benjamin Denis');
60
  define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
61
  define('SEOPRESS_TEMPLATE_DIR', SEOPRESS_PLUGIN_DIR_PATH . 'templates');
@@ -535,34 +535,40 @@ function seopress_plugin_action_links($links, $file) {
535
  *
536
  * @author Benjamin Denis
537
  *
 
 
538
  * @return (array) $wp_post_types
539
  **/
540
  function seopress_get_post_types() {
541
- global $wp_post_types;
542
-
543
- $args = [
544
- 'show_ui' => true,
545
- 'public' => true,
546
- ];
547
 
548
- $output = 'objects'; // names or objects, note names is the default
549
- $operator = 'and'; // 'and' or 'or'
 
 
550
 
551
- $post_types = get_post_types($args, $output, $operator);
552
- unset(
553
- $post_types['attachment'],
554
- $post_types['seopress_rankings'],
555
- $post_types['seopress_backlinks'],
556
- $post_types['seopress_404'],
557
- $post_types['elementor_library'],
558
- $post_types['customer_discount'],
559
- $post_types['cuar_private_file'],
560
- $post_types['cuar_private_page'],
561
- $post_types['ct_template']
562
- );
563
- $post_types = apply_filters('seopress_post_types', $post_types);
 
 
 
 
 
 
564
 
565
- return $post_types;
566
  }
567
 
568
  /**
@@ -827,7 +833,7 @@ function seopress_xml_sitemap_img_enable_option() {
827
  //Rewrite Rules for XML Sitemap
828
  if ('1' == seopress_xml_sitemap_general_enable_option() && '1' == seopress_get_toggle_option('xml-sitemap')) {
829
  function seopress_sitemaps_headers() {
830
- if(!function_exists('seopress_get_service')){
831
  return;
832
  }
833
 
4
  Plugin URI: https://www.seopress.org/
5
  Description: One of the best SEO plugins for WordPress.
6
  Author: SEOPress
7
+ Version: 4.4.0
8
  Author URI: https://www.seopress.org/
9
  License: GPLv2
10
  Text Domain: wp-seopress
55
  ///////////////////////////////////////////////////////////////////////////////////////////////////
56
  //Define
57
  ///////////////////////////////////////////////////////////////////////////////////////////////////
58
+ define('SEOPRESS_VERSION', '4.4.0');
59
  define('SEOPRESS_AUTHOR', 'Benjamin Denis');
60
  define('SEOPRESS_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
61
  define('SEOPRESS_TEMPLATE_DIR', SEOPRESS_PLUGIN_DIR_PATH . 'templates');
535
  *
536
  * @author Benjamin Denis
537
  *
538
+ * @deprecated 4.4.0
539
+ *
540
  * @return (array) $wp_post_types
541
  **/
542
  function seopress_get_post_types() {
543
+ if ( ! function_exists('seopress_get_service')) {
544
+ global $wp_post_types;
 
 
 
 
545
 
546
+ $args = [
547
+ 'show_ui' => true,
548
+ 'public' => true,
549
+ ];
550
 
551
+ $output = 'objects'; // names or objects, note names is the default
552
+ $operator = 'and'; // 'and' or 'or'
553
+
554
+ $post_types = get_post_types($args, $output, $operator);
555
+ unset(
556
+ $post_types['attachment'],
557
+ $post_types['seopress_rankings'],
558
+ $post_types['seopress_backlinks'],
559
+ $post_types['seopress_404'],
560
+ $post_types['elementor_library'],
561
+ $post_types['customer_discount'],
562
+ $post_types['cuar_private_file'],
563
+ $post_types['cuar_private_page'],
564
+ $post_types['ct_template']
565
+ );
566
+ $post_types = apply_filters('seopress_post_types', $post_types);
567
+
568
+ return $post_types;
569
+ }
570
 
571
+ return seopress_get_service('WordPressData')->getPostTypes();
572
  }
573
 
574
  /**
833
  //Rewrite Rules for XML Sitemap
834
  if ('1' == seopress_xml_sitemap_general_enable_option() && '1' == seopress_get_toggle_option('xml-sitemap')) {
835
  function seopress_sitemaps_headers() {
836
+ if ( ! function_exists('seopress_get_service')) {
837
  return;
838
  }
839
 
src/Actions/Admin/ManageColumn.php ADDED
@@ -0,0 +1,277 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Actions\Admin;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Core\Hooks\ExecuteHooksBackend;
10
+
11
+ class ManageColumn implements ExecuteHooksBackend {
12
+ /**
13
+ * @since 4.4.0
14
+ */
15
+ public function __construct() {
16
+ $this->tagsToStringService = seopress_get_service('TagsToString');
17
+ }
18
+
19
+ /**
20
+ * @since 4.4.0
21
+ *
22
+ * @return void
23
+ */
24
+ public function hooks() {
25
+ add_action('current_screen', [$this, 'didAddColumns']);
26
+ }
27
+
28
+ /**
29
+ * @since 4.4.0
30
+ *
31
+ * @return void
32
+ */
33
+ public function didAddColumns() {
34
+ if (1 !== did_action('current_screen')) {
35
+ return;
36
+ }
37
+
38
+ if ( ! isset(get_current_screen()->post_type)) {
39
+ return;
40
+ }
41
+
42
+ $postType = get_current_screen()->post_type;
43
+ if (null !== seopress_titles_single_cpt_enable_option($postType) || empty($postType)) {
44
+ return;
45
+ }
46
+ $listPostTypes = seopress_get_service('WordPressData')->getPostTypes();
47
+
48
+ if ( ! array_key_exists($postType, $listPostTypes)) {
49
+ return;
50
+ }
51
+
52
+ add_filter('manage_' . $postType . '_posts_columns', [$this, 'addColumn']);
53
+ add_action('manage_' . $postType . '_posts_custom_column', [$this, 'displayColumn'], 10, 2);
54
+ if (is_plugin_active('easy-digital-downloads/easy-digital-downloads.php')) {
55
+ add_filter('manage_edit-' . $postType . '_columns', [$this, 'addColumn']);
56
+ }
57
+ }
58
+
59
+ public function addColumn($columns) {
60
+ if ( ! empty(seopress_advanced_appearance_title_col_option())) {
61
+ $columns['seopress_title'] = __('Title tag', 'wp-seopress');
62
+ }
63
+ if ( ! empty(seopress_advanced_appearance_meta_desc_col_option())) {
64
+ $columns['seopress_desc'] = __('Meta Desc.', 'wp-seopress');
65
+ }
66
+ if ( ! empty(seopress_advanced_appearance_redirect_enable_col_option())) {
67
+ $columns['seopress_redirect_enable'] = __('Redirect?', 'wp-seopress');
68
+ }
69
+ if ( ! empty(seopress_advanced_appearance_redirect_url_col_option())) {
70
+ $columns['seopress_redirect_url'] = __('Redirect URL', 'wp-seopress');
71
+ }
72
+ if ( ! empty(seopress_advanced_appearance_canonical_option())) {
73
+ $columns['seopress_canonical'] = __('Canonical', 'wp-seopress');
74
+ }
75
+ if ( ! empty(seopress_advanced_appearance_target_kw_col_option())) {
76
+ $columns['seopress_tkw'] = __('Target Kw', 'wp-seopress');
77
+ }
78
+ if ( ! empty(seopress_advanced_appearance_noindex_col_option())) {
79
+ $columns['seopress_noindex'] = __('noindex?', 'wp-seopress');
80
+ }
81
+ if ( ! empty(seopress_advanced_appearance_nofollow_col_option())) {
82
+ $columns['seopress_nofollow'] = __('nofollow?', 'wp-seopress');
83
+ }
84
+ if ( ! empty(seopress_advanced_appearance_score_col_option())) {
85
+ $columns['seopress_score'] = __('Score', 'wp-seopress');
86
+ }
87
+ if ( ! empty(seopress_advanced_appearance_words_col_option())) {
88
+ $columns['seopress_words'] = __('Words', 'wp-seopress');
89
+ }
90
+ if ( ! empty(seopress_advanced_appearance_w3c_col_option())) {
91
+ $columns['seopress_w3c'] = __('W3C check', 'wp-seopress');
92
+ }
93
+ if ( ! empty(seopress_advanced_appearance_ps_col_option())) {
94
+ $columns['seopress_ps'] = __('Page Speed', 'wp-seopress');
95
+ }
96
+ if ( ! empty(seopress_advanced_appearance_insights_col_option())) {
97
+ $columns['seopress_insights'] = __('Insights', 'wp-seopress');
98
+ }
99
+
100
+ return $columns;
101
+ }
102
+
103
+ /**
104
+ * @since 4.4.0
105
+ * @see manage_' . $postType . '_posts_custom_column
106
+ *
107
+ * @param string $column
108
+ * @param int $post_id
109
+ *
110
+ * @return void
111
+ */
112
+ public function displayColumn($column, $post_id) {
113
+ switch ($column) {
114
+ case 'seopress_title':
115
+ $title = get_post_meta($post_id, '_seopress_titles_title', true);
116
+ $context = seopress_get_service('ContextPage')->buildContextWithCurrentId($post_id)->getContext();
117
+ $title = $this->tagsToStringService->replace($title, $context);
118
+ ?>
119
+ <div id="seopress_title-<?php echo esc_attr($post_id); ?>">
120
+ <?php echo esc_html($title); ?>
121
+ </div>
122
+ <?php
123
+ break;
124
+
125
+ case 'seopress_desc':
126
+ $description = get_post_meta($post_id, '_seopress_titles_desc', true);
127
+ $context = seopress_get_service('ContextPage')->buildContextWithCurrentId($post_id)->getContext();
128
+ $description = $this->tagsToStringService->replace($description, $context);
129
+ ?>
130
+ <div id="seopress_desc-<?php echo esc_attr($post_id); ?>">
131
+ <?php echo esc_html($description); ?>
132
+ </div>
133
+ <?php
134
+ break;
135
+
136
+ case 'seopress_redirect_enable':
137
+ if ('yes' == get_post_meta($post_id, '_seopress_redirections_enabled', true)) {
138
+ echo '<div id="seopress_redirect_enable-' . esc_attr($post_id) . '"><span class="dashicons dashicons-yes"></span></div>';
139
+ }
140
+ break;
141
+ case 'seopress_redirect_url':
142
+ echo '<div id="seopress_redirect_url-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_redirections_value', true)) . '</div>';
143
+ break;
144
+
145
+ case 'seopress_canonical':
146
+ echo '<div id="seopress_canonical-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_robots_canonical', true)) . '</div>';
147
+ break;
148
+
149
+ case 'seopress_tkw':
150
+ echo '<div id="seopress_tkw-' . esc_attr($post_id) . '">' . esc_html(get_post_meta($post_id, '_seopress_analysis_target_kw', true)) . '</div>';
151
+ break;
152
+
153
+ case 'seopress_noindex':
154
+ if ('yes' == get_post_meta($post_id, '_seopress_robots_index', true)) {
155
+ echo '<span class="dashicons dashicons-hidden"></span><span class="screen-reader-text">' . __('noindex is on!', 'wp-seopress') . '</span>';
156
+ }
157
+ break;
158
+
159
+ case 'seopress_nofollow':
160
+ if ('yes' == get_post_meta($post_id, '_seopress_robots_follow', true)) {
161
+ echo '<span class="dashicons dashicons-yes"></span><span class="screen-reader-text">' . __('nofollow is on!', 'wp-seopress') . '</span>';
162
+ }
163
+ break;
164
+
165
+ case 'seopress_words':
166
+ if ('' != get_the_content()) {
167
+ $seopress_analysis_data['words_counter'] = preg_match_all("/\p{L}[\p{L}\p{Mn}\p{Pd}'\x{2019}]*/u", strip_tags(wp_filter_nohtml_kses(get_the_content())), $matches);
168
+
169
+ echo $seopress_analysis_data['words_counter'];
170
+ }
171
+ break;
172
+
173
+ case 'seopress_w3c':
174
+ echo '<a class="seopress-button" href="https://validator.w3.org/nu/?doc=' . esc_url(get_the_permalink()) . '" title="' . esc_attr(__('Check code quality of this page', 'wp-seopress')) . '" target="_blank"><span class="dashicons dashicons-clipboard"></span></a>';
175
+ break;
176
+
177
+ case 'seopress_ps':
178
+ 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>';
179
+ break;
180
+
181
+ case 'seopress_score':
182
+ if (get_post_meta($post_id, '_seopress_analysis_data')) {
183
+ $ca = get_post_meta($post_id, '_seopress_analysis_data');
184
+ echo '<div class="analysis-score">';
185
+ if (isset($ca[0]['score']) && 1 == $ca[0]['score']) {
186
+ echo '<p><svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
187
+ <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
188
+ <circle id="bar" class="good" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 50.8938px;"></circle>
189
+ </svg><span class="screen-reader-text">' . __('Good', 'wp-seopress') . '</span></p>';
190
+ } elseif (isset($ca[0]['score']) && '' == $ca[0]['score']) {
191
+ echo '<p><svg role="img" aria-hidden="true" focusable="false" width="100%" height="100%" viewBox="0 0 200 200" version="1.1" xmlns="http://www.w3.org/2000/svg">
192
+ <circle r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0"></circle>
193
+ <circle id="bar" class="notgood" r="90" cx="100" cy="100" fill="transparent" stroke-dasharray="565.48" stroke-dashoffset="0" style="stroke-dashoffset: 101.788px;"></circle>
194
+ </svg><span class="screen-reader-text">' . __('Should be improved', 'wp-seopress') . '</span></p>';
195
+ }
196
+ echo '</div>';
197
+ }
198
+ break;
199
+
200
+ case 'seopress_insights':
201
+ if (is_plugin_active('wp-seopress-insights/seopress-insights.php')) {
202
+ foreach (seopress_insights_query_all_rankings() as $key => $value) {
203
+ if ( ! empty($value) && $value['url'] == get_the_permalink($post_id)) {
204
+ $rankings[$value['ts']][] = [
205
+ 'keyword' => get_the_title(),
206
+ 'p' => $value['p'],
207
+ 'url' => $value['url'],
208
+ 'search_volume' => $value['search_volume'],
209
+ 'cpc' => $value['cpc'],
210
+ 'competition' => $value['competition'],
211
+ 'date' => date('Y/m/d', $value['ts']),
212
+ ];
213
+ }
214
+ }
215
+
216
+ if ( ! empty($rankings)) {
217
+ foreach ($rankings as $key => $value) {
218
+ $avg_pos[] = $value[0]['p'];
219
+ $kws[] = $value[0]['keyword'];
220
+ }
221
+
222
+ echo '<div class="wrap-insights-post">';
223
+
224
+ echo '<p><span class="dashicons dashicons-chart-line"></span>';
225
+
226
+ if ( ! empty($kws)) {
227
+ $kws = array_unique($kws);
228
+
229
+ $html = '<ul>';
230
+ foreach ($kws as $kw) {
231
+ $html .= '<li><span class="dashicons dashicons-minus"></span>' . $kw . '</li>';
232
+ }
233
+ $html .= '</ul>';
234
+
235
+ echo seopress_tooltip(__('Insights from these keywords:', 'wp-seopress-insights'), sprintf('%s', $html), '');
236
+ }
237
+
238
+ echo '</p>';
239
+
240
+ //Average position
241
+ echo '<p class="widget-insights-title">' . __('Average position: ', 'wp-seopress-insights') . '</p>';
242
+
243
+ if ( ! empty($avg_pos)) {
244
+ echo '<p>';
245
+
246
+ echo '<span>' . round(array_sum($avg_pos) / count($avg_pos), 2) . '</span>';
247
+
248
+ //Variation
249
+ if (isset($avg_pos[0]) && $avg_pos[1]) {
250
+ $p_variation = $avg_pos[0] - $avg_pos[1];
251
+
252
+ if ($avg_pos[0] < $avg_pos[1]) {
253
+ $p_variation_rel = '<span class="up"><span class="dashicons dashicons-arrow-up-alt"></span> ' . abs($p_variation) . '</span>';
254
+ } elseif ($avg_pos[0] == $avg_pos[1]) {
255
+ $p_variation_rel = '<span class="stable">=</span>';
256
+ } else {
257
+ $p_variation_rel = '<span class="down"><span class="dashicons dashicons-arrow-up-alt"></span> ' . abs($p_variation) . '</span>';
258
+ }
259
+
260
+ echo $p_variation_rel;
261
+ }
262
+
263
+ echo '</p>';
264
+ }
265
+
266
+ //Latest position
267
+ echo '<p class="widget-insights-title">' . __('Latest position: ', 'wp-seopress-insights') . '</p>';
268
+
269
+ $p = array_key_first($rankings);
270
+ echo '<p><span>' . $rankings[$p][0]['p'] . '</span></p>';
271
+ echo '</div>';
272
+ }
273
+ }
274
+ break;
275
+ }
276
+ }
277
+ }
src/Actions/Ajax/PreviewMetaTitle.php ADDED
@@ -0,0 +1,68 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Actions\Ajax;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Core\Hooks\ExecuteHooksBackend;
10
+
11
+ class PreviewMetaTitle implements ExecuteHooksBackend {
12
+ /**
13
+ * @since 4.4.0
14
+ *
15
+ * @return void
16
+ */
17
+ public function hooks() {
18
+ add_action('wp_ajax_get_preview_meta_title', [$this, 'get']);
19
+ }
20
+
21
+ /**
22
+ * @since 4.4.0
23
+ *
24
+ * @return array
25
+ */
26
+ public function get() {
27
+ if ( ! isset($_GET['template'])) { //phpcs:ignore
28
+ wp_send_json_error();
29
+
30
+ return;
31
+ }
32
+
33
+ $template = $_GET['template'];
34
+ $postId = isset($_GET['post_id']) ? (int) $_GET['post_id'] : null;
35
+ $homeId = isset($_GET['home_id']) ? (int) $_GET['home_id'] : null;
36
+ $termId = isset($_GET['term_id']) ? (int) $_GET['term_id'] : null;
37
+
38
+ $contextPage = seopress_get_service('ContextPage')->buildContextWithCurrentId((int) $_GET['post_id']);
39
+ if ($postId) {
40
+ $contextPage->setPostById((int) $_GET['post_id']);
41
+ $contextPage->setIsSingle(true);
42
+
43
+ $terms = get_the_terms($postId, 'post_tag');
44
+
45
+ if ( ! empty($terms)) {
46
+ $contextPage->setHasTag(true);
47
+ }
48
+
49
+ $categories = get_the_terms($postId, 'category');
50
+ if ( ! empty($categories)) {
51
+ $contextPage->setHasCategory(true);
52
+ }
53
+ }
54
+
55
+ if ($postId === $homeId && null !== $homeId) {
56
+ $contextPage->setIsHome(true);
57
+ }
58
+
59
+ if ($postId === $termId && null !== $termId) {
60
+ $contextPage->setIsCategory(true);
61
+ $contextPage->setTermId($termId);
62
+ }
63
+
64
+ $value = seopress_get_service('TagsToString')->replace($template, $contextPage->getContext());
65
+
66
+ wp_send_json_success($value);
67
+ }
68
+ }
src/Actions/Front/GoogleAnalytics.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Actions\Front;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Core\Hooks\ExecuteHooksFrontend;
10
+ use SEOPress\ManualHooks\Thirds\WooCommerce\WooCommerceAnalytics;
11
+
12
+ class GoogleAnalytics implements ExecuteHooksFrontend {
13
+ /**
14
+ * @since 4.4.0
15
+ *
16
+ * @return void
17
+ */
18
+ public function hooks() {
19
+ add_action('seopress_google_analytics_html', [$this, 'analytics'], 10, 1);
20
+ }
21
+
22
+ public function analytics($echo) {
23
+ if (('' != seopress_google_analytics_ua_option() || '' != seopress_google_analytics_ga4_option()) && '1' == seopress_google_analytics_enable_option()) {
24
+ if (seopress_get_service('WooCommerceActivate')->isActive()) {
25
+ $woocommerceAnalyticsHook = new WooCommerceAnalytics();
26
+ $woocommerceAnalyticsHook->hooks();
27
+ }
28
+ }
29
+ }
30
+ }
src/Actions/Front/Metas/DescriptionMeta.php ADDED
@@ -0,0 +1,270 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Actions\Front\Metas;
4
+
5
+ defined('ABSPATH') or exit('Cheatin&#8217; uh?');
6
+
7
+ use SEOPress\Core\Hooks\ExecuteHooksFrontend;
8
+
9
+ class DescriptionMeta implements ExecuteHooksFrontend {
10
+ public function __construct() {
11
+ $this->tagsToStringService = seopress_get_service('TagsToString');
12
+ }
13
+
14
+ /**
15
+ * @since 4.4.0
16
+ *
17
+ * @return void
18
+ */
19
+ public function hooks() {
20
+ add_action('wp_head', [$this, 'render'], 1);
21
+ }
22
+
23
+ public function render() {
24
+ if (apply_filters('seopress_old_wp_head_description', false)) {
25
+ return;
26
+ }
27
+
28
+ $content = $this->getContent();
29
+
30
+ if (empty($content)) {
31
+ return;
32
+ }
33
+
34
+ $html = '<meta name="description" content="' . $content . '" />';
35
+ $html .= "\n";
36
+ echo $html;
37
+ }
38
+
39
+ /**
40
+ * @since 4.4.0
41
+ *
42
+ * @return string
43
+ *
44
+ * @param mixed $variablesArray
45
+ * @param mixed $variablesReplace
46
+ */
47
+ protected function getHomeDescriptionTemplate($variablesArray, $variablesReplace) {
48
+ if ( ! function_exists('seopress_get_service')) {
49
+ $descriptionOption = seopress_titles_home_site_desc_option();
50
+ if (empty($descriptionOption)) {
51
+ return '';
52
+ }
53
+ $descriptionOption = esc_attr($descriptionOption);
54
+
55
+ return str_replace($variablesArray, $variablesReplace, $descriptionOption);
56
+ }
57
+
58
+ $title = seopress_get_service('TitleOption')->getHomeDescriptionTitle();
59
+ $context = seopress_get_service('ContextPage')->getContext();
60
+
61
+ return $this->tagsToStringService->replace($title, $context);
62
+ }
63
+
64
+ protected function getContent() {
65
+ $context = seopress_get_service('ContextPage')->getContext();
66
+
67
+ $variables = null;
68
+ $variables = apply_filters('seopress_dyn_variables_fn', $variables);
69
+
70
+ $post = $variables['post'];
71
+ $term = $variables['term'];
72
+ $seopress_titles_title_template = $variables['seopress_titles_title_template'];
73
+ $descriptionTemplate = $variables['seopress_titles_description_template'];
74
+ $seopress_paged = $variables['seopress_paged'];
75
+ $the_author_meta = $variables['the_author_meta'];
76
+ $sep = $variables['sep'];
77
+ $seopress_excerpt = $variables['seopress_excerpt'];
78
+ $post_category = $variables['post_category'];
79
+ $post_tag = $variables['post_tag'];
80
+ $post_thumbnail_url = $variables['post_thumbnail_url'];
81
+ $get_search_query = $variables['get_search_query'];
82
+ $woo_single_cat_html = $variables['woo_single_cat_html'];
83
+ $woo_single_tag_html = $variables['woo_single_tag_html'];
84
+ $woo_single_price = $variables['woo_single_price'];
85
+ $woo_single_price_exc_tax = $variables['woo_single_price_exc_tax'];
86
+ $woo_single_sku = $variables['woo_single_sku'];
87
+ $author_bio = $variables['author_bio'];
88
+ $seopress_get_the_excerpt = $variables['seopress_get_the_excerpt'];
89
+ $seopress_titles_template_variables_array = $variables['seopress_titles_template_variables_array'];
90
+ $seopress_titles_template_replace_array = $variables['seopress_titles_template_replace_array'];
91
+ $seopress_excerpt_length = $variables['seopress_excerpt_length'];
92
+ $page_id = get_option('page_for_posts');
93
+
94
+ if (is_front_page() && is_home() && isset($post) && '' == get_post_meta($post->ID, '_seopress_titles_desc', true)) { //HOMEPAGE
95
+ if ( ! empty(seopress_titles_home_site_desc_option())) {
96
+ $descriptionTemplate = $this->getHomeDescriptionTemplate($seopress_titles_template_variables_array, $seopress_titles_template_replace_array);
97
+ }
98
+ } elseif (is_front_page() && isset($post) && '' == get_post_meta($post->ID, '_seopress_titles_desc', true)) { //STATIC HOMEPAGE
99
+ if ( ! empty(seopress_titles_home_site_desc_option())) {
100
+ $descriptionTemplate = $this->getHomeDescriptionTemplate($seopress_titles_template_variables_array, $seopress_titles_template_replace_array);
101
+ }
102
+ } elseif (is_home() && '' != get_post_meta($page_id, '_seopress_titles_desc', true)) { //BLOG PAGE
103
+ if (get_post_meta($page_id, '_seopress_titles_desc', true)) {
104
+ $description_meta = esc_html(get_post_meta($page_id, '_seopress_titles_desc', true));
105
+ $description = $description_meta;
106
+
107
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
108
+ }
109
+ } elseif (is_home() && ('posts' == get_option('show_on_front'))) { //YOUR LATEST POSTS
110
+ if ( ! function_exists('seopress_get_service')) {
111
+ if ( ! empty(seopress_titles_home_site_desc_option())) {
112
+ $description = esc_attr(seopress_titles_home_site_desc_option());
113
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
114
+ }
115
+ } else {
116
+ $description = seopress_get_service('TitleOption')->getHomeDescriptionTitle();
117
+ $descriptionTemplate = $this->tagsToStringService->replace($description, $context);
118
+ }
119
+ } elseif (function_exists('bp_is_group') && bp_is_group()) {
120
+ if ('' != seopress_titles_bp_groups_desc_option()) {
121
+ $description = esc_attr(seopress_titles_bp_groups_desc_option());
122
+
123
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
124
+ }
125
+ } elseif (is_singular()) { //IS SINGLE
126
+ if (get_post_meta($post->ID, '_seopress_titles_desc', true)) { //IS METABOXE
127
+ $description = esc_attr(get_post_meta($post->ID, '_seopress_titles_desc', true));
128
+
129
+ preg_match_all('/%%_cf_(.*?)%%/', $description, $matches); //custom fields
130
+
131
+ if ( ! empty($matches)) {
132
+ $seopress_titles_cf_template_variables_array = [];
133
+ $seopress_titles_cf_template_replace_array = [];
134
+
135
+ foreach ($matches['0'] as $key => $value) {
136
+ $seopress_titles_cf_template_variables_array[] = $value;
137
+ }
138
+
139
+ foreach ($matches['1'] as $key => $value) {
140
+ $seopress_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
141
+ }
142
+ }
143
+
144
+ preg_match_all('/%%_ct_(.*?)%%/', $description, $matches2); //custom terms taxonomy
145
+
146
+ if ( ! empty($matches2)) {
147
+ $seopress_titles_ct_template_variables_array = [];
148
+ $seopress_titles_ct_template_replace_array = [];
149
+
150
+ foreach ($matches2['0'] as $key => $value) {
151
+ $seopress_titles_ct_template_variables_array[] = $value;
152
+ }
153
+
154
+ foreach ($matches2['1'] as $key => $value) {
155
+ $term = wp_get_post_terms($post->ID, $value);
156
+ if ( ! is_wp_error($term)) {
157
+ $terms = esc_attr($term[0]->name);
158
+ $seopress_titles_ct_template_replace_array[] = apply_filters('seopress_titles_custom_tax', $terms, $value);
159
+ }
160
+ }
161
+ }
162
+
163
+ //Default
164
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
165
+
166
+ //Custom fields
167
+ if ( ! empty($matches) && ! empty($seopress_titles_cf_template_variables_array) && ! empty($seopress_titles_cf_template_replace_array)) {
168
+ $descriptionTemplate = str_replace($seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $descriptionTemplate);
169
+ }
170
+
171
+ //Custom terms taxonomy
172
+ if ( ! empty($matches2) && ! empty($seopress_titles_ct_template_variables_array) && ! empty($seopress_titles_ct_template_replace_array)) {
173
+ $descriptionTemplate = str_replace($seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $descriptionTemplate);
174
+ }
175
+ } elseif ('' != seopress_titles_single_desc_option()) { //IS GLOBAL
176
+ $description = esc_attr(seopress_titles_single_desc_option());
177
+
178
+ preg_match_all('/%%_cf_(.*?)%%/', $description, $matches); //custom fields
179
+
180
+ if ( ! empty($matches)) {
181
+ $seopress_titles_cf_template_variables_array = [];
182
+ $seopress_titles_cf_template_replace_array = [];
183
+
184
+ foreach ($matches['0'] as $key => $value) {
185
+ $seopress_titles_cf_template_variables_array[] = $value;
186
+ }
187
+
188
+ foreach ($matches['1'] as $key => $value) {
189
+ $seopress_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
190
+ }
191
+ }
192
+
193
+ preg_match_all('/%%_ct_(.*?)%%/', $description, $matches2); //custom terms taxonomy
194
+
195
+ if ( ! empty($matches2)) {
196
+ $seopress_titles_ct_template_variables_array = [];
197
+ $seopress_titles_ct_template_replace_array = [];
198
+
199
+ foreach ($matches2['0'] as $key => $value) {
200
+ $seopress_titles_ct_template_variables_array[] = $value;
201
+ }
202
+
203
+ foreach ($matches2['1'] as $key => $value) {
204
+ $term = wp_get_post_terms($post->ID, $value);
205
+ if ( ! is_wp_error($term)) {
206
+ $terms = esc_attr($term[0]->name);
207
+ $seopress_titles_ct_template_replace_array[] = apply_filters('seopress_titles_custom_tax', $terms, $value);
208
+ }
209
+ }
210
+ }
211
+
212
+ //Default
213
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
214
+
215
+ //Custom fields
216
+ if ( ! empty($matches) && ! empty($seopress_titles_cf_template_variables_array) && ! empty($seopress_titles_cf_template_replace_array)) {
217
+ $descriptionTemplate = str_replace($seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $descriptionTemplate);
218
+ }
219
+
220
+ //Custom terms taxonomy
221
+ if ( ! empty($matches2) && ! empty($seopress_titles_ct_template_variables_array) && ! empty($seopress_titles_ct_template_replace_array)) {
222
+ $descriptionTemplate = str_replace($seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $descriptionTemplate);
223
+ }
224
+ } else {
225
+ setup_postdata($post);
226
+ if ('' != $seopress_get_the_excerpt || '' != get_the_content()) { //DEFAULT EXCERPT OR THE CONTENT
227
+ $description = wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses($seopress_get_the_excerpt)), $seopress_excerpt_length);
228
+
229
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
230
+ }
231
+ }
232
+ } elseif (is_post_type_archive() && seopress_titles_archive_desc_option()) { //IS POST TYPE ARCHIVE
233
+ $description = esc_attr(seopress_titles_archive_desc_option());
234
+
235
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
236
+ } elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_desc_option()) { //IS TAX
237
+ $description = esc_attr(seopress_titles_tax_desc_option());
238
+
239
+ if (get_term_meta(get_queried_object()->{'term_id'}, '_seopress_titles_desc', true)) {
240
+ $descriptionTemplate = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, '_seopress_titles_desc', true));
241
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $descriptionTemplate);
242
+ } else {
243
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
244
+ }
245
+ } elseif (is_author() && seopress_titles_archives_author_desc_option()) { //IS AUTHOR
246
+ $description = esc_attr(seopress_titles_archives_author_desc_option());
247
+
248
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
249
+ } elseif (is_date() && seopress_titles_archives_date_desc_option()) { //IS DATE
250
+ $description = esc_attr(seopress_titles_archives_date_desc_option());
251
+
252
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
253
+ } elseif (is_search() && seopress_titles_archives_search_desc_option()) { //IS SEARCH
254
+ $description = esc_attr(seopress_titles_archives_search_desc_option());
255
+
256
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
257
+ } elseif (is_404() && seopress_titles_archives_404_desc_option()) { //IS 404
258
+ $description = esc_attr(seopress_titles_archives_404_desc_option());
259
+
260
+ $descriptionTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $description);
261
+ }
262
+ //Hook on meta description - 'seopress_titles_desc'
263
+ if (has_filter('seopress_titles_desc')) {
264
+ $descriptionTemplate = apply_filters('seopress_titles_desc', $descriptionTemplate);
265
+ }
266
+
267
+ //Return meta desc tag
268
+ return $descriptionTemplate;
269
+ }
270
+ }
src/Actions/Front/Metas/TitleMeta.php ADDED
@@ -0,0 +1,263 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Actions\Front\Metas;
4
+
5
+ defined('ABSPATH') or exit('Cheatin&#8217; uh?');
6
+
7
+ use SEOPress\Core\Hooks\ExecuteHooksFrontend;
8
+
9
+ class TitleMeta implements ExecuteHooksFrontend {
10
+ public function __construct() {
11
+ $this->tagsToStringService = seopress_get_service('TagsToString');
12
+ }
13
+
14
+ /**
15
+ * @since 4.4.0
16
+ *
17
+ * @return void
18
+ */
19
+ public function hooks() {
20
+ add_filter('pre_get_document_title', [$this, 'render'], 10);
21
+ }
22
+
23
+ /**
24
+ * @since
25
+ *
26
+ * @return string
27
+ *
28
+ * @param mixed $variablesArray
29
+ * @param mixed $variablesReplace
30
+ */
31
+ protected function getHomeTitleTemplate($variablesArray, $variablesReplace) {
32
+ if ( ! function_exists('seopress_get_service')) {
33
+ $titleOption = seopress_titles_home_site_title_option();
34
+ if (empty($titleOption)) {
35
+ return '';
36
+ }
37
+ $titleOption = esc_attr($titleOption);
38
+
39
+ return str_replace($variablesArray, $variablesReplace, $titleOption);
40
+ }
41
+
42
+ $title = seopress_get_service('TitleOption')->getHomeSiteTitle();
43
+ $context = seopress_get_service('ContextPage')->getContext();
44
+
45
+ return $this->tagsToStringService->replace($title, $context);
46
+ }
47
+
48
+ /**
49
+ * @since 4.4.0
50
+ *
51
+ * @return string
52
+ */
53
+ public function render() {
54
+ $defaultHook = function_exists('seopress_get_service');
55
+
56
+ if (apply_filters('seopress_old_pre_get_document_title', ! $defaultHook)) {
57
+ return;
58
+ }
59
+
60
+ $context = seopress_get_service('ContextPage')->getContext();
61
+
62
+ $variables = null;
63
+ $variables = apply_filters('seopress_dyn_variables_fn', $variables);
64
+
65
+ $post = $variables['post'];
66
+ $term = $variables['term'];
67
+ $titleTemplate = $variables['seopress_titles_title_template'];
68
+ $seopress_titles_description_template = $variables['seopress_titles_description_template'];
69
+ $seopress_paged = $variables['seopress_paged'];
70
+ $the_author_meta = $variables['the_author_meta'];
71
+ $sep = $variables['sep'];
72
+ $seopress_excerpt = $variables['seopress_excerpt'];
73
+ $post_category = $variables['post_category'];
74
+ $post_tag = $variables['post_tag'];
75
+ $get_search_query = $variables['get_search_query'];
76
+ $woo_single_cat_html = $variables['woo_single_cat_html'];
77
+ $woo_single_tag_html = $variables['woo_single_tag_html'];
78
+ $woo_single_price = $variables['woo_single_price'];
79
+ $woo_single_price_exc_tax = $variables['woo_single_price_exc_tax'];
80
+ $woo_single_sku = $variables['woo_single_sku'];
81
+ $author_bio = $variables['author_bio'];
82
+ $seopress_get_the_excerpt = $variables['seopress_get_the_excerpt'];
83
+ $seopress_titles_template_variables_array = $variables['seopress_titles_template_variables_array'];
84
+ $seopress_titles_template_replace_array = $variables['seopress_titles_template_replace_array'];
85
+ $seopress_excerpt_length = $variables['seopress_excerpt_length'];
86
+ $page_id = get_option('page_for_posts');
87
+
88
+ if (is_front_page() && is_home() && isset($post) && '' == get_post_meta($post->ID, '_seopress_titles_title', true)) { //HOMEPAGE
89
+ if ( ! empty(seopress_titles_home_site_title_option())) {
90
+ $titleTemplate = $this->getHomeTitleTemplate($seopress_titles_template_variables_array, $seopress_titles_template_replace_array);
91
+ }
92
+ } elseif (is_front_page() && isset($post) && '' == get_post_meta($post->ID, '_seopress_titles_title', true)) { //STATIC HOMEPAGE
93
+ if ( ! empty(seopress_titles_home_site_title_option())) {
94
+ $titleTemplate = $this->getHomeTitleTemplate($seopress_titles_template_variables_array, $seopress_titles_template_replace_array);
95
+ }
96
+ } elseif (is_home() && '' != get_post_meta($page_id, '_seopress_titles_title', true)) { //BLOG PAGE
97
+ if (get_post_meta($page_id, '_seopress_titles_title', true)) { //IS METABOXE
98
+ $titleOption = esc_attr(get_post_meta($page_id, '_seopress_titles_title', true));
99
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $titleOption);
100
+ }
101
+ } elseif (is_home() && ('posts' == get_option('show_on_front'))) { //YOUR LATEST POSTS
102
+ if ( ! function_exists('seopress_get_service')) {
103
+ if ( ! empty(seopress_titles_home_site_title_option())) {
104
+ $titleOption = esc_attr(seopress_titles_home_site_title_option());
105
+
106
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $titleOption);
107
+ }
108
+ } else {
109
+ $title = seopress_get_service('TitleOption')->getHomeSiteTitle();
110
+ $titleTemplate = $this->tagsToStringService->replace($title, $context);
111
+ }
112
+ } elseif (function_exists('bp_is_group') && bp_is_group()) {
113
+ if ('' != seopress_titles_bp_groups_title_option()) {
114
+ $titleOption = esc_attr(seopress_titles_bp_groups_title_option());
115
+
116
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $titleOption);
117
+ }
118
+ } elseif (is_singular()) { //IS SINGULAR
119
+ // Check Buddypress
120
+ $buddyId = seopress_get_service('BuddyPressGetCurrentId')->getCurrentId();
121
+ if ($buddyId) {
122
+ $post->ID = $buddyId;
123
+ }
124
+
125
+ if (get_post_meta($post->ID, '_seopress_titles_title', true)) { //IS METABOXE
126
+ $titleOption = esc_attr(get_post_meta($post->ID, '_seopress_titles_title', true));
127
+
128
+ preg_match_all('/%%_cf_(.*?)%%/', $titleOption, $matches); //custom fields
129
+
130
+ if ( ! empty($matches)) {
131
+ $seopress_titles_cf_template_variables_array = [];
132
+ $seopress_titles_cf_template_replace_array = [];
133
+
134
+ foreach ($matches['0'] as $key => $value) {
135
+ $seopress_titles_cf_template_variables_array[] = $value;
136
+ }
137
+
138
+ foreach ($matches['1'] as $key => $value) {
139
+ $seopress_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
140
+ }
141
+ }
142
+
143
+ preg_match_all('/%%_ct_(.*?)%%/', $titleOption, $matches2); //custom terms taxonomy
144
+
145
+ if ( ! empty($matches2)) {
146
+ $seopress_titles_ct_template_variables_array = [];
147
+ $seopress_titles_ct_template_replace_array = [];
148
+
149
+ foreach ($matches2['0'] as $key => $value) {
150
+ $seopress_titles_ct_template_variables_array[] = $value;
151
+ }
152
+
153
+ foreach ($matches2['1'] as $key => $value) {
154
+ $term = wp_get_post_terms($post->ID, $value);
155
+ if ( ! is_wp_error($term)) {
156
+ $terms = esc_attr($term[0]->name);
157
+ $seopress_titles_ct_template_replace_array[] = apply_filters('seopress_titles_custom_tax', $terms, $value);
158
+ }
159
+ }
160
+ }
161
+
162
+ //Default
163
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $titleOption);
164
+
165
+ //Custom fields
166
+ if ( ! empty($matches) && ! empty($seopress_titles_cf_template_variables_array) && ! empty($seopress_titles_cf_template_replace_array)) {
167
+ $titleTemplate = str_replace($seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $titleTemplate);
168
+ }
169
+
170
+ //Custom terms taxonomy
171
+ if ( ! empty($matches2) && ! empty($seopress_titles_ct_template_variables_array) && ! empty($seopress_titles_ct_template_replace_array)) {
172
+ $titleTemplate = str_replace($seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $titleTemplate);
173
+ }
174
+ } else { //DEFAULT GLOBAL
175
+ $seopress_titles_single_titles_option = esc_attr(seopress_titles_single_titles_option());
176
+
177
+ preg_match_all('/%%_cf_(.*?)%%/', $seopress_titles_single_titles_option, $matches); //custom fields
178
+
179
+ if ( ! empty($matches)) {
180
+ $seopress_titles_cf_template_variables_array = [];
181
+ $seopress_titles_cf_template_replace_array = [];
182
+
183
+ foreach ($matches['0'] as $key => $value) {
184
+ $seopress_titles_cf_template_variables_array[] = $value;
185
+ }
186
+
187
+ foreach ($matches['1'] as $key => $value) {
188
+ $seopress_titles_cf_template_replace_array[] = esc_attr(get_post_meta($post->ID, $value, true));
189
+ }
190
+ }
191
+
192
+ preg_match_all('/%%_ct_(.*?)%%/', $seopress_titles_single_titles_option, $matches2); //custom terms taxonomy
193
+
194
+ if ( ! empty($matches2)) {
195
+ $seopress_titles_ct_template_variables_array = [];
196
+ $seopress_titles_ct_template_replace_array = [];
197
+
198
+ foreach ($matches2['0'] as $key => $value) {
199
+ $seopress_titles_ct_template_variables_array[] = $value;
200
+ }
201
+
202
+ foreach ($matches2['1'] as $key => $value) {
203
+ $term = wp_get_post_terms($post->ID, $value);
204
+ if ( ! is_wp_error($term) && isset($term[0])) {
205
+ $terms = esc_attr($term[0]->name);
206
+ $seopress_titles_ct_template_replace_array[] = apply_filters('seopress_titles_custom_tax', $terms, $value);
207
+ }
208
+ }
209
+ }
210
+
211
+ //Default
212
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_single_titles_option);
213
+
214
+ //Custom fields
215
+ if ( ! empty($matches) && ! empty($seopress_titles_cf_template_variables_array) && ! empty($seopress_titles_cf_template_replace_array)) {
216
+ $titleTemplate = str_replace($seopress_titles_cf_template_variables_array, $seopress_titles_cf_template_replace_array, $titleTemplate);
217
+ }
218
+
219
+ //Custom terms taxonomy
220
+ if ( ! empty($matches2) && ! empty($seopress_titles_ct_template_variables_array) && ! empty($seopress_titles_ct_template_replace_array)) {
221
+ $titleTemplate = str_replace($seopress_titles_ct_template_variables_array, $seopress_titles_ct_template_replace_array, $titleTemplate);
222
+ }
223
+ }
224
+ } elseif (is_post_type_archive() && seopress_titles_archive_titles_option()) { //IS POST TYPE ARCHIVE
225
+ $seopress_titles_archive_titles_option = esc_attr(seopress_titles_archive_titles_option());
226
+
227
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archive_titles_option);
228
+ } elseif ((is_tax() || is_category() || is_tag()) && seopress_titles_tax_titles_option()) { //IS TAX
229
+ $seopress_titles_tax_titles_option = esc_attr(seopress_titles_tax_titles_option());
230
+
231
+ if (get_term_meta(get_queried_object()->{'term_id'}, '_seopress_titles_title', true)) {
232
+ $titleTemplate = esc_attr(get_term_meta(get_queried_object()->{'term_id'}, '_seopress_titles_title', true));
233
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $titleTemplate);
234
+ } else {
235
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_tax_titles_option);
236
+ }
237
+ } elseif (is_author() && seopress_titles_archives_author_title_option()) { //IS AUTHOR
238
+ $seopress_titles_archives_author_title_option = esc_attr(seopress_titles_archives_author_title_option());
239
+
240
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_author_title_option);
241
+ } elseif (is_date() && seopress_titles_archives_date_title_option()) { //IS DATE
242
+ $seopress_titles_archives_date_title_option = esc_attr(seopress_titles_archives_date_title_option());
243
+
244
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_date_title_option);
245
+ } elseif (is_search() && seopress_titles_archives_search_title_option()) { //IS SEARCH
246
+ $seopress_titles_archives_search_title_option = esc_attr(seopress_titles_archives_search_title_option());
247
+
248
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_search_title_option);
249
+ } elseif (is_404() && seopress_titles_archives_404_title_option()) { //IS 404
250
+ $seopress_titles_archives_404_title_option = esc_attr(seopress_titles_archives_404_title_option());
251
+
252
+ $titleTemplate = str_replace($seopress_titles_template_variables_array, $seopress_titles_template_replace_array, $seopress_titles_archives_404_title_option);
253
+ }
254
+
255
+ //Hook on Title tag - 'seopress_titles_title'
256
+ if (has_filter('seopress_titles_title')) {
257
+ $titleTemplate = apply_filters('seopress_titles_title', $titleTemplate);
258
+ }
259
+
260
+ //Return Title tag
261
+ return $titleTemplate;
262
+ }
263
+ }
src/Actions/Options/Init.php CHANGED
@@ -7,8 +7,8 @@ defined('ABSPATH') or exit('Cheatin&#8217; uh?');
7
  use SEOPress\Core\Hooks\ActivationHook;
8
  use SEOPress\Helpers\TagCompose;
9
  use SEOPress\Tags\PostTitle;
 
10
  use SEOPress\Tags\SiteTitle;
11
- use SEOPress\Tags\Tagline;
12
 
13
  class Init implements ActivationHook {
14
  /**
@@ -191,7 +191,7 @@ class Init implements ActivationHook {
191
  //Site Title
192
  $titleOptions = [
193
  'seopress_titles_home_site_title' => TagCompose::getValueWithTag(PostTitle::NAME),
194
- 'seopress_titles_home_site_desc' => TagCompose::getValueWithTag(Tagline::NAME),
195
  ];
196
 
197
  //Post Types
7
  use SEOPress\Core\Hooks\ActivationHook;
8
  use SEOPress\Helpers\TagCompose;
9
  use SEOPress\Tags\PostTitle;
10
+ use SEOPress\Tags\SiteTagline;
11
  use SEOPress\Tags\SiteTitle;
 
12
 
13
  class Init implements ActivationHook {
14
  /**
191
  //Site Title
192
  $titleOptions = [
193
  'seopress_titles_home_site_title' => TagCompose::getValueWithTag(PostTitle::NAME),
194
+ 'seopress_titles_home_site_desc' => TagCompose::getValueWithTag(SiteTagline::NAME),
195
  ];
196
 
197
  //Post Types
src/Compose/UseTags.php ADDED
@@ -0,0 +1,145 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Compose;
4
+
5
+ use SEOPress\Helpers\TagCompose;
6
+ use SEOPress\Models\GetTagValue;
7
+
8
+ trait UseTags {
9
+ protected $tagsAvailable = null;
10
+
11
+ /**
12
+ * @since 4.4.0
13
+ *
14
+ * @param string $key
15
+ *
16
+ * @return GetTagValue
17
+ */
18
+ public function getTagClass($key) {
19
+ $tagsAvailable = $this->getTagsAvailable();
20
+
21
+ $element = null;
22
+ // Check key <=> tag
23
+ if (array_key_exists($key, $tagsAvailable)) {
24
+ $element = $tagsAvailable[$key];
25
+ }
26
+
27
+ // Check alias <=> tag
28
+ if (null === $element) {
29
+ foreach ($tagsAvailable as $tag) {
30
+ if (null !== $element) {
31
+ break;
32
+ }
33
+
34
+ if ( ! array_key_exists('alias', $tag) || empty($tag['alias'])) {
35
+ continue;
36
+ }
37
+
38
+ if (in_array($key, $tag['alias'], true)) {
39
+ $element = $tag;
40
+ }
41
+ }
42
+ }
43
+
44
+ // Check custom element
45
+ if (null === $element) {
46
+ foreach ($tagsAvailable as $tag) {
47
+ if (null !== $element) {
48
+ break;
49
+ }
50
+
51
+ if ( ! array_key_exists('custom', $tag) || null === $tag['custom']) {
52
+ continue;
53
+ }
54
+
55
+ if (0 === strpos($key, $tag['custom'])) {
56
+ $element = $tag;
57
+ }
58
+ }
59
+ }
60
+
61
+ if ( ! $element) {
62
+ return null;
63
+ }
64
+
65
+ if (is_string($element['class'])) {
66
+ $element['class'] = new $element['class']();
67
+ }
68
+
69
+ if ($element['class'] instanceof GetTagValue) {
70
+ return $element['class'];
71
+ }
72
+
73
+ return null;
74
+ }
75
+
76
+ /**
77
+ * @since 4.4.0
78
+ *
79
+ * @param string $directory
80
+ * @param array $tags
81
+ * @param string $subNamespace
82
+ *
83
+ * @return array
84
+ */
85
+ public function buildTags($directory, $tags = [], $subNamespace = '') {
86
+ $files = array_diff(scandir($directory), ['..', '.']);
87
+
88
+ foreach ($files as $filename) {
89
+ $class = str_replace('.php', '', $filename);
90
+ $classFile = sprintf('\\SEOPress\\Tags\\%s%s', $subNamespace, $class);
91
+ $fullPath = sprintf('%s/%s', $directory, $filename);
92
+
93
+ if (is_dir($fullPath)) {
94
+ $tags = $this->buildTags($fullPath, $tags, $filename . '\\');
95
+ } else {
96
+ if (defined($classFile . '::NAME')) {
97
+ $name = $classFile::NAME;
98
+ } else {
99
+ $name = strtolower($class);
100
+ }
101
+
102
+ $tags[$name] = [
103
+ 'class' => $classFile,
104
+ 'name' => $name,
105
+ 'alias' => defined($classFile . '::ALIAS') ? $classFile::ALIAS : [],
106
+ 'custom' => defined($classFile . '::CUSTOM_FORMAT') ? $classFile::CUSTOM_FORMAT : null,
107
+ 'input' => TagCompose::getValueWithTag($name),
108
+ ];
109
+ }
110
+ }
111
+
112
+ return $tags;
113
+ }
114
+
115
+ /**
116
+ * @since 4.4.0
117
+ *
118
+ * @return array
119
+ */
120
+ public function getTagsAvailable() {
121
+ if (null !== $this->tagsAvailable) {
122
+ return apply_filters('seopress_tags_available', $this->tagsAvailable);
123
+ }
124
+
125
+ $this->tagsAvailable = $this->buildTags(SEOPRESS_PLUGIN_DIR_PATH . 'src/Tags');
126
+
127
+ return apply_filters('seopress_tags_available', $this->tagsAvailable);
128
+ }
129
+
130
+ /**
131
+ * @since 4.4.0
132
+ *
133
+ * @param string $name
134
+ * @param any $params
135
+ */
136
+ public function __call($name, $params) {
137
+ $tagClass = $this->getTagClass($name);
138
+
139
+ if (null === $tagClass) {
140
+ return '';
141
+ }
142
+
143
+ return $tagClass->getValue($params);
144
+ }
145
+ }
src/Core/Container/ContainerSeopress.php CHANGED
@@ -115,8 +115,12 @@ class ContainerSeopress implements ManageContainer {
115
  return null;
116
  }
117
 
118
- if (is_string($this->services[$name])) {
119
- $this->services[$name] = new $this->services[$name]();
 
 
 
 
120
  }
121
 
122
  return $this->services[$name];
115
  return null;
116
  }
117
 
118
+ try {
119
+ if (is_string($this->services[$name]) && class_exists($this->services[$name])) {
120
+ $this->services[$name] = new $this->services[$name]();
121
+ }
122
+ } catch (\Exception $e) {
123
+ $this->services[$name] = null;
124
  }
125
 
126
  return $this->services[$name];
src/Core/Kernel.php CHANGED
@@ -36,40 +36,59 @@ abstract class Kernel {
36
  switch (current_filter()) {
37
  case 'plugins_loaded':
38
  foreach (self::getContainer()->getActions() as $key => $class) {
39
- $class = new $class();
40
- switch (true) {
41
- case $class instanceof ExecuteHooksBackend:
42
- if (is_admin()) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
43
  $class->hooks();
44
- }
45
- break;
46
-
47
- case $class instanceof ExecuteHooksFrontend:
48
- if ( ! is_admin()) {
49
- $class->hooks();
50
- }
51
- break;
52
-
53
- case $class instanceof ExecuteHooks:
54
- $class->hooks();
55
- break;
56
  }
57
  }
58
  break;
59
  case 'activate_' . self::$data['slug'] . '/' . self::$data['main_file'] . '.php':
60
  foreach (self::getContainer()->getActions() as $key => $class) {
61
- $class = new $class();
62
-
63
- if ($class instanceof ActivationHook) {
64
- $class->activate();
 
 
 
 
 
 
65
  }
66
  }
67
  break;
68
  case 'deactivate_' . self::$data['slug'] . '/' . self::$data['main_file'] . '.php':
69
  foreach (self::getContainer()->getActions() as $key => $class) {
70
- $class = new $class();
71
- if ($class instanceof DeactivationHook) {
72
- $class->deactivate();
 
 
 
 
 
 
73
  }
74
  }
75
  break;
@@ -83,6 +102,7 @@ abstract class Kernel {
83
  */
84
  public static function buildContainer() {
85
  self::buildClasses(self::$data['root'] . '/src/Services', 'services', 'Services\\');
 
86
  self::buildClasses(self::$data['root'] . '/src/Actions', 'actions', 'Actions\\');
87
  }
88
 
36
  switch (current_filter()) {
37
  case 'plugins_loaded':
38
  foreach (self::getContainer()->getActions() as $key => $class) {
39
+ try {
40
+ if ( ! class_exists($class)) {
41
+ continue;
42
+ }
43
+
44
+ $class = new $class();
45
+ switch (true) {
46
+ case $class instanceof ExecuteHooksBackend:
47
+ if (is_admin()) {
48
+ $class->hooks();
49
+ }
50
+ break;
51
+
52
+ case $class instanceof ExecuteHooksFrontend:
53
+ if ( ! is_admin()) {
54
+ $class->hooks();
55
+ }
56
+ break;
57
+
58
+ case $class instanceof ExecuteHooks:
59
  $class->hooks();
60
+ break;
61
+ }
62
+ } catch (\Exception $e) {
 
 
 
 
 
 
 
 
 
63
  }
64
  }
65
  break;
66
  case 'activate_' . self::$data['slug'] . '/' . self::$data['main_file'] . '.php':
67
  foreach (self::getContainer()->getActions() as $key => $class) {
68
+ try {
69
+ if ( ! class_exists($class)) {
70
+ continue;
71
+ }
72
+ $class = new $class();
73
+
74
+ if ($class instanceof ActivationHook) {
75
+ $class->activate();
76
+ }
77
+ } catch (\Exception $e) {
78
  }
79
  }
80
  break;
81
  case 'deactivate_' . self::$data['slug'] . '/' . self::$data['main_file'] . '.php':
82
  foreach (self::getContainer()->getActions() as $key => $class) {
83
+ try {
84
+ if ( ! class_exists($class)) {
85
+ continue;
86
+ }
87
+ $class = new $class();
88
+ if ($class instanceof DeactivationHook) {
89
+ $class->deactivate();
90
+ }
91
+ } catch (\Exception $e) {
92
  }
93
  }
94
  break;
102
  */
103
  public static function buildContainer() {
104
  self::buildClasses(self::$data['root'] . '/src/Services', 'services', 'Services\\');
105
+ self::buildClasses(self::$data['root'] . '/src/Thirds', 'services', 'Thirds\\');
106
  self::buildClasses(self::$data['root'] . '/src/Actions', 'actions', 'Actions\\');
107
  }
108
 
src/ManualHooks/Thirds/WooCommerce/WooCommerceAnalytics.php ADDED
@@ -0,0 +1,100 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\ManualHooks\Thirds\WooCommerce;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ class WooCommerceAnalytics {
10
+ public function __construct() {
11
+ $this->wooCommerceAnalytics = seopress_get_service('WooCommerceAnalyticsService');
12
+ }
13
+
14
+ /**
15
+ * @since 4.4.0
16
+ *
17
+ * @return void
18
+ */
19
+ public function hooks() {
20
+ if ( ! seopress_get_service('WooCommerceActivate')->isActive()) {
21
+ return;
22
+ }
23
+
24
+ if (seopress_google_analytics_purchases_option()) {
25
+ $this->wooCommerceAnalytics->measurePurchase();
26
+ }
27
+
28
+ if (seopress_google_analytics_add_to_cart_option()) {
29
+ // Listing page
30
+ add_action('woocommerce_after_shop_loop_item', [$this, 'addToCart']);
31
+
32
+ //Single
33
+ add_action('woocommerce_after_add_to_cart_button', [$this, 'singleAddToCart']);
34
+ }
35
+
36
+ if (seopress_google_analytics_remove_from_cart_option()) {
37
+ // Cart page
38
+ add_filter('woocommerce_cart_item_remove_link', [$this, 'removeFromCart'], 10, 2);
39
+ }
40
+
41
+ if (seopress_google_analytics_add_to_cart_option() && seopress_google_analytics_remove_from_cart_option()) {
42
+ // Before update
43
+ add_action('woocommerce_cart_actions', [$this, 'updateCartOrCheckout']);
44
+ }
45
+ }
46
+
47
+ /**
48
+ * @since 4.4.0
49
+ *
50
+ * @return void
51
+ */
52
+ public function addToCart() {
53
+ if (apply_filters('seopress_fallback_woocommerce_analytics', false)) {
54
+ return;
55
+ }
56
+ $this->wooCommerceAnalytics->addToCart();
57
+ }
58
+
59
+ /**
60
+ * @since 4.4.0
61
+ *
62
+ * @return void
63
+ */
64
+ public function singleAddToCart() {
65
+ if (apply_filters('seopress_fallback_woocommerce_analytics', false)) {
66
+ return;
67
+ }
68
+ $this->wooCommerceAnalytics->singleAddToCart();
69
+ }
70
+
71
+ /**
72
+ * @since 4.4.0
73
+ *
74
+ * @param string $sprintf
75
+ * @param string $cartKey
76
+ *
77
+ * @return void
78
+ */
79
+ public function removeFromCart($sprintf, $cartKey) {
80
+ if (apply_filters('seopress_fallback_woocommerce_analytics', false)) {
81
+ return;
82
+ }
83
+ $this->wooCommerceAnalytics->removeFromCart($sprintf, $cartKey);
84
+ }
85
+
86
+ /**
87
+ * @since 4.4.0
88
+ *
89
+ * @param string $sprintf
90
+ * @param string $cartKey
91
+ *
92
+ * @return void
93
+ */
94
+ public function updateCartOrCheckout() {
95
+ if (apply_filters('seopress_fallback_woocommerce_analytics', false)) {
96
+ return;
97
+ }
98
+ $this->wooCommerceAnalytics->updateCartOrCheckout();
99
+ }
100
+ }
src/Models/AbstractCustomTagValue.php ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Models;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ abstract class AbstractCustomTagValue {
10
+ protected function buildRegex($format) {
11
+ return '/^' . $format . '(?<field>(?:.*))/';
12
+ }
13
+ }
src/Models/GetTagValue.php ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Models;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ interface GetTagValue {
10
+ public function getValue($context = null);
11
+ }
src/Services/ContextPage.php ADDED
@@ -0,0 +1,226 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Services;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ class ContextPage {
10
+ protected $context = null;
11
+
12
+ /**
13
+ * @since 4.4.0
14
+ *
15
+ * @param int $id
16
+ * @param array $options
17
+ *
18
+ * @return void
19
+ */
20
+ public function buildContextWithCurrentId($id, $options = []) {
21
+ $homeId = get_option('page_on_front');
22
+
23
+ $this->buildContextDefault();
24
+
25
+ $isPostType = get_post_type($id);
26
+
27
+ if ($isPostType) {
28
+ $this->setPostById((int) $id);
29
+ $this->setIsSingle(true);
30
+ $terms = get_the_terms($id, 'post_tag');
31
+
32
+ if ( ! empty($terms)) {
33
+ $this->setHasTag(true);
34
+ }
35
+
36
+ $categories = get_the_terms($id, 'category');
37
+ if ( ! empty($categories)) {
38
+ $this->setHasCategory(true);
39
+ }
40
+
41
+ $this->setIsPostType($isPostType, true);
42
+ }
43
+
44
+ if ($id === $homeId && null !== $homeId) {
45
+ $this->setIsHome(true);
46
+ }
47
+
48
+ $term = term_exists($id);
49
+ if (null !== $term) {
50
+ $this->setIsCategory(true);
51
+ $this->setTermId($id);
52
+ }
53
+
54
+ return $this;
55
+ }
56
+
57
+ /**
58
+ * @since 4.4.0
59
+ *
60
+ * @return array
61
+ */
62
+ public function buildContextDefault() {
63
+ global $post;
64
+
65
+ $context = [
66
+ 'post' => $post,
67
+ 'term_id' => null,
68
+ 'is_single' => false,
69
+ 'is_home' => false,
70
+ 'is_product' => false,
71
+ 'is_archive' => false,
72
+ 'is_category' => false,
73
+ 'is_author' => false,
74
+ 'is_404' => false,
75
+ 'has_category' => false,
76
+ 'has_tag' => false,
77
+ 'paged' => get_query_var('paged'),
78
+ ];
79
+
80
+ if (is_singular()) {
81
+ $context = array_replace(['is_single' => true], $context);
82
+ }
83
+ if (is_home() || is_front_page()) {
84
+ $context = array_replace(['is_home' => true], $context);
85
+ }
86
+ if (is_post_type_archive()) {
87
+ $context = array_replace(['is_archive' => true], $context);
88
+ }
89
+ if (is_tax() || is_category() || is_tag()) {
90
+ $context = array_replace(['is_category' => true], $context);
91
+ }
92
+ if (is_author()) {
93
+ $context = array_replace(['is_author' => true], $context);
94
+ }
95
+ if (is_404()) {
96
+ $context = array_replace(['is_404' => true], $context);
97
+ }
98
+ if (has_category()) {
99
+ $context = array_replace(['has_category' => true], $context);
100
+ }
101
+ if (has_tag()) {
102
+ $context = array_replace(['has_tag' => true], $context);
103
+ }
104
+
105
+ $this->context = $context;
106
+
107
+ return $this;
108
+ }
109
+
110
+ /**
111
+ * @since 4.4.0
112
+ *
113
+ * @return array
114
+ */
115
+ public function getContext() {
116
+ if ($this->context) {
117
+ return $this->context;
118
+ }
119
+
120
+ $this->buildContextDefault();
121
+
122
+ return $this->context;
123
+ }
124
+
125
+ /**
126
+ * @since 4.4.0
127
+ *
128
+ * @param string $key
129
+ * @param bool $value
130
+ */
131
+ protected function setContextBooleanByKey($key, $value) {
132
+ $this->context[$key] = $value;
133
+
134
+ return $this;
135
+ }
136
+
137
+ /**
138
+ * @since 4.4.0
139
+ *
140
+ * @param string $value
141
+ */
142
+ public function setTermId($value) {
143
+ $this->context['term_id'] = $value;
144
+
145
+ return $this;
146
+ }
147
+
148
+ /**
149
+ * @since 4.4.0
150
+ *
151
+ * @param string $value
152
+ */
153
+ public function setIsSingle($value) {
154
+ $this->setContextBooleanByKey('is_single', $value);
155
+
156
+ return $this;
157
+ }
158
+
159
+ /**
160
+ * @since 4.4.0
161
+ *
162
+ * @param string $value
163
+ */
164
+ public function setHasTag($value) {
165
+ $this->setContextBooleanByKey('has_tag', $value);
166
+
167
+ return $this;
168
+ }
169
+
170
+ /**
171
+ * @since 4.4.0
172
+ *
173
+ * @param string $value
174
+ */
175
+ public function setHasCategory($value) {
176
+ $this->setContextBooleanByKey('has_category', $value);
177
+
178
+ return $this;
179
+ }
180
+
181
+ /**
182
+ * @since 4.4.0
183
+ *
184
+ * @param string $value
185
+ */
186
+ public function setIsHome($value) {
187
+ $this->setContextBooleanByKey('is_home', $value);
188
+
189
+ return $this;
190
+ }
191
+
192
+ /**
193
+ * @since 4.4.0
194
+ *
195
+ * @param string $value
196
+ */
197
+ public function setIsCategory($value) {
198
+ $this->setContextBooleanByKey('is_category', $value);
199
+
200
+ return $this;
201
+ }
202
+
203
+ /**
204
+ * @since 4.4.0
205
+ *
206
+ * @param int $id
207
+ */
208
+ public function setPostById($id) {
209
+ $post = get_post($id);
210
+ $this->context['post'] = $post;
211
+
212
+ return $this;
213
+ }
214
+
215
+ /**
216
+ * @since 4.4.0
217
+ *
218
+ * @param string $postType
219
+ * @param int $value
220
+ */
221
+ public function setIsPostType($postType, $value) {
222
+ $this->setContextBooleanByKey(sprintf('is_%s', $postType), $value);
223
+
224
+ return $this;
225
+ }
226
+ }
src/Services/Options/{Title.php → TitleOption.php} RENAMED
@@ -6,14 +6,24 @@ defined('ABSPATH') or exit('Cheatin&#8217; uh?');
6
 
7
  use SEOPress\Constants\Options;
8
 
9
- class Title {
10
- const NAME_SERVICE = 'TitleOption';
11
-
 
 
 
12
  public function getOption() {
13
  return get_option(Options::KEY_OPTION_TITLE);
14
  }
15
 
16
- protected function searchOptionByKey($key) {
 
 
 
 
 
 
 
17
  $data = $this->getOption();
18
 
19
  if (empty($data)) {
@@ -43,4 +53,31 @@ class Title {
43
 
44
  return $data[$path]['noindex'];
45
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  }
6
 
7
  use SEOPress\Constants\Options;
8
 
9
+ class TitleOption {
10
+ /**
11
+ * @since 4.3.0
12
+ *
13
+ * @return array
14
+ */
15
  public function getOption() {
16
  return get_option(Options::KEY_OPTION_TITLE);
17
  }
18
 
19
+ /**
20
+ * @since 4.3.0
21
+ *
22
+ * @param string $key
23
+ *
24
+ * @return mixed
25
+ */
26
+ public function searchOptionByKey($key) {
27
  $data = $this->getOption();
28
 
29
  if (empty($data)) {
53
 
54
  return $data[$path]['noindex'];
55
  }
56
+
57
+ /**
58
+ * @since 4.4.0
59
+ *
60
+ * @return string
61
+ */
62
+ public function getSeparator() {
63
+ return $this->searchOptionByKey('seopress_titles_sep');
64
+ }
65
+
66
+ /**
67
+ * @since 4.4.0
68
+ *
69
+ * @return string
70
+ */
71
+ public function getHomeSiteTitle() {
72
+ return $this->searchOptionByKey('seopress_titles_home_site_title');
73
+ }
74
+
75
+ /**
76
+ * @since 4.4.0
77
+ *
78
+ * @return string
79
+ */
80
+ public function getHomeDescriptionTitle() {
81
+ return $this->searchOptionByKey('seopress_titles_home_site_desc');
82
+ }
83
  }
src/Services/TagsToString.php ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Services;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Compose\UseTags;
10
+
11
+ class TagsToString {
12
+ use UseTags;
13
+
14
+ const REGEX = "#\%\%(.*?)\%\%#";
15
+
16
+ /**
17
+ * @since 4.4.0
18
+ *
19
+ * @return int
20
+ */
21
+ public function getExcerptLengthForTags() {
22
+ return apply_filters('seopress_excerpt_length', 50);
23
+ }
24
+
25
+ /**
26
+ * @since 4.4.0
27
+ *
28
+ * @param string $string
29
+ *
30
+ * @return array
31
+ */
32
+ public function getTags($string) {
33
+ preg_match_all(self::REGEX, $string, $matches);
34
+
35
+ return $matches;
36
+ }
37
+
38
+ /**
39
+ * @since 4.4.0
40
+ *
41
+ * @param function $tag
42
+ * @param array $context
43
+ *
44
+ * @return void
45
+ */
46
+ public function getValueFromTag($tag, $context= []) {
47
+ // 0 === 'context'
48
+ // 1 === 'tag'
49
+ return call_user_func_array([$this, $tag], [0 => $context, 1 => $tag]);
50
+ }
51
+
52
+ /**
53
+ * @since 4.4.0
54
+ *
55
+ * @param string $string
56
+ * @param mixed $context
57
+ *
58
+ * @return string
59
+ */
60
+ public function replace($string, $context = []) {
61
+ $tags = $this->getTags($string);
62
+
63
+ if ( ! array_key_exists(1, $tags)) {
64
+ return $string;
65
+ }
66
+
67
+ $tagsAvailable = $this->getTagsAvailable();
68
+
69
+ foreach ($tags[1] as $key => $tag) {
70
+ $value = $this->getValueFromTag($tag, $context);
71
+
72
+ $string = str_replace($tags[0][$key], $value, $string);
73
+ }
74
+
75
+ return $string;
76
+ }
77
+ }
src/Services/WordPressData.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Services;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ class WordPressData {
10
+ public function getPostTypes() {
11
+ global $wp_post_types;
12
+
13
+ $args = [
14
+ 'show_ui' => true,
15
+ 'public' => true,
16
+ ];
17
+
18
+ $post_types = get_post_types($args, 'objects', 'and');
19
+ unset(
20
+ $post_types['attachment'],
21
+ $post_types['seopress_rankings'],
22
+ $post_types['seopress_backlinks'],
23
+ $post_types['seopress_404'],
24
+ $post_types['elementor_library'],
25
+ $post_types['customer_discount'],
26
+ $post_types['cuar_private_file'],
27
+ $post_types['cuar_private_page'],
28
+ $post_types['ct_template']
29
+ );
30
+ $post_types = apply_filters('seopress_post_types', $post_types);
31
+
32
+ return $post_types;
33
+ }
34
+ }
src/Tags/ArchiveDate.php DELETED
@@ -1,11 +0,0 @@
1
- <?php
2
-
3
- namespace SEOPress\Tags;
4
-
5
- if ( ! defined('ABSPATH')) {
6
- exit;
7
- }
8
-
9
- class ArchiveDate {
10
- const NAME = 'archive_date';
11
- }
 
 
 
 
 
 
 
 
 
 
 
src/Tags/ArchiveTitle.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class ArchiveTitle implements GetTagValue {
12
+ const NAME = 'archive_title';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = get_the_archive_title();
17
+
18
+ return apply_filters('seopress_get_tag_archive_title_value', $value, $context);
19
+ }
20
+ }
src/Tags/AuthorBio.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class AuthorBio implements GetTagValue {
12
+ const NAME = 'author_bio';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if ($context['is_single'] && isset($context['post']->post_author)) {
23
+ $value = get_the_author_meta('description', $context['post']->post_author);
24
+ }
25
+
26
+ if ($context['is_author'] && is_int(get_queried_object_id())) {
27
+ $user_info = get_userdata(get_queried_object_id());
28
+
29
+ if (isset($user_info)) {
30
+ $value = $user_info->description;
31
+ }
32
+ }
33
+
34
+ $value = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes($value)))));
35
+
36
+ return apply_filters('seopress_get_tag_author_bio_value', $value, $context);
37
+ }
38
+ }
src/Tags/CategoryDescription.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CategoryDescription implements GetTagValue {
12
+ const NAME = '_category_description';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+
17
+ if (null !== $context['term_id']) {
18
+ $value = get_term_field('description', $context['term_id']);
19
+ if (is_wp_error($value)) {
20
+ $value = '';
21
+ }
22
+ } else {
23
+ $value = category_description();
24
+ }
25
+
26
+ $value = wp_trim_words(
27
+ stripslashes_deep(
28
+ wp_filter_nohtml_kses($value)
29
+ ), seopress_get_service('TagsToString')->getExcerptLengthForTags()
30
+ );
31
+
32
+ return apply_filters('seopress_get_tag_category_description_value', $value, $context);
33
+ }
34
+ }
src/Tags/CategoryTitle.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CategoryTitle implements GetTagValue {
12
+ const NAME = '_category_title';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if (null !== $context['term_id']) {
19
+ $value = get_term_field('name', $context['term_id']);
20
+ if (is_wp_error($value)) {
21
+ $value = '';
22
+ }
23
+ } else {
24
+ $value = single_cat_title('', false);
25
+ }
26
+
27
+ return apply_filters('seopress_get_tag_category_title_value', $value, $context);
28
+ }
29
+ }
src/Tags/CurrentPagination.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentPagination implements GetTagValue {
12
+ const NAME = 'current_pagination';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if ($context['paged'] > '1') {
23
+ $value = $context['paged'];
24
+ }
25
+
26
+ /**
27
+ * @deprecated 4.4.0
28
+ * Please use seopress_get_tag_current_pagination_value
29
+ */
30
+ $value = apply_filters('seopress_paged', $value);
31
+
32
+ return apply_filters('seopress_get_tag_current_pagination_value', $value, $context);
33
+ }
34
+ }
src/Tags/Custom/CustomPostMeta.php ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Custom;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\AbstractCustomTagValue;
10
+ use SEOPress\Models\GetTagValue;
11
+
12
+ class CustomPostMeta extends AbstractCustomTagValue implements GetTagValue {
13
+ const CUSTOM_FORMAT = '_cf_';
14
+
15
+ public function getValue($args = null) {
16
+ $context = isset($args[0]) ? $args[0] : null;
17
+ $tag = isset($args[1]) ? $args[1] : null;
18
+ $value = '';
19
+ if (null === $tag || ! $context) {
20
+ return $value;
21
+ }
22
+
23
+ if ( ! $context['post']) {
24
+ return $value;
25
+ }
26
+ $regex = $this->buildRegex(self::CUSTOM_FORMAT);
27
+
28
+ preg_match($regex, $tag, $matches);
29
+
30
+ if (empty($matches) || ! array_key_exists('field', $matches)) {
31
+ return $value;
32
+ }
33
+
34
+ $field = $matches['field'];
35
+
36
+ $value = esc_attr(get_post_meta($context['post']->ID, $field, true));
37
+
38
+ return apply_filters('seopress_get_tag_' . $tag . '_value', $value, $context);
39
+ }
40
+ }
src/Tags/Custom/CustomTerm.php ADDED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Custom;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\AbstractCustomTagValue;
10
+ use SEOPress\Models\GetTagValue;
11
+
12
+ class CustomTerm extends AbstractCustomTagValue implements GetTagValue {
13
+ const CUSTOM_FORMAT = '_ct_';
14
+
15
+ public function getValue($args = null) {
16
+ $context = isset($args[0]) ? $args[0] : null;
17
+ $tag = isset($args[1]) ? $args[1] : null;
18
+ $value = '';
19
+ if (null === $tag || ! $context) {
20
+ return $value;
21
+ }
22
+
23
+ if ( ! $context['post']) {
24
+ return $value;
25
+ }
26
+
27
+ $regex = $this->buildRegex(self::CUSTOM_FORMAT);
28
+
29
+ preg_match($regex, $tag, $matches);
30
+
31
+ if (empty($matches) || ! array_key_exists('field', $matches)) {
32
+ return $value;
33
+ }
34
+
35
+ $field = $matches['field'];
36
+
37
+ $terms = wp_get_post_terms($context['post']->ID, $field);
38
+ if (is_wp_error($terms)) {
39
+ return $value;
40
+ }
41
+ $value = esc_attr($terms[0]->name);
42
+ /**
43
+ * @deprecated 4.4.0
44
+ * Use seopress_get_tag' . $tag . '_value
45
+ */
46
+ $value = apply_filters('seopress_titles_custom_tax', $value, $field);
47
+
48
+ return apply_filters('seopress_get_tag' . $tag . '_value', $value, $context);
49
+ }
50
+ }
src/Tags/CustomPostTypePlural.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CustomPostTypePlural implements GetTagValue {
12
+ const NAME = 'cpt_plural';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = post_type_archive_title('', false);
17
+
18
+ return apply_filters('seopress_get_tag_cpt_plural_value', $value, $context);
19
+ }
20
+ }
src/Tags/Date/ArchiveDate.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class ArchiveDate implements GetTagValue {
12
+ const NAME = 'archive_date';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = sprintf('%s - %s', get_query_var('monthnum'), get_query_var('year'));
17
+
18
+ return apply_filters('seopress_get_tag_archive_date_value', $value, $context);
19
+ }
20
+ }
src/Tags/Date/ArchiveDateDay.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class ArchiveDateDay implements GetTagValue {
12
+ const NAME = 'archive_date_day';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = get_query_var('day');
17
+
18
+ return apply_filters('seopress_get_tag_archive_date_day_value', $value, $context);
19
+ }
20
+ }
src/Tags/Date/ArchiveDateMonth.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class ArchiveDateMonth implements GetTagValue {
12
+ const NAME = 'archive_date_month';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = get_query_var('monthnum');
17
+
18
+ return apply_filters('seopress_get_tag_archive_date_month_value', $value, $context);
19
+ }
20
+ }
src/Tags/Date/ArchiveDateYear.php ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class ArchiveDateYear implements GetTagValue {
12
+ const NAME = 'archive_date_year';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = get_query_var('year');
17
+
18
+ return apply_filters('seopress_get_tag_archive_date_year_value', $value, $context);
19
+ }
20
+ }
src/Tags/Date/CurrentDate.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentDate implements GetTagValue {
12
+ const NAME = 'currentdate';
13
+
14
+ public function getValue($args = null) {
15
+ return date_i18n(get_option('date_format'));
16
+ }
17
+ }
src/Tags/Date/CurrentDay.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentDay implements GetTagValue {
12
+ const NAME = 'currentday';
13
+
14
+ public function getValue($args = null) {
15
+ return date_i18n('j');
16
+ }
17
+ }
src/Tags/Date/CurrentMonth.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentMonth implements GetTagValue {
12
+ const NAME = 'currentmonth';
13
+
14
+ public function getValue($args = null) {
15
+ return date_i18n('n');
16
+ }
17
+ }
src/Tags/Date/CurrentMonthNum.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentMonthNum implements GetTagValue {
12
+ const NAME = 'currentmonth_num';
13
+
14
+ public function getValue($args = null) {
15
+ return date_i18n('F');
16
+ }
17
+ }
src/Tags/Date/CurrentShortMonth.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentShortMonth implements GetTagValue {
12
+ const NAME = 'currentmonth_short';
13
+
14
+ public function getValue($args = null) {
15
+ return date_i18n('M');
16
+ }
17
+ }
src/Tags/Date/CurrentTime.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentTime implements GetTagValue {
12
+ const NAME = 'currenttime';
13
+
14
+ public function getValue($args = null) {
15
+ return current_time(get_option('time_format'));
16
+ }
17
+ }
src/Tags/Date/CurrentYear.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class CurrentYear implements GetTagValue {
12
+ const NAME = 'currentyear';
13
+
14
+ public function getValue($args = null) {
15
+ return date('Y');
16
+ }
17
+ }
src/Tags/Date/PostDate.php ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostDate implements GetTagValue {
12
+ const NAME = 'post_date';
13
+
14
+ const ALIAS = ['date'];
15
+
16
+ public function getValue($args = null) {
17
+ $context = isset($args[0]) ? $args[0] : null;
18
+ $value = '';
19
+
20
+ if (isset($context['post'])) {
21
+ $value = get_the_date(get_option('date_format'), $context['post']->ID);
22
+ }
23
+
24
+ return apply_filters('seopress_get_tag_post_date_value', $value, $context);
25
+ }
26
+ }
src/Tags/Date/PostModifiedDate.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\Date;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostModifiedDate implements GetTagValue {
12
+ const NAME = 'post_modified_date';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if (isset($context['post'])) {
19
+ $value = get_the_modified_date(get_option('date_format'), $context['post']->ID);
20
+ }
21
+
22
+ return apply_filters('seopress_get_tag_post_modified_date_value', $value, $context);
23
+ }
24
+ }
src/Tags/Page.php ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class Page implements GetTagValue {
12
+ const NAME = 'page';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ global $wp_query;
17
+
18
+ $value = '';
19
+
20
+ if ( ! $context) {
21
+ return $value;
22
+ }
23
+
24
+ if (isset($wp_query->max_num_pages)) {
25
+ if ($context['paged'] > 1) {
26
+ $currentPage = get_query_var('paged');
27
+ } else {
28
+ $currentPage = 1;
29
+ }
30
+
31
+ $value = sprintf(__('Page %d of %2$d', 'wp-seopress'), $currentPage, $wp_query->max_num_pages);
32
+ /**
33
+ * @deprecated 4.4.0
34
+ * Please use seopress_context_paged
35
+ */
36
+ $value = apply_filters('seopress_context_paged', $value);
37
+ }
38
+
39
+ return apply_filters('seopress_get_tag_page_value', $value, $context);
40
+ }
41
+ }
src/Tags/PostAuthor.php CHANGED
@@ -6,6 +6,31 @@ if ( ! defined('ABSPATH')) {
6
  exit;
7
  }
8
 
9
- class PostAuthor {
 
 
10
  const NAME = 'post_author';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }
6
  exit;
7
  }
8
 
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostAuthor implements GetTagValue {
12
  const NAME = 'post_author';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if ($context['is_single'] && isset($context['post']) && isset($context['post']->post_author)) {
23
+ $value = esc_attr(get_the_author_meta('display_name', $context['post']->post_author));
24
+ }
25
+
26
+ if ($context['is_author'] && is_int(get_queried_object_id())) {
27
+ $user_info = get_userdata(get_queried_object_id());
28
+
29
+ if (isset($user_info)) {
30
+ $value = esc_attr($user_info->display_name);
31
+ }
32
+ }
33
+
34
+ return apply_filters('seopress_get_tag_post_author_value', $value, $context);
35
+ }
36
  }
src/Tags/PostCategory.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostCategory implements GetTagValue {
12
+ const NAME = 'post_category';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if ($context['is_single'] && $context['has_category'] && isset($context['post']->ID)) {
23
+ $terms = get_the_terms($context['post']->ID, 'category');
24
+ $value = $terms[0]->name;
25
+ /**
26
+ * @deprecated 4.4.0
27
+ * Please use seopress_get_tag_post_category_value
28
+ */
29
+ $value = apply_filters('seopress_titles_cat', $value);
30
+ }
31
+
32
+ return apply_filters('seopress_get_tag_post_category_value', $value, $context);
33
+ }
34
+ }
src/Tags/PostContent.php ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostContent implements GetTagValue {
12
+ const NAME = 'post_content';
13
+
14
+ /**
15
+ * 4.4.0.
16
+ *
17
+ * @param array $args
18
+ *
19
+ * @return string
20
+ */
21
+ public function getValue($args = null) {
22
+ $context = isset($args[0]) ? $args[0] : null;
23
+ $value = '';
24
+
25
+ if ( ! $context) {
26
+ return $value;
27
+ }
28
+
29
+ if ( ! $context['is_404'] && ! empty($context['post'])) {
30
+ if (has_excerpt($context['post']->ID)) {
31
+ $value = get_post_field('post_content', $context['post']->ID);
32
+ }
33
+ }
34
+
35
+ if ( ! empty($context['post'])) {
36
+ $value = get_post_field('post_content', $context['post']->ID);
37
+ }
38
+
39
+ $value = wp_trim_words(
40
+ esc_attr(
41
+ stripslashes_deep(
42
+ wp_filter_nohtml_kses(
43
+ wp_strip_all_tags(
44
+ strip_shortcodes($value)
45
+ )
46
+ )
47
+ )
48
+ ), seopress_get_service('TagsToString')->getExcerptLengthForTags()
49
+ );
50
+
51
+ return apply_filters('seopress_get_tag_post_content_value', $value, $context);
52
+ }
53
+ }
src/Tags/PostExcerpt.php ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostExcerpt implements GetTagValue {
12
+ const NAME = 'post_excerpt';
13
+
14
+ const ALIAS = ['wc_single_short_desc'];
15
+
16
+ public function getValue($args = null) {
17
+ $context = isset($args[0]) ? $args[0] : null;
18
+ $value = '';
19
+
20
+ if ( ! $context) {
21
+ return $value;
22
+ }
23
+
24
+ if ( ! $context['is_404'] && ! empty($context['post'])) {
25
+ if (has_excerpt($context['post']->ID)) {
26
+ $value = get_the_excerpt();
27
+ }
28
+ }
29
+
30
+ if (empty($value) && $context['post']) {
31
+ $content = get_post_field('post_content', $context['post']->ID, true);
32
+ if ( ! empty($content)) {
33
+ $value = $content;
34
+ }
35
+ }
36
+
37
+ $value = wp_trim_words(
38
+ esc_attr(
39
+ stripslashes_deep(
40
+ wp_filter_nohtml_kses(
41
+ wp_strip_all_tags(
42
+ strip_shortcodes($value),
43
+ true
44
+ )
45
+ )
46
+ )
47
+ ), seopress_get_service('TagsToString')->getExcerptLengthForTags()
48
+ );
49
+
50
+ return apply_filters('seopress_get_tag_post_excerpt_value', $value, $context);
51
+ }
52
+ }
src/Tags/PostTag.php ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostTag implements GetTagValue {
12
+ const NAME = 'post_tag';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if ($context['is_single'] && $context['has_tag'] && isset($context['post']->ID)) {
23
+ $terms = get_the_terms($context['post']->ID, 'post_tag');
24
+ $value = $terms[0]->name;
25
+ /**
26
+ * @deprecated 4.4.0
27
+ * Please use seopress_get_tag_post_tag_value
28
+ */
29
+ $value = apply_filters('seopress_titles_tag', $value);
30
+ }
31
+
32
+ return apply_filters('seopress_get_tag_post_tag_value', $value, $context);
33
+ }
34
+ }
src/Tags/PostThumbnailUrl.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostThumbnailUrl implements GetTagValue {
12
+ const NAME = 'post_thumbnail_url';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if ($context['is_single'] && ! empty($context['post'])) {
23
+ $value = get_the_post_thumbnail_url($context['post'], 'full');
24
+ /**
25
+ * @deprecated 4.4.0
26
+ * Please use seopress_get_tag_post_thumbnail_url_value
27
+ */
28
+ $value = apply_filters('seopress_titles_post_thumbnail_url', $value);
29
+ }
30
+
31
+ return apply_filters('seopress_get_tag_post_thumbnail_url_value', $value, $context);
32
+ }
33
+ }
src/Tags/PostTitle.php CHANGED
@@ -6,6 +6,25 @@ if ( ! defined('ABSPATH')) {
6
  exit;
7
  }
8
 
9
- class PostTitle {
 
 
10
  const NAME = 'post_title';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }
6
  exit;
7
  }
8
 
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostTitle implements GetTagValue {
12
  const NAME = 'post_title';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if ( ! $context) {
19
+ return $value;
20
+ }
21
+
22
+ if (
23
+ ($context['is_home'] || $context['is_single'])
24
+ && isset($context['post']) && $context['post']) {
25
+ $value = esc_attr(strip_tags(get_post_field('post_title', $context['post']->ID)));
26
+ }
27
+
28
+ return apply_filters('seopress_get_tag_post_title_value', $value, $context);
29
+ }
30
  }
src/Tags/PostUrl.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class PostUrl implements GetTagValue {
12
+ const NAME = 'post_url';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+ if ( ! $context) {
18
+ return $value;
19
+ }
20
+
21
+ if ($context['is_single'] && ! empty($context['post'])) {
22
+ $value = esc_url(get_permalink($context['post']));
23
+ /**
24
+ * @deprecated 4.4.0
25
+ * Please use seopress_get_tag_post_url_value
26
+ */
27
+ $value = apply_filters('seopress_titles_post_url', $value);
28
+ }
29
+
30
+ return apply_filters('seopress_get_tag_post_url_value', $value, $context);
31
+ }
32
+ }
src/Tags/SearchKeywords.php ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class SearchKeywords implements GetTagValue {
12
+ const NAME = 'search_keywords';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = get_search_query();
17
+
18
+ if ( ! empty($value)) {
19
+ $value = esc_attr('"' . $value . '"');
20
+ } else {
21
+ $value = esc_attr('" "');
22
+ }
23
+
24
+ /**
25
+ * @deprecated 4.4.0
26
+ * Please use seopress_get_tag_search_keywords_value
27
+ */
28
+ $value = apply_filters('seopress_get_search_query', $value);
29
+
30
+ return apply_filters('seopress_get_tag_search_keywords_value', $value, $context);
31
+ }
32
+ }
src/Tags/Separator.php CHANGED
@@ -6,6 +6,21 @@ if ( ! defined('ABSPATH')) {
6
  exit;
7
  }
8
 
9
- class Separator {
 
 
10
  const NAME = 'sep';
 
 
 
 
 
 
 
 
 
 
 
 
 
11
  }
6
  exit;
7
  }
8
 
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class Separator implements GetTagValue {
12
  const NAME = 'sep';
13
+
14
+ const DEFAULT_SEPARATOR = '-';
15
+
16
+ public function getValue($args = null) {
17
+ $context = isset($args[0]) ? $args[0] : null;
18
+
19
+ $separator = seopress_get_service('TitleOption')->getSeparator();
20
+ if (empty($separator)) {
21
+ $separator = self::DEFAULT_SEPARATOR;
22
+ }
23
+
24
+ return apply_filters('seopress_get_tag_separator_value', $separator, $context);
25
+ }
26
  }
src/Tags/SiteTagline.php ADDED
@@ -0,0 +1,19 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class SiteTagline implements GetTagValue {
12
+ const NAME = 'tagline';
13
+
14
+ const ALIAS = ['sitedesc'];
15
+
16
+ public function getValue($args = null) {
17
+ return get_bloginfo('description');
18
+ }
19
+ }
src/Tags/SiteTitle.php CHANGED
@@ -6,6 +6,14 @@ if ( ! defined('ABSPATH')) {
6
  exit;
7
  }
8
 
9
- class SiteTitle {
 
 
10
  const NAME = 'sitetitle';
 
 
 
 
 
 
11
  }
6
  exit;
7
  }
8
 
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class SiteTitle implements GetTagValue {
12
  const NAME = 'sitetitle';
13
+
14
+ const ALIAS = ['sitename'];
15
+
16
+ public function getValue($args = null) {
17
+ return get_bloginfo('name');
18
+ }
19
  }
src/Tags/TagDescription.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class TagDescription implements GetTagValue {
12
+ const NAME = 'tag_description';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+
17
+ $value = '';
18
+
19
+ if (null !== $context['term_id']) {
20
+ $value = get_term_field('name', $context['term_id']);
21
+ if (is_wp_error($value)) {
22
+ $value = '';
23
+ }
24
+ } else {
25
+ $value = tag_description();
26
+ }
27
+
28
+ $value = wp_trim_words(
29
+ stripslashes_deep(
30
+ wp_filter_nohtml_kses($value)
31
+ ), seopress_get_service('TagsToString')->getExcerptLengthForTags()
32
+ );
33
+
34
+ return apply_filters('seopress_get_tag_tag_description_value', $value, $context);
35
+ }
36
+ }
src/Tags/TagTitle.php ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class TagTitle implements GetTagValue {
12
+ const NAME = 'tag_title';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+
17
+ $value = '';
18
+
19
+ if (null !== $context['term_id']) {
20
+ $value = get_term_field('name', $context['term_id']);
21
+ if (is_wp_error($value)) {
22
+ $value = '';
23
+ }
24
+ } else {
25
+ $value = single_tag_title('', false);
26
+ }
27
+
28
+ return apply_filters('seopress_get_tag_tag_title_value', $value, $context);
29
+ }
30
+ }
src/Tags/Tagline.php DELETED
@@ -1,11 +0,0 @@
1
- <?php
2
-
3
- namespace SEOPress\Tags;
4
-
5
- if ( ! defined('ABSPATH')) {
6
- exit;
7
- }
8
-
9
- class Tagline {
10
- const NAME = 'tagline';
11
- }
 
 
 
 
 
 
 
 
 
 
 
src/Tags/TargetKeyword.php ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class TargetKeyword implements GetTagValue {
12
+ const NAME = 'target_keyword';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+
17
+ $value = '';
18
+ if (isset($context['post']->ID)) {
19
+ $value = get_post_meta($context['post']->ID, '_seopress_analysis_target_kw', true);
20
+ }
21
+
22
+ return apply_filters('seopress_get_tag_target_keyword_value', $value, $context);
23
+ }
24
+ }
src/Tags/TermDescription.php ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class TermDescription implements GetTagValue {
12
+ const NAME = 'term_description';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+
17
+ $value = '';
18
+
19
+ if (null !== $context['term_id']) {
20
+ $value = get_term_field('name', $context['term_id']);
21
+ if (is_wp_error($value)) {
22
+ $value = '';
23
+ }
24
+ } else {
25
+ $value = term_description();
26
+ }
27
+
28
+ $value = wp_trim_words(
29
+ stripslashes_deep(
30
+ wp_filter_nohtml_kses($value)
31
+ ), seopress_get_service('TagsToString')->getExcerptLengthForTags()
32
+ );
33
+
34
+ return apply_filters('seopress_get_tag_term_description_value', $value, $context);
35
+ }
36
+ }
src/Tags/TermTitle.php ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class TermTitle implements GetTagValue {
12
+ const NAME = 'term_title';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+ $value = '';
17
+
18
+ if (null !== $context['term_id']) {
19
+ $value = get_term_field('name', $context['term_id']);
20
+ if (is_wp_error($value)) {
21
+ $value = '';
22
+ }
23
+ } else {
24
+ $value = single_term_title('', false);
25
+ }
26
+
27
+ return apply_filters('seopress_get_tag_term_title_value', $value, $context);
28
+ }
29
+ }
src/Tags/WooCommerce/SingleCategory.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ namespace SEOPress\Tags\WooCommerce;
4
+
5
+ if ( ! defined('ABSPATH')) {
6
+ exit;
7
+ }
8
+
9
+ use SEOPress\Models\GetTagValue;
10
+
11
+ class SingleCategory implements GetTagValue {
12
+ const NAME = 'wc_single_cat';
13
+
14
+ public function getValue($args = null) {
15
+ $context = isset($args[0]) ? $args[0] : null;
16
+
17
+ $value = '';
18
+
19
+ if ( ! seopress_get_service('WooCommerceActivate')->isActive()) {
20
+ return $value;
21
+ }
22
+
23
+ if ( ! $context) {
24
+ return $value;
25
+ }
26
+
27
+ if (is_singular(['product']) || $context['is_product']) {
28
+ $terms = get_the_terms($context['post']->ID, 'product_cat');
29
+
30
+ if ($terms && ! is_wp_error($terms)) {
31
+ $wooSingleCat = [];
32
+ foreach ($terms as $term) {
33
+ $wooSingleCat[$term->term_id] = $term->name;
34
+ }
35
+