SEOPress - Version 3.7.7

Version Description

  • NEW WordPress 4.7 is now the minimum required to use SEOPress (WP 5.3 is recommended)
  • NEW Add %%page%% dynamic variable, current page number with context (eg: "Page 1 of 4")
  • NEW Add "Remove hentry post class" option (SEO > Advanced > Advanced tab) to prevent Google from seeing this as a schema
  • NEW Add "Remove author website in comments" option (SEO > Advanced > Advanced tab)
  • NEW Add "Remove website field in comments" option (SEO > Advanced > Advanced tab)
  • NEW Add "Clean manually all your 404 errors" feature (SEO > Tools > Redirections > Clean your 404 errors)
  • NEW article:tag meta property on singular post for Open Graph protocol
  • NEW article:section meta property on singular post for Open Graph protocol
  • NEW Add a notification to alert admin if PHP module DOM is missing from SEO notifications center
  • NEW Add "Remove default breadcrumbs JSON-LD structured data (WooCommerce 3+)" option (SEO > PRO > WooCommerce)
  • NEW Add 'seopress_context_paged' hook to filter %%page%% dynamic variable (https://www.seopress.org/support/hooks/filter-page-dynamic-variable/)
  • NEW 'seopress_social_og_tag' hook to filter article:tag metas (https://www.seopress.org/support/hooks/filter-article-tag-meta/)
  • NEW 'seopress_social_og_section' hook to filter article:section meta (https://www.seopress.org/support/hooks/filter-article-section-meta-tag/)
  • NEW 'seopress_titles_template_variables' hook to filter dynamic variables in meta title / desc... (https://www.seopress.org/support/hooks/filter-dynamic-variables-array/)
  • NEW 'seopress_sitemaps_html_post_date' hook to filter date in HTML sitemap (https://www.seopress.org/support/hooks/filter-to-enable-disable-post-date-by-post-type-in-html-sitemap/)
  • NEW Content analysis: check if one your target keyword is in your slug
  • INFO add new characters to content analysis to avoid "NAN" error
  • INFO Update Admin Columns PRO compatibility (thanks to Stefan)
  • INFO The notification about the license activation is now only show for users with "manage_options" capability
  • INFO Improve code design
  • INFO Add and characters to pixels counter
  • INFO Improve plugin updater to avoid 403 error on license activation
  • FIX Warning count() error if no main menu selected from "Add SiteNavigationElement schema" feature
  • FIX Replace category_link (deprecated) by term_link
  • FIX a notice on 404 page in specific case
  • FIX Incorrect message about PRO version in Configuration wizard (thanks to @Noomia)
  • FIX Bulk edit for post types generated by Toolset plugin
  • FIX Undefined variable in plugin-licence.php file
  • FIX Change CSV separator for Export metadata tool (',' to ';')
Download this release

Release Info

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

Code changes from version 3.7.6 to 3.7.7

assets/js/seopress-counters.js CHANGED
@@ -156,8 +156,8 @@ function sp_meta_desc_counters() {
156
  }
157
 
158
  function pixelTitle(e) {
159
- for (var s = [5, 6, 6, 18, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 10, 10, 10, 5, 5, 6, 10, 10, 16, 12, 3, 6, 6, 7, 11, 5, 6, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 5, 11, 11, 11, 10, 18, 12, 12, 13, 13, 12, 11, 14, 13, 5, 9, 12, 10, 15, 13, 14, 12, 14, 13, 12, 11, 13, 12, 17, 12, 12, 11, 5, 5, 5, 8, 10, 6, 10, 10, 9, 10, 10, 10, 5, 10, 10, 4, 4, 9, 4, 15, 10, 10, 10, 10, 6, 9, 9, 5, 10, 9, 13, 9, 9, 9, 6, 5, 6, 11, 10, 0, 0, 4, 4, 10, 10], t = 0, l = 0; l < e.length; l++)
160
- t += s[" ·˙・«»äàô€ÀÈÊÉéèê !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcçdefghijklmnopqrstuüvwxyz{|}~–\n\r‘’£…".indexOf(e.substring(l, l + 1))];
161
  return t
162
  }
163
  jQuery(document).ready(function(e) {
156
  }
157
 
158
  function pixelTitle(e) {
159
+ for (var s = [5, 6, 6, 18, 9, 9, 10, 10, 10, 10, 10, 10, 10, 12, 12, 12, 12, 10, 10, 10, 5, 5, 6, 10, 10, 16, 12, 3, 6, 6, 7, 11, 5, 6, 5, 5, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 5, 11, 11, 11, 10, 18, 12, 12, 13, 13, 12, 11, 14, 13, 5, 9, 12, 10, 15, 13, 14, 12, 14, 13, 12, 11, 13, 12, 17, 12, 12, 11, 5, 5, 5, 8, 10, 6, 10, 10, 9, 10, 10, 10, 5, 10, 10, 4, 4, 9, 4, 15, 10, 10, 10, 10, 6, 9, 9, 5, 10, 9, 13, 9, 9, 9, 6, 5, 6, 11, 10, 0, 0, 4, 4, 10, 10], t = 0, l = 0; l < e.length; l++)
160
+ t += s[" ·˙・“”«»äåàô€ÀÈÊÉéèê !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcçdefghijklmnopqrstuüvwxyz{|}~–\n\r‘’£…".indexOf(e.substring(l, l + 1))];
161
  return t
162
  }
163
  jQuery(document).ready(function(e) {
assets/js/seopress-counters.min.js CHANGED
@@ -1 +1 @@
1
- function sp_titles_counters(){var e=jQuery("#seopress_titles_title_meta").val(),s=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),e.length>0?(jQuery("#seopress_titles_title_counters").text(e.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(e))):s.length&&(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))),e.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(e)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),e.length)var t=Math.round(pixelTitle(e)/568*100);else t=Math.round(pixelTitle(s)/568*100);t>=100&&(t=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_title_counters_progress").text(t+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_title_meta").val(),t=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==s.length&&(t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):t.length&&(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))),s.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==s.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),s.length)var r=Math.round(pixelTitle(s)/568*100);else r=Math.round(pixelTitle(t)/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(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(e))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(s))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelTitle(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var t=Math.round(pixelTitle(e)/940*100);else t=Math.round(pixelTitle(s)/940*100);t>=100&&(t=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_desc_counters_progress").text(t+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==s.length&&(t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(s))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(t))),s.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==s.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),s.length)var r=Math.round(pixelTitle(s)/940*100);else r=Math.round(pixelTitle(t)/940*100);r>=100&&(r=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_desc_counters_progress").text(r+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",r+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==s.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),s.length)var r=s.length;else r=t.length;r>=100&&(r=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_desc_counters_progress").text(r+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",r+"%")})}function pixelTitle(e){for(var s=[5,6,6,18,10,10,10,10,10,10,12,12,12,12,10,10,10,5,5,6,10,10,16,12,3,6,6,7,11,5,6,5,5,10,10,10,10,10,10,10,10,10,10,5,5,11,11,11,10,18,12,12,13,13,12,11,14,13,5,9,12,10,15,13,14,12,14,13,12,11,13,12,17,12,12,11,5,5,5,8,10,6,10,10,9,10,10,10,5,10,10,4,4,9,4,15,10,10,10,10,6,9,9,5,10,9,13,9,9,9,6,5,6,11,10,0,0,4,4,10,10],t=0,r=0;r<e.length;r++)t+=s[" ·˙・«»äàô€ÀÈÊÉéèê !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcçdefghijklmnopqrstuüvwxyz{|}~–\n\r‘’£…".indexOf(e.substring(r,r+1))];return t}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},success:function(s){Object.keys(s.data).forEach(e=>{let t=document.createElement("textarea");t.innerHTML=s.data[e],s.data[e]=t.textContent}),e("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),e("#seopress_titles_title_meta").attr("placeholder",s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.data.og_title),e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.data.og_desc),e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.data.og_img),e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.data.tw_title),e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.data.tw_desc),e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.data.tw_img),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),e("#seopress_analysis_results_state").fadeIn().css("display","inline-block"),e("#seopress_analysis_results_state").delay(3500).fadeOut(),e("#seopress-analysis-tabs-1").load(" #seopress-analysis-tabs-1"),e("#seopress-analysis-tabs-2").load(" #seopress-analysis-tabs-2"),e("#seopress-analysis-tabs-3").load(" #seopress-analysis-tabs-3"),e("#seopress-analysis-tabs-4").load(" #seopress-analysis-tabs-4"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters()}})}e("#seopress-analysis-tabs .hidden").removeClass("hidden"),e("#seopress-analysis-tabs").tabs(),s(),e("#seopress_launch_analysis").on("click",function(){s()})});
1
+ function sp_titles_counters(){var e=jQuery("#seopress_titles_title_meta").val(),s=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").after('<div id="seopress_titles_title_counters_val">/ 60</div>'),e.length>0?(jQuery("#seopress_titles_title_counters").text(e.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(e))):s.length&&(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))),e.length>60?jQuery("#seopress_titles_title_counters").css("color","red"):s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(e)>568?jQuery("#seopress_titles_title_pixel").css("color","red"):pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),e.length)var t=Math.round(pixelTitle(e)/568*100);else t=Math.round(pixelTitle(s)/568*100);t>=100&&(t=100),jQuery("#seopress_titles_title_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_title_counters_progress").text(t+"%"),jQuery("#seopress_titles_title_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_title_meta, #seopress-tag-single-title, #seopress-tag-single-site-title, #seopress-tag-single-sep").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_title_meta").val(),t=jQuery("#seopress_titles_title_meta").attr("placeholder");if(jQuery("#seopress_titles_title_counters").css("color","inherit"),jQuery("#seopress_titles_title_pixel").css("color","inherit"),s.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(s)>568&&jQuery("#seopress_titles_title_pixel").css("color","red"),0==s.length&&(t.length>60&&jQuery("#seopress_titles_title_counters").css("color","red"),pixelTitle(t)>568&&jQuery("#seopress_titles_title_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_title_counters").text(s.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(s))):t.length&&(jQuery("#seopress_titles_title_counters").text(t.length),jQuery("#seopress_titles_title_pixel").text(pixelTitle(t))),s.length>0?(jQuery(".snippet-title-custom").text(e.target.value),jQuery(".snippet-title").css("display","none"),jQuery(".snippet-title-custom").css("display","block"),jQuery(".snippet-title-default").css("display","none")):0==s.length&&(jQuery(".snippet-title-default").css("display","block"),jQuery(".snippet-title-custom").css("display","none"),jQuery(".snippet-title").css("display","none")),s.length)var r=Math.round(pixelTitle(s)/568*100);else r=Math.round(pixelTitle(t)/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(),s=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").after('<div id="seopress_titles_desc_counters_val">/ 160</div>'),e.length>0?(jQuery("#seopress_titles_desc_counters").text(e.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(e))):s.length&&(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(s))),e.length>160?jQuery("#seopress_titles_desc_counters").css("color","red"):s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(e)>940?jQuery("#seopress_titles_desc_pixel").css("color","red"):pixelTitle(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),e.length)var t=Math.round(pixelTitle(e)/940*100);else t=Math.round(pixelTitle(s)/940*100);t>=100&&(t=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",t),jQuery("#seopress_titles_desc_counters_progress").text(t+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",t+"%"),jQuery("#seopress_titles_desc_meta, #seopress-tag-single-excerpt").on("keyup paste change click",function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(jQuery("#seopress_titles_desc_counters").css("color","inherit"),jQuery("#seopress_titles_desc_pixel").css("color","inherit"),s.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(s)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red"),0==s.length&&(t.length>160&&jQuery("#seopress_titles_desc_counters").css("color","red"),pixelTitle(t)>940&&jQuery("#seopress_titles_desc_pixel").css("color","red")),s.length>0?(jQuery("#seopress_titles_desc_counters").text(s.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(s))):t.length&&(jQuery("#seopress_titles_desc_counters").text(t.length),jQuery("#seopress_titles_desc_pixel").text(pixelTitle(t))),s.length>0?(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")):0==s.length&&(jQuery(".snippet-description-default").css("display","inline"),jQuery(".snippet-description-custom").css("display","none"),jQuery(".snippet-description").css("display","none")),s.length)var r=Math.round(pixelTitle(s)/940*100);else r=Math.round(pixelTitle(t)/940*100);r>=100&&(r=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_desc_counters_progress").text(r+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",r+"%")}),jQuery("#excerpt, .editor-post-excerpt textarea").keyup(function(e){var s=jQuery("#seopress_titles_desc_meta").val(),t=jQuery("#seopress_titles_desc_meta").attr("placeholder");if(0==s.length&&0==jQuery(".snippet-description-custom").val().length&&(jQuery(".snippet-description-custom").text(e.target.value),jQuery(".snippet-description").css("display","none"),jQuery(".snippet-description-custom").css("display","inline"),jQuery(".snippet-description-default").css("display","none")),s.length)var r=s.length;else r=t.length;r>=100&&(r=100),jQuery("#seopress_titles_desc_counters_progress").attr("aria-valuenow",r),jQuery("#seopress_titles_desc_counters_progress").text(r+"%"),jQuery("#seopress_titles_desc_counters_progress").css("width",r+"%")})}function pixelTitle(e){for(var s=[5,6,6,18,9,9,10,10,10,10,10,10,10,12,12,12,12,10,10,10,5,5,6,10,10,16,12,3,6,6,7,11,5,6,5,5,10,10,10,10,10,10,10,10,10,10,5,5,11,11,11,10,18,12,12,13,13,12,11,14,13,5,9,12,10,15,13,14,12,14,13,12,11,13,12,17,12,12,11,5,5,5,8,10,6,10,10,9,10,10,10,5,10,10,4,4,9,4,15,10,10,10,10,6,9,9,5,10,9,13,9,9,9,6,5,6,11,10,0,0,4,4,10,10],t=0,r=0;r<e.length;r++)t+=s[" ·˙・“”«»äåàô€ÀÈÊÉéèê !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcçdefghijklmnopqrstuüvwxyz{|}~–\n\r‘’£…".indexOf(e.substring(r,r+1))];return t}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},success:function(s){Object.keys(s.data).forEach(e=>{let t=document.createElement("textarea");t.innerHTML=s.data[e],s.data[e]=t.textContent}),e("#seopress_cpt .google-snippet-preview .snippet-title").html(s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-title-default").html(s.data.title),e("#seopress_titles_title_meta").attr("placeholder",s.data.title),e("#seopress_cpt .google-snippet-preview .snippet-description").html(s.data.meta_desc),e("#seopress_cpt .google-snippet-preview .snippet-description-default").html(s.data.meta_desc),e("#seopress_titles_desc_meta").attr("placeholder",s.data.meta_desc),e("#seopress_cpt #seopress_social_fb_title_meta").attr("placeholder",s.data.og_title),e("#seopress_cpt #seopress_social_fb_desc_meta").attr("placeholder",s.data.og_desc),e("#seopress_cpt #seopress_social_fb_img_meta").attr("placeholder",s.data.og_img),e("#seopress_cpt #seopress_social_twitter_title_meta").attr("placeholder",s.data.tw_title),e("#seopress_cpt #seopress_social_twitter_desc_meta").attr("placeholder",s.data.tw_desc),e("#seopress_cpt #seopress_social_twitter_img_meta").attr("placeholder",s.data.tw_img),e("#seopress_cpt #seopress_robots_canonical_meta").attr("placeholder",s.data.canonical),e("#seopress_analysis_results_state").fadeIn().css("display","inline-block"),e("#seopress_analysis_results_state").delay(3500).fadeOut(),e("#seopress-analysis-tabs-1").load(" #seopress-analysis-tabs-1"),e("#seopress-analysis-tabs-2").load(" #seopress-analysis-tabs-2"),e("#seopress-analysis-tabs-3").load(" #seopress-analysis-tabs-3"),e("#seopress-analysis-tabs-4").load(" #seopress-analysis-tabs-4"),e(" #seopress_titles_title_counters_val").remove(),e(" #seopress_titles_desc_counters_val").remove(),sp_titles_counters(),sp_meta_desc_counters()}})}e("#seopress-analysis-tabs .hidden").removeClass("hidden"),e("#seopress-analysis-tabs").tabs(),s(),e("#seopress_launch_analysis").on("click",function(){s()})});
inc/admin/admin-metaboxes-content-analysis-form.php CHANGED
@@ -83,7 +83,7 @@ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
83
  </script>
84
  </div>";
85
  }
86
-
87
  echo '<div id="seopress-analysis-tabs">';
88
  echo '<ul class="wrap-analysis-results">
89
  <li><a href="#seopress-analysis-tabs-1"><span class="dashicons dashicons-admin-settings"></span>'. __( 'Optimizations', 'wp-seopress' ) .'</a></li>
@@ -131,6 +131,23 @@ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
131
  echo '<p class="description">'.__('Learn more about <a href="https://www.youtube.com/watch?v=Rk4qgQdp2UA" target="_blank">keywords stuffing</a>.','wp-seopress').'</p>';
132
  }
133
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
  //H1
135
  if (!empty($seopress_analysis_data['0']['h1']['matches'])) {
136
  echo '<h3>'.__('H1 (Heading 1)','wp-seopress').'</h3>';
@@ -256,7 +273,7 @@ if ( is_plugin_active( 'wp-seopress-pro/seopress-pro.php' ) ) {
256
  <div id="seopress-analysis-tabs-2">
257
  <h3>'.__('Robots','wp-seopress').'</h3>';
258
 
259
- //Robots
260
  if (!empty($seopress_analysis_data['0']['meta_robots'])) {
261
 
262
  $meta_robots = $seopress_analysis_data['0']['meta_robots']['0'];
83
  </script>
84
  </div>";
85
  }
86
+
87
  echo '<div id="seopress-analysis-tabs">';
88
  echo '<ul class="wrap-analysis-results">
89
  <li><a href="#seopress-analysis-tabs-1"><span class="dashicons dashicons-admin-settings"></span>'. __( 'Optimizations', 'wp-seopress' ) .'</a></li>
131
  echo '<p class="description">'.__('Learn more about <a href="https://www.youtube.com/watch?v=Rk4qgQdp2UA" target="_blank">keywords stuffing</a>.','wp-seopress').'</p>';
132
  }
133
 
134
+ //Keywords in permalink
135
+ echo '<h3>'.__('Keywords in permalink','wp-seopress').'</h3>';
136
+
137
+ if (!empty($seopress_analysis_data['0']['kws_permalink']['matches'])) {
138
+ echo '<p><span class="dashicons dashicons-yes"></span>'.__('Cool, one of your target keyword is used in your permalink.','wp-seopress').'</p>';
139
+
140
+ $target_kws_permalink = $seopress_analysis_data['0']['kws_permalink']['matches'];
141
+
142
+ echo '<ul>';
143
+ foreach ($target_kws_permalink as $key => $value) {
144
+ echo '<li><span class="dashicons dashicons-minus"></span>'.$key.'</li>';
145
+ }
146
+ echo '</ul>';
147
+ } else {
148
+ echo '<p><span class="dashicons dashicons-no-alt"></span>'.__('You should add one of your target keyword in your permalink.','wp-seopress').'</p>';
149
+ }
150
+
151
  //H1
152
  if (!empty($seopress_analysis_data['0']['h1']['matches'])) {
153
  echo '<h3>'.__('H1 (Heading 1)','wp-seopress').'</h3>';
273
  <div id="seopress-analysis-tabs-2">
274
  <h3>'.__('Robots','wp-seopress').'</h3>';
275
 
276
+ //Robots
277
  if (!empty($seopress_analysis_data['0']['meta_robots'])) {
278
 
279
  $meta_robots = $seopress_analysis_data['0']['meta_robots']['0'];
inc/admin/admin-metaboxes-form.php CHANGED
@@ -124,7 +124,7 @@ echo '<div id="seopress-tabs" data_id="'.$current_id.'" data_origin="'.$origin.'
124
 
125
  <p style="margin-bottom:0">
126
  <label for="seopress_titles_desc_meta">'. __( 'Meta description', 'wp-seopress' ) .'</label>
127
- <textarea id="seopress_titles_desc_meta" style="width:100%" rows="8" name="seopress_titles_desc" placeholder="'.esc_html__('Enter your meta description','wp-seopress').'" aria-label="'.__('Meta description','wp-seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
128
  </p>
129
  <div class="sp-progress">
130
  <div id="seopress_titles_desc_counters_progress" class="sp-progress-bar" role="progressbar" style="width: 1%;" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100">1%</div>
124
 
125
  <p style="margin-bottom:0">
126
  <label for="seopress_titles_desc_meta">'. __( 'Meta description', 'wp-seopress' ) .'</label>
127
+ <textarea id="seopress_titles_desc_meta" style="width:100%" rows="4" name="seopress_titles_desc" placeholder="'.esc_html__('Enter your meta description','wp-seopress').'" aria-label="'.__('Meta description','wp-seopress').'" value="'.$seopress_titles_desc.'">'.$seopress_titles_desc.'</textarea>
128
  </p>
129
  <div class="sp-progress">
130
  <div id="seopress_titles_desc_counters_progress" class="sp-progress-bar" role="progressbar" style="width: 1%;" aria-valuenow="1" aria-valuemin="0" aria-valuemax="100">1%</div>
inc/admin/admin-wizard.php CHANGED
@@ -730,7 +730,7 @@ class SEOPRESS_Admin_Setup_Wizard {
730
  </a>
731
  </p>
732
  </div>
733
- <?php } else { ?>
734
  <div class="seopress-message seopress-newsletter">
735
  <h3 class="seopress-setup-actions step">
736
  <?php esc_html_e( "Go PRO with SEOPress PRO!","wp-seopress"); ?>
730
  </a>
731
  </p>
732
  </div>
733
+ <?php } elseif (!is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) { ?>
734
  <div class="seopress-message seopress-newsletter">
735
  <h3 class="seopress-setup-actions step">
736
  <?php esc_html_e( "Go PRO with SEOPress PRO!","wp-seopress"); ?>
inc/admin/admin.php CHANGED
@@ -213,6 +213,7 @@ class seopress_options
213
  <li><span>'.__('%%term_description%%','wp-seopress').'</span>'.__('Term description','wp-seopress').'</li>
214
  <li><span>'.__('%%search_keywords%%','wp-seopress').'</span>'.__('Search keywords','wp-seopress').'</li>
215
  <li><span>'.__('%%current_pagination%%','wp-seopress').'</span>'.__('Current number page','wp-seopress').'</li>
 
216
  <li><span>'.__('%%cpt_plural%%','wp-seopress').'</span>'.__('Plural Post Type Archive name','wp-seopress').'</li>
217
  <li><span>'.__('%%archive_title%%','wp-seopress').'</span>'.__('Archive title','wp-seopress').'</li>
218
  <li><span>'.__('%%archive_date%%','wp-seopress').'</span>'.__('Date Archive','wp-seopress').'</li>
@@ -905,6 +906,19 @@ class seopress_options
905
  </form>
906
  </div><!-- .inside -->
907
  </div><!-- .postbox -->
 
 
 
 
 
 
 
 
 
 
 
 
 
908
  <?php } else { ?>
909
  <p><?php _e('Redirections feature is disabled. Please activate it from the PRO page.','wp-seopress'); ?></p>
910
  <a href="<?php echo admin_url( 'admin.php?page=seopress-pro-page' ); ?>"><?php _e('Activate Redirections','wp-seopress'); ?></a>
@@ -1157,7 +1171,25 @@ class seopress_options
1157
  <span name="notice-ssl" id="notice-ssl" class="dashicons dashicons-trash remove-notice" data-notice="notice-ssl"></span>
1158
  </div>
1159
  <?php }
1160
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1161
  <?php } ?>
1162
  <?php if (get_option('blog_public') !='1') { ?>
1163
  <div class="seopress-alert">
@@ -1473,6 +1505,9 @@ class seopress_options
1473
  <ul>
1474
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://www.google.com/webmasters/tools/disavow-links-main" target="_blank"><?php _e('Upload a list of links to disavow to Google','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1475
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://trends.google.com/trends/" target="_blank"><?php _e('Google Trends','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
 
 
 
1476
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://www.dareboost.com/en/home" target="_blank"><?php _e('Dareboost: Test, analyze and optimize your website','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1477
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://ga-dev-tools.appspot.com/campaign-url-builder/" target="_blank"><?php _e('Google Campaign URL Builder tool','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1478
  </ul>
@@ -3226,7 +3261,7 @@ class seopress_options
3226
  __("Add WP Editor to taxonomy description textarea","wp-seopress"), // Title
3227
  array( $this, 'seopress_advanced_advanced_tax_desc_editor_callback' ), // Callback
3228
  'seopress-settings-admin-advanced-advanced', // Page
3229
- 'seopress_setting_section_advanced_advanced' // Section
3230
  );
3231
 
3232
  add_settings_field(
@@ -3234,7 +3269,7 @@ class seopress_options
3234
  __("Remove /category/ in URL","wp-seopress"), // Title
3235
  array( $this, 'seopress_advanced_advanced_category_url_callback' ), // Callback
3236
  'seopress-settings-admin-advanced-advanced', // Page
3237
- 'seopress_setting_section_advanced_advanced' // Section
3238
  );
3239
 
3240
  add_settings_field(
@@ -3242,7 +3277,7 @@ class seopress_options
3242
  __("Disable trailing slash for metas","wp-seopress"), // Title
3243
  array( $this, 'seopress_advanced_advanced_trailingslash_callback' ), // Callback
3244
  'seopress-settings-admin-advanced-advanced', // Page
3245
- 'seopress_setting_section_advanced_advanced' // Section
3246
  );
3247
 
3248
  add_settings_field(
@@ -3250,7 +3285,31 @@ class seopress_options
3250
  __("Remove WordPress generator meta tag","wp-seopress"), // Title
3251
  array( $this, 'seopress_advanced_advanced_wp_generator_callback' ), // Callback
3252
  'seopress-settings-admin-advanced-advanced', // Page
3253
- 'seopress_setting_section_advanced_advanced' // Section
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3254
  );
3255
 
3256
  add_settings_field(
@@ -3258,7 +3317,7 @@ class seopress_options
3258
  __("Remove WordPress shortlink meta tag","wp-seopress"), // Title
3259
  array( $this, 'seopress_advanced_advanced_wp_shortlink_callback' ), // Callback
3260
  'seopress-settings-admin-advanced-advanced', // Page
3261
- 'seopress_setting_section_advanced_advanced' // Section
3262
  );
3263
 
3264
  add_settings_field(
@@ -6145,6 +6204,10 @@ class seopress_options
6145
  echo ' value="1"/>';
6146
 
6147
  echo '<label for="seopress_advanced_advanced_image_auto_alt_editor">'. __( 'When sending an image file, automatically set the alternative text based on the filename', 'wp-seopress' ) .'</label>';
 
 
 
 
6148
 
6149
  if (isset($this->options['seopress_advanced_advanced_image_auto_alt_editor'])) {
6150
  esc_attr( $this->options['seopress_advanced_advanced_image_auto_alt_editor']);
@@ -6253,6 +6316,57 @@ class seopress_options
6253
  }
6254
  }
6255
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6256
  public function seopress_advanced_advanced_wp_shortlink_callback()
6257
  {
6258
  $options = get_option( 'seopress_advanced_option_name' );
213
  <li><span>'.__('%%term_description%%','wp-seopress').'</span>'.__('Term description','wp-seopress').'</li>
214
  <li><span>'.__('%%search_keywords%%','wp-seopress').'</span>'.__('Search keywords','wp-seopress').'</li>
215
  <li><span>'.__('%%current_pagination%%','wp-seopress').'</span>'.__('Current number page','wp-seopress').'</li>
216
+ <li><span>'.__('%%page%%','wp-seopress').'</span>'.__('Current page number with context (i.e. page 1 of 3)','wp-seopress').'</li>
217
  <li><span>'.__('%%cpt_plural%%','wp-seopress').'</span>'.__('Plural Post Type Archive name','wp-seopress').'</li>
218
  <li><span>'.__('%%archive_title%%','wp-seopress').'</span>'.__('Archive title','wp-seopress').'</li>
219
  <li><span>'.__('%%archive_date%%','wp-seopress').'</span>'.__('Date Archive','wp-seopress').'</li>
906
  </form>
907
  </div><!-- .inside -->
908
  </div><!-- .postbox -->
909
+ <div id="section-clean-404" class="postbox section-tool">
910
+ <div class="inside">
911
+ <h3><span><?php _e( 'Clean your 404', 'wp-seopress' ); ?></span></h3>
912
+ <p><?php _e( 'Delete all your 404 errors. We don‘t delete any redirects.', 'wp-seopress' ); ?></p>
913
+ <form method="post">
914
+ <p><input type="hidden" name="seopress_action" value="clean_404" /></p>
915
+ <p>
916
+ <?php wp_nonce_field( 'seopress_clean_404_nonce', 'seopress_clean_404_nonce' ); ?>
917
+ <?php submit_button( __( 'Delete all 404', 'wp-seopress' ), 'secondary', 'submit', false ); ?>
918
+ </p>
919
+ </form>
920
+ </div><!-- .inside -->
921
+ </div><!-- .postbox -->
922
  <?php } else { ?>
923
  <p><?php _e('Redirections feature is disabled. Please activate it from the PRO page.','wp-seopress'); ?></p>
924
  <a href="<?php echo admin_url( 'admin.php?page=seopress-pro-page' ); ?>"><?php _e('Activate Redirections','wp-seopress'); ?></a>
1171
  <span name="notice-ssl" id="notice-ssl" class="dashicons dashicons-trash remove-notice" data-notice="notice-ssl"></span>
1172
  </div>
1173
  <?php }
1174
+ ?>
1175
+ <?php } ?>
1176
+ <?php if (function_exists('extension_loaded') && !extension_loaded('dom')) { ?>
1177
+ <div id="notice-ssl-alert" class="seopress-alert">
1178
+ <p>
1179
+ <span class="dashicons dashicons-warning"></span>
1180
+ <?php _e('PHP module "DOM" is missing on your server.','wp-seopress'); ?>
1181
+ <span class="impact high"><?php _e('High impact','wp-seopress'); ?></span>
1182
+ </p>
1183
+ <?php
1184
+ if (function_exists('seopress_get_locale')) {
1185
+ if (seopress_get_locale() =='fr') {
1186
+ $seopress_docs_link['support']['dom'] = 'https://www.seopress.org/fr/support/guides/debutez-seopress/';
1187
+ } else {
1188
+ $seopress_docs_link['support']['dom'] = 'https://www.seopress.org/support/guides/get-started-seopress/';
1189
+ }
1190
+ } ?>
1191
+ <?php echo '<a class="button-primary" href="'.$seopress_docs_link['support']['dom'].'" target="_blank">'.__('Learn more','wp-seopress').'</a>'; ?>
1192
+ </div>
1193
  <?php } ?>
1194
  <?php if (get_option('blog_public') !='1') { ?>
1195
  <div class="seopress-alert">
1505
  <ul>
1506
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://www.google.com/webmasters/tools/disavow-links-main" target="_blank"><?php _e('Upload a list of links to disavow to Google','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1507
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://trends.google.com/trends/" target="_blank"><?php _e('Google Trends','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1508
+ <?php if ( !is_plugin_active( 'imageseo/imageseo.php' )) {
1509
+ echo '<li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://imageseo.io?_from=seopress" target="_blank">'.__('Image SEO plugin to optimize your image ALT texts and names for Search Engines.','wp-seopress-pro').'</a><span class="dashicons dashicons-external"></span></li>';
1510
+ } ?>
1511
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://www.dareboost.com/en/home" target="_blank"><?php _e('Dareboost: Test, analyze and optimize your website','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1512
  <li><span class="dashicons dashicons-arrow-right-alt2"></span><a href="https://ga-dev-tools.appspot.com/campaign-url-builder/" target="_blank"><?php _e('Google Campaign URL Builder tool','wp-seopress'); ?></a><span class="dashicons dashicons-external"></span></li>
1513
  </ul>
3261
  __("Add WP Editor to taxonomy description textarea","wp-seopress"), // Title
3262
  array( $this, 'seopress_advanced_advanced_tax_desc_editor_callback' ), // Callback
3263
  'seopress-settings-admin-advanced-advanced', // Page
3264
+ 'seopress_setting_section_advanced_advanced' // Section
3265
  );
3266
 
3267
  add_settings_field(
3269
  __("Remove /category/ in URL","wp-seopress"), // Title
3270
  array( $this, 'seopress_advanced_advanced_category_url_callback' ), // Callback
3271
  'seopress-settings-admin-advanced-advanced', // Page
3272
+ 'seopress_setting_section_advanced_advanced' // Section
3273
  );
3274
 
3275
  add_settings_field(
3277
  __("Disable trailing slash for metas","wp-seopress"), // Title
3278
  array( $this, 'seopress_advanced_advanced_trailingslash_callback' ), // Callback
3279
  'seopress-settings-admin-advanced-advanced', // Page
3280
+ 'seopress_setting_section_advanced_advanced' // Section
3281
  );
3282
 
3283
  add_settings_field(
3285
  __("Remove WordPress generator meta tag","wp-seopress"), // Title
3286
  array( $this, 'seopress_advanced_advanced_wp_generator_callback' ), // Callback
3287
  'seopress-settings-admin-advanced-advanced', // Page
3288
+ 'seopress_setting_section_advanced_advanced' // Section
3289
+ );
3290
+
3291
+ add_settings_field(
3292
+ 'seopress_advanced_advanced_hentry', // ID
3293
+ __("Remove hentry post class","wp-seopress"), // Title
3294
+ array( $this, 'seopress_advanced_advanced_hentry_callback' ), // Callback
3295
+ 'seopress-settings-admin-advanced-advanced', // Page
3296
+ 'seopress_setting_section_advanced_advanced' // Section
3297
+ );
3298
+
3299
+ add_settings_field(
3300
+ 'seopress_advanced_advanced_comments_author_url', // ID
3301
+ __("Remove author URL","wp-seopress"), // Title
3302
+ array( $this, 'seopress_advanced_advanced_comments_author_url_callback' ), // Callback
3303
+ 'seopress-settings-admin-advanced-advanced', // Page
3304
+ 'seopress_setting_section_advanced_advanced' // Section
3305
+ );
3306
+
3307
+ add_settings_field(
3308
+ 'seopress_advanced_advanced_comments_website', // ID
3309
+ __("Remove website field in comment form","wp-seopress"), // Title
3310
+ array( $this, 'seopress_advanced_advanced_comments_website_callback' ), // Callback
3311
+ 'seopress-settings-admin-advanced-advanced', // Page
3312
+ 'seopress_setting_section_advanced_advanced' // Section
3313
  );
3314
 
3315
  add_settings_field(
3317
  __("Remove WordPress shortlink meta tag","wp-seopress"), // Title
3318
  array( $this, 'seopress_advanced_advanced_wp_shortlink_callback' ), // Callback
3319
  'seopress-settings-admin-advanced-advanced', // Page
3320
+ 'seopress_setting_section_advanced_advanced' // Section
3321
  );
3322
 
3323
  add_settings_field(
6204
  echo ' value="1"/>';
6205
 
6206
  echo '<label for="seopress_advanced_advanced_image_auto_alt_editor">'. __( 'When sending an image file, automatically set the alternative text based on the filename', 'wp-seopress' ) .'</label>';
6207
+
6208
+ if ( !is_plugin_active( 'imageseo/imageseo.php' )) {
6209
+ echo '<p class="description"><a href="https://imageseo.io?_from=seopress" target="_blank">'.__('We recommend Image SEO plugin to optimize your image ALT texts and names for Search Engines using AI and Machine Learning. Starting from just €4.99.','wp-seopress-pro').'</a><span class="dashicons dashicons-external"></span></p>';
6210
+ }
6211
 
6212
  if (isset($this->options['seopress_advanced_advanced_image_auto_alt_editor'])) {
6213
  esc_attr( $this->options['seopress_advanced_advanced_image_auto_alt_editor']);
6316
  }
6317
  }
6318
 
6319
+ public function seopress_advanced_advanced_hentry_callback()
6320
+ {
6321
+ $options = get_option( 'seopress_advanced_option_name' );
6322
+
6323
+ $check = isset($options['seopress_advanced_advanced_hentry']);
6324
+
6325
+ echo '<input id="seopress_advanced_advanced_hentry" name="seopress_advanced_option_name[seopress_advanced_advanced_hentry]" type="checkbox"';
6326
+ if ('1' == $check) echo 'checked="yes"';
6327
+ echo ' value="1"/>';
6328
+
6329
+ echo '<label for="seopress_advanced_advanced_hentry">'. __( 'Remove hentry post class to prevent Google from seeing this as structured data (schema)', 'wp-seopress' ) .'</label>';
6330
+
6331
+ if (isset($this->options['seopress_advanced_advanced_hentry'])) {
6332
+ esc_attr( $this->options['seopress_advanced_advanced_hentry']);
6333
+ }
6334
+ }
6335
+
6336
+ public function seopress_advanced_advanced_comments_author_url_callback()
6337
+ {
6338
+ $options = get_option( 'seopress_advanced_option_name' );
6339
+
6340
+ $check = isset($options['seopress_advanced_advanced_comments_author_url']);
6341
+
6342
+ echo '<input id="seopress_advanced_advanced_comments_author_url" name="seopress_advanced_option_name[seopress_advanced_advanced_comments_author_url]" type="checkbox"';
6343
+ if ('1' == $check) echo 'checked="yes"';
6344
+ echo ' value="1"/>';
6345
+
6346
+ echo '<label for="seopress_advanced_advanced_comments_author_url">'. __( 'Remove comment author URL in comments if the website is filled from profile page', 'wp-seopress' ) .'</label>';
6347
+
6348
+ if (isset($this->options['seopress_advanced_advanced_comments_author_url'])) {
6349
+ esc_attr( $this->options['seopress_advanced_advanced_comments_author_url']);
6350
+ }
6351
+ }
6352
+
6353
+ public function seopress_advanced_advanced_comments_website_callback()
6354
+ {
6355
+ $options = get_option( 'seopress_advanced_option_name' );
6356
+
6357
+ $check = isset($options['seopress_advanced_advanced_comments_website']);
6358
+
6359
+ echo '<input id="seopress_advanced_advanced_comments_website" name="seopress_advanced_option_name[seopress_advanced_advanced_comments_website]" type="checkbox"';
6360
+ if ('1' == $check) echo 'checked="yes"';
6361
+ echo ' value="1"/>';
6362
+
6363
+ echo '<label for="seopress_advanced_advanced_comments_website">'. __( 'Remove website field from comment form to reduce spam', 'wp-seopress' ) .'</label>';
6364
+
6365
+ if (isset($this->options['seopress_advanced_advanced_comments_website'])) {
6366
+ esc_attr( $this->options['seopress_advanced_advanced_comments_website']);
6367
+ }
6368
+ }
6369
+
6370
  public function seopress_advanced_advanced_wp_shortlink_callback()
6371
  {
6372
  $options = get_option( 'seopress_advanced_option_name' );
inc/admin/ajax.php CHANGED
@@ -226,6 +226,18 @@ function seopress_do_real_preview() {
226
  $data['kws_density']['matches'][$kw][] = $m[0];
227
  }
228
  }
 
 
 
 
 
 
 
 
 
 
 
 
229
  }
230
 
231
  //Images
@@ -302,8 +314,8 @@ add_action('wp_ajax_seopress_do_real_preview', 'seopress_do_real_preview');
302
  //Flush permalinks
303
  ///////////////////////////////////////////////////////////////////////////////////////////////////
304
  function seopress_flush_permalinks() {
305
- check_ajax_referer( 'seopress_flush_permalinks_nonce', $_GET['_ajax_nonce'], true );
306
- wp_remote_get(admin_url( 'options-permalink.php' ), array(blocking => true));
307
  die();
308
  }
309
  add_action('wp_ajax_seopress_flush_permalinks', 'seopress_flush_permalinks');
@@ -351,9 +363,8 @@ function seopress_yoast_migration() {
351
  }
352
 
353
  global $wpdb;
354
- $table_name = $wpdb->prefix . 'posts';
355
- $count_query = $wpdb->get_results( "SELECT * FROM $table_name" );
356
- $total_count_posts = $wpdb->num_rows;
357
 
358
  $increment = 200;
359
  global $post;
@@ -503,9 +514,7 @@ function seopress_aio_migration() {
503
  }
504
 
505
  global $wpdb;
506
- $table_name = $wpdb->prefix . 'posts';
507
- $count_query = $wpdb->get_results( "SELECT * FROM $table_name" );
508
- $total_count_posts = $wpdb->num_rows;
509
 
510
  $increment = 200;
511
  global $post;
@@ -640,9 +649,7 @@ function seopress_seo_framework_migration() {
640
  }
641
 
642
  global $wpdb;
643
- $table_name = $wpdb->prefix . 'posts';
644
- $count_query = $wpdb->get_results( "SELECT * FROM $table_name" );
645
- $total_count_posts = $wpdb->num_rows;
646
 
647
  $increment = 200;
648
  global $post;
@@ -761,9 +768,7 @@ function seopress_rk_migration() {
761
  }
762
 
763
  global $wpdb;
764
- $table_name = $wpdb->prefix . 'posts';
765
- $count_query = $wpdb->get_results( "SELECT * FROM $table_name" );
766
- $total_count_posts = $wpdb->num_rows;
767
 
768
  $increment = 200;
769
  global $post;
@@ -1005,9 +1010,7 @@ function seopress_metadata_export() {
1005
  global $wpdb;
1006
  global $post;
1007
 
1008
- $table_name = $wpdb->prefix . 'posts';
1009
- $count_query = $wpdb->get_results( "SELECT * FROM $table_name" );
1010
- $total_count_posts = $wpdb->num_rows;
1011
 
1012
  $increment = 200;
1013
 
226
  $data['kws_density']['matches'][$kw][] = $m[0];
227
  }
228
  }
229
+
230
+ //Keywords in permalink
231
+ $post = get_post($seopress_get_the_id);
232
+ $kw_slug = array_filter(explode('-', $post->post_name));
233
+
234
+ if (!empty($kw_slug)) {
235
+ foreach ($seopress_analysis_target_kw as $kw) {
236
+ if (in_array($kw, $kw_slug)) {
237
+ $data['kws_permalink']['matches'][$kw][] = $kw;
238
+ }
239
+ }
240
+ }
241
  }
242
 
243
  //Images
314
  //Flush permalinks
315
  ///////////////////////////////////////////////////////////////////////////////////////////////////
316
  function seopress_flush_permalinks() {
317
+ check_ajax_referer( 'seopress_flush_permalinks_nonce', $_GET['_ajax_nonce'], true );
318
+ flush_rewrite_rules();
319
  die();
320
  }
321
  add_action('wp_ajax_seopress_flush_permalinks', 'seopress_flush_permalinks');
363
  }
364
 
365
  global $wpdb;
366
+
367
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
 
368
 
369
  $increment = 200;
370
  global $post;
514
  }
515
 
516
  global $wpdb;
517
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
 
 
518
 
519
  $increment = 200;
520
  global $post;
649
  }
650
 
651
  global $wpdb;
652
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
 
 
653
 
654
  $increment = 200;
655
  global $post;
768
  }
769
 
770
  global $wpdb;
771
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
 
 
772
 
773
  $increment = 200;
774
  global $post;
1010
  global $wpdb;
1011
  global $post;
1012
 
1013
+ $total_count_posts = (int)$wpdb->get_var( "SELECT count(*) FROM {$wpdb->posts}" );
 
 
1014
 
1015
  $increment = 200;
1016
 
inc/functions/options-advanced-admin.php CHANGED
@@ -4,29 +4,35 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
4
  //MANDATORY for using is_plugin_active
5
  include_once(ABSPATH.'wp-admin/includes/plugin.php');
6
 
 
 
7
  //Admin notices
8
  //=================================================================================================
9
  //License notice
10
- if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) {
11
- function seopress_notice_license() {
12
- $class = 'notice notice-error';
13
- $message = '<strong>'.__( 'Welcome to SEOPress PRO!', 'wp-seopress' ).'</strong>';
14
- $message .= '<p>'.__( 'Please activate your license to receive automatic updates and get premium support.', 'wp-seopress' ).'</p>';
15
- $message .= '<a class="button button-primary" href="'.admin_url( 'admin.php?page=seopress-license' ).'">'.__('Activate License', 'wp-seopress').'</a>';
16
- if (seopress_get_locale() =='fr') {
17
- $sp_license_guide = 'https://www.seopress.org/fr/support/guides/activer-licence-seopress-pro/';
18
- } else {
19
- $sp_license_guide = 'https://www.seopress.org/support/guides/activate-seopress-pro-license/';
 
 
 
 
 
 
 
 
20
  }
21
- $message .= '<a href="'.$sp_license_guide.'" target="_blank" style="vertical-align: middle;line-height: 28px;margin: 0 0 0 5px;">'.__('Need help?', 'wp-seopress').'</a>';
22
-
23
- printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message );
24
  }
25
- add_action( 'admin_notices', 'seopress_notice_license' );
26
  }
27
 
28
  //Permalinks notice
29
- global $pagenow;
30
  if (isset($pagenow) && $pagenow == 'options-permalink.php') {
31
  function seopress_notice_permalinks() {
32
  $class = 'notice notice-warning';
4
  //MANDATORY for using is_plugin_active
5
  include_once(ABSPATH.'wp-admin/includes/plugin.php');
6
 
7
+ global $pagenow;
8
+
9
  //Admin notices
10
  //=================================================================================================
11
  //License notice
12
+ if (current_user_can('manage_options')) {
13
+ if (get_option( 'seopress_pro_license_status' ) !='valid' && is_plugin_active('wp-seopress-pro/seopress-pro.php') && !is_multisite()) {
14
+ function seopress_notice_license() {
15
+ $screen_id = get_current_screen();
16
+ if ($screen_id->parent_base ==='seopress-option') {
17
+ $class = 'notice notice-error';
18
+ $message = '<strong>'.__( 'Welcome to SEOPress PRO!', 'wp-seopress' ).'</strong>';
19
+ $message .= '<p>'.__( 'Please activate your license to receive automatic updates and get premium support.', 'wp-seopress' ).'</p>';
20
+ $message .= '<a class="button button-primary" href="'.admin_url( 'admin.php?page=seopress-license' ).'">'.__('Activate License', 'wp-seopress').'</a>';
21
+ if (seopress_get_locale() =='fr') {
22
+ $sp_license_guide = 'https://www.seopress.org/fr/support/guides/activer-licence-seopress-pro/';
23
+ } else {
24
+ $sp_license_guide = 'https://www.seopress.org/support/guides/activate-seopress-pro-license/';
25
+ }
26
+ $message .= '<a href="'.$sp_license_guide.'" target="_blank" style="vertical-align: middle;line-height: 28px;margin: 0 0 0 5px;">'.__('Need help?', 'wp-seopress').'</a>';
27
+
28
+ printf( '<div class="%1$s"><p>%2$s</p></div>', esc_attr( $class ), $message );
29
+ }
30
  }
31
+ add_action( 'admin_notices', 'seopress_notice_license' );
 
 
32
  }
 
33
  }
34
 
35
  //Permalinks notice
 
36
  if (isset($pagenow) && $pagenow == 'options-permalink.php') {
37
  function seopress_notice_permalinks() {
38
  $class = 'notice notice-warning';
inc/functions/options-advanced.php CHANGED
@@ -38,6 +38,25 @@ if (seopress_advanced_advanced_wp_generator_option() =='1') {
38
  remove_action('wp_head', 'wp_generator');
39
  }
40
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
  //WordPress Shortlink
42
  function seopress_advanced_advanced_wp_shortlink_option() {
43
  $seopress_advanced_advanced_wp_shortlink_option = get_option("seopress_advanced_option_name");
38
  remove_action('wp_head', 'wp_generator');
39
  }
40
 
41
+ //Remove hentry post class
42
+ function seopress_advanced_advanced_hentry_option() {
43
+ $seopress_advanced_advanced_hentry_option = get_option("seopress_advanced_option_name");
44
+ if ( ! empty ( $seopress_advanced_advanced_hentry_option ) ) {
45
+ foreach ($seopress_advanced_advanced_hentry_option as $key => $seopress_advanced_advanced_hentry_value)
46
+ $options[$key] = $seopress_advanced_advanced_hentry_value;
47
+ if (isset($seopress_advanced_advanced_hentry_option['seopress_advanced_advanced_hentry'])) {
48
+ return $seopress_advanced_advanced_hentry_option['seopress_advanced_advanced_hentry'];
49
+ }
50
+ }
51
+ }
52
+ if (seopress_advanced_advanced_hentry_option() =='1') {
53
+ function seopress_advanced_advanced_hentry_hook( $classes ) {
54
+ $classes = array_diff( $classes, array( 'hentry' ) );
55
+ return $classes;
56
+ }
57
+ add_filter( 'post_class', 'seopress_advanced_advanced_hentry_hook' );
58
+ }
59
+
60
  //WordPress Shortlink
61
  function seopress_advanced_advanced_wp_shortlink_option() {
62
  $seopress_advanced_advanced_wp_shortlink_option = get_option("seopress_advanced_option_name");
inc/functions/options-import-export.php CHANGED
@@ -280,6 +280,27 @@ function seopress_import_redirections_plugin_settings() {
280
  }
281
  add_action( 'admin_init', 'seopress_import_redirections_plugin_settings' );
282
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
283
  //Reset SEOPress Notices Settings
284
  function seopress_reset_notices_settings() {
285
  if( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' != $_POST['seopress_action'] )
@@ -547,7 +568,7 @@ function seopress_download_batch_export() {
547
 
548
  if (!empty($csv)) {
549
  foreach($csv as $value) {
550
- fputcsv( $output_handle, $value);
551
  }
552
  }
553
 
280
  }
281
  add_action( 'admin_init', 'seopress_import_redirections_plugin_settings' );
282
 
283
+ //Clean all 404
284
+ function seopress_clean_404_query_hook($args) {
285
+ unset($args['date_query']);
286
+ return $args;
287
+ }
288
+
289
+
290
+ function seopress_clean_404() {
291
+ if( empty( $_POST['seopress_action'] ) || 'clean_404' != $_POST['seopress_action'] )
292
+ return;
293
+ if( ! wp_verify_nonce( $_POST['seopress_clean_404_nonce'], 'seopress_clean_404_nonce' ) )
294
+ return;
295
+ if( ! current_user_can( 'manage_options' ) )
296
+ return;
297
+
298
+ add_filter('seopress_404_cleaning_query', 'seopress_clean_404_query_hook');
299
+ do_action('seopress_404_cron_cleaning');
300
+ wp_safe_redirect( admin_url( 'edit.php?post_type=seopress_404' ) ); exit;
301
+ }
302
+ add_action( 'admin_init', 'seopress_clean_404' );
303
+
304
  //Reset SEOPress Notices Settings
305
  function seopress_reset_notices_settings() {
306
  if( empty( $_POST['seopress_action'] ) || 'reset_notices_settings' != $_POST['seopress_action'] )
568
 
569
  if (!empty($csv)) {
570
  foreach($csv as $value) {
571
+ fputcsv( $output_handle, $value, ';');
572
  }
573
  }
574
 
inc/functions/options-social.php CHANGED
@@ -467,6 +467,52 @@ function seopress_social_facebook_og_author_hook() {
467
  }
468
  echo $seopress_social_og_author."\n";
469
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
470
  }
471
  }
472
  add_action( 'wp_head', 'seopress_social_facebook_og_author_hook', 1 );
467
  }
468
  echo $seopress_social_og_author."\n";
469
  }
470
+ if (is_singular('post')) {
471
+ // article:section
472
+ if (get_post_meta($post->ID,'_seopress_robots_primary_cat',true)) {
473
+ $_seopress_robots_primary_cat = get_post_meta($post->ID,'_seopress_robots_primary_cat',true);
474
+
475
+ if (isset($_seopress_robots_primary_cat) && $_seopress_robots_primary_cat !='' && $_seopress_robots_primary_cat !='none') {
476
+ if ($post->post_type !=NULL && $post->post_type =='post') {
477
+ $current_cat = get_category($_seopress_robots_primary_cat);
478
+ }
479
+ } else {
480
+ $current_cat = current( get_the_category( $post ) );
481
+ }
482
+ } else {
483
+ $current_cat = current( get_the_category( $post ) );
484
+ }
485
+ if ($current_cat) {
486
+ $seopress_social_og_section = '';
487
+ $seopress_social_og_section .= '<meta property="article:section" content="'.$current_cat->name.'" />';
488
+ $seopress_social_og_section .= "\n";
489
+ if (isset($seopress_social_og_section)) {
490
+ //Hook on post OG article:section - 'seopress_social_og_section'
491
+ if (has_filter('seopress_social_og_section')) {
492
+ $seopress_social_og_section = apply_filters('seopress_social_og_section', $seopress_social_og_section);
493
+ }
494
+ echo $seopress_social_og_section;
495
+ }
496
+ }
497
+ // article:tag
498
+ if (function_exists('get_the_tags')) {
499
+ $tags = get_the_tags();
500
+ if (!empty($tags)) {
501
+ $seopress_social_og_tag = '';
502
+ foreach($tags as $tag) {
503
+ $seopress_social_og_tag .= '<meta property="article:tag" content="'.$tag->name.'" />';
504
+ $seopress_social_og_tag .= "\n";
505
+ }
506
+ if (isset($seopress_social_og_tag)) {
507
+ //Hook on post OG article:tag - 'seopress_social_og_tag'
508
+ if (has_filter('seopress_social_og_tag')) {
509
+ $seopress_social_og_tag = apply_filters('seopress_social_og_tag', $seopress_social_og_tag);
510
+ }
511
+ echo $seopress_social_og_tag;
512
+ }
513
+ }
514
+ }
515
+ }
516
  }
517
  }
518
  add_action( 'wp_head', 'seopress_social_facebook_og_author_hook', 1 );
inc/functions/options-titles-metas.php CHANGED
@@ -637,6 +637,7 @@ function seopress_titles_the_description() {
637
  }
638
  add_action( 'wp_head', 'seopress_titles_the_description', 1 );
639
 
 
640
  //Advanced
641
  //noindex
642
  //Single CPT noindex
637
  }
638
  add_action( 'wp_head', 'seopress_titles_the_description', 1 );
639
 
640
+
641
  //Advanced
642
  //noindex
643
  //Single CPT noindex
inc/functions/options.php CHANGED
@@ -338,13 +338,47 @@ if (seopress_get_toggle_xml_sitemap_option() =='1') {
338
  }
339
  }
340
  if (seopress_get_toggle_advanced_option() =='1') {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
341
  add_action('wp_head', 'seopress_load_advanced_options', 0);
342
  function seopress_load_advanced_options() {
343
  if (!is_admin()){
344
  require_once ( dirname( __FILE__ ) . '/options-advanced.php'); //Advanced
345
  }
346
  }
347
- add_action('init', 'seopress_load_advanced_admin_options', 10);
348
  function seopress_load_advanced_admin_options() {
349
  require_once ( dirname( __FILE__ ) . '/options-advanced-admin.php'); //Advanced (admin)
350
  //Admin bar
@@ -375,20 +409,22 @@ if (seopress_get_toggle_advanced_option() =='1') {
375
  }
376
  $post = get_post( $post );
377
 
378
- $_seopress_robots_primary_cat = get_post_meta($post->ID,'_seopress_robots_primary_cat',true);
379
-
380
- if (isset($_seopress_robots_primary_cat) && $_seopress_robots_primary_cat !='' && $_seopress_robots_primary_cat !='none') {
381
- if ($post->post_type !=NULL && $post->post_type =='post') {
382
- $primary_cat = get_category($_seopress_robots_primary_cat);
383
- } elseif ($post->post_type !=NULL && $post->post_type =='product') {
384
- $primary_cat = get_term($_seopress_robots_primary_cat, 'product_cat');
385
- }
386
- if (!is_wp_error($primary_cat) && $primary_cat !=NULL) {
387
- return $primary_cat;
 
 
 
 
 
388
  }
389
- } else {
390
- //no primary cat
391
- return $cats_0;
392
  }
393
  }
394
  add_filter( 'post_link_category', 'seopress_titles_primary_cat_hook', 10, 3 );
@@ -455,7 +491,7 @@ if (seopress_get_toggle_advanced_option() =='1') {
455
 
456
  return preg_replace( '`' . preg_quote( $category_base, '`' ) . '`u', '', $link, 1 );
457
  }
458
- add_filter( 'category_link', 'seopress_remove_category_base' );
459
 
460
  add_action('template_redirect', 'seopress_category_redirect', 1);
461
  function seopress_category_redirect(){
338
  }
339
  }
340
  if (seopress_get_toggle_advanced_option() =='1') {
341
+ //Remove comment author url
342
+ function seopress_advanced_advanced_comments_author_url_option() {
343
+ $seopress_advanced_advanced_comments_author_url_option = get_option("seopress_advanced_option_name");
344
+ if ( ! empty ( $seopress_advanced_advanced_comments_author_url_option ) ) {
345
+ foreach ($seopress_advanced_advanced_comments_author_url_option as $key => $seopress_advanced_advanced_comments_author_url_value)
346
+ $options[$key] = $seopress_advanced_advanced_comments_author_url_value;
347
+ if (isset($seopress_advanced_advanced_comments_author_url_option['seopress_advanced_advanced_comments_author_url'])) {
348
+ return $seopress_advanced_advanced_comments_author_url_option['seopress_advanced_advanced_comments_author_url'];
349
+ }
350
+ }
351
+ }
352
+ if (seopress_advanced_advanced_comments_author_url_option() =='1') {
353
+ add_filter( 'get_comment_author_url', '__return_empty_string' );
354
+ }
355
+
356
+ //Remove website field in comments
357
+ function seopress_advanced_advanced_comments_website_option() {
358
+ $seopress_advanced_advanced_comments_website_option = get_option("seopress_advanced_option_name");
359
+ if ( ! empty ( $seopress_advanced_advanced_comments_website_option ) ) {
360
+ foreach ($seopress_advanced_advanced_comments_website_option as $key => $seopress_advanced_advanced_comments_website_value)
361
+ $options[$key] = $seopress_advanced_advanced_comments_website_value;
362
+ if (isset($seopress_advanced_advanced_comments_website_option['seopress_advanced_advanced_comments_website'])) {
363
+ return $seopress_advanced_advanced_comments_website_option['seopress_advanced_advanced_comments_website'];
364
+ }
365
+ }
366
+ }
367
+ if (seopress_advanced_advanced_comments_website_option() =='1') {
368
+ function seopress_advanced_advanced_comments_website_hook($fields) {
369
+ unset($fields['url']);
370
+ return $fields;
371
+ }
372
+ add_filter('comment_form_default_fields','seopress_advanced_advanced_comments_website_hook', 40);
373
+ }
374
+
375
  add_action('wp_head', 'seopress_load_advanced_options', 0);
376
  function seopress_load_advanced_options() {
377
  if (!is_admin()){
378
  require_once ( dirname( __FILE__ ) . '/options-advanced.php'); //Advanced
379
  }
380
  }
381
+ add_action('init', 'seopress_load_advanced_admin_options', 11);
382
  function seopress_load_advanced_admin_options() {
383
  require_once ( dirname( __FILE__ ) . '/options-advanced-admin.php'); //Advanced (admin)
384
  //Admin bar
409
  }
410
  $post = get_post( $post );
411
 
412
+ if ($post) {
413
+ $_seopress_robots_primary_cat = get_post_meta($post->ID,'_seopress_robots_primary_cat',true);
414
+
415
+ if (isset($_seopress_robots_primary_cat) && $_seopress_robots_primary_cat !='' && $_seopress_robots_primary_cat !='none') {
416
+ if ($post->post_type !=NULL && $post->post_type =='post') {
417
+ $primary_cat = get_category($_seopress_robots_primary_cat);
418
+ } elseif ($post->post_type !=NULL && $post->post_type =='product') {
419
+ $primary_cat = get_term($_seopress_robots_primary_cat, 'product_cat');
420
+ }
421
+ if (!is_wp_error($primary_cat) && $primary_cat !=NULL) {
422
+ return $primary_cat;
423
+ }
424
+ } else {
425
+ //no primary cat
426
+ return $cats_0;
427
  }
 
 
 
428
  }
429
  }
430
  add_filter( 'post_link_category', 'seopress_titles_primary_cat_hook', 10, 3 );
491
 
492
  return preg_replace( '`' . preg_quote( $category_base, '`' ) . '`u', '', $link, 1 );
493
  }
494
+ add_filter( 'term_link', 'seopress_remove_category_base' );
495
 
496
  add_action('template_redirect', 'seopress_category_redirect', 1);
497
  function seopress_category_redirect(){
inc/functions/sitemap/template-html-sitemap.php CHANGED
@@ -14,6 +14,7 @@ if (is_post_type_hierarchical($cpt_key)) {
14
  $postslist = get_posts( $args );
15
  }
16
  if (!empty($postslist)) {
 
17
  if (is_post_type_hierarchical($cpt_key)) {
18
  $walker_page = new Walker_Page();
19
  $content .= '<ul>';
@@ -30,16 +31,20 @@ if (!empty($postslist)) {
30
  if ($cpt_key !='post' && isset($obj->labels->name)) {//check if not Post cpt
31
  $content .= '<li><a href="'.get_post_type_archive_link($cpt_key).'">'.$obj->labels->name.'</a></li>';
32
  }
 
33
  foreach ( $postslist as $post ) {
34
  setup_postdata( $post );
35
  $content .= '<li>';
36
  $content .= '<a href="'.get_permalink($post).'">'.get_the_title($post).'</a>';
37
  if (seopress_xml_sitemap_html_date_option() !='1') {
38
- $content .= ' - '.get_the_date('j F Y', $post);
 
 
 
39
  }
40
  $content .= '</li>';
41
  }
42
  wp_reset_postdata();
43
  $content .= '</ul>';
44
- }
45
  }
14
  $postslist = get_posts( $args );
15
  }
16
  if (!empty($postslist)) {
17
+ $date = true;
18
  if (is_post_type_hierarchical($cpt_key)) {
19
  $walker_page = new Walker_Page();
20
  $content .= '<ul>';
31
  if ($cpt_key !='post' && isset($obj->labels->name)) {//check if not Post cpt
32
  $content .= '<li><a href="'.get_post_type_archive_link($cpt_key).'">'.$obj->labels->name.'</a></li>';
33
  }
34
+
35
  foreach ( $postslist as $post ) {
36
  setup_postdata( $post );
37
  $content .= '<li>';
38
  $content .= '<a href="'.get_permalink($post).'">'.get_the_title($post).'</a>';
39
  if (seopress_xml_sitemap_html_date_option() !='1') {
40
+ $date = apply_filters( 'seopress_sitemaps_html_post_date', $date, $cpt_key );
41
+ if ($date ===true) {
42
+ $content .= ' - '.get_the_date('j F Y', $post);
43
+ }
44
  }
45
  $content .= '</li>';
46
  }
47
  wp_reset_postdata();
48
  $content .= '</ul>';
49
+ }
50
  }
inc/functions/sitemap/template-xml-sitemaps.php CHANGED
@@ -58,6 +58,7 @@ function seopress_xml_sitemap_index() {
58
  $max = 1000;
59
  $max = apply_filters('seopress_sitemaps_max_posts_per_sitemap', $max);
60
 
 
61
  if (isset($count_posts->publish)) {
62
  $published_posts = $count_posts->publish;
63
  }
58
  $max = 1000;
59
  $max = apply_filters('seopress_sitemaps_max_posts_per_sitemap', $max);
60
 
61
+ $published_posts = '';
62
  if (isset($count_posts->publish)) {
63
  $published_posts = $count_posts->publish;
64
  }
inc/functions/variables/dynamic-variables.php CHANGED
@@ -4,10 +4,12 @@ defined( 'ABSPATH' ) or die( 'Please don&rsquo;t call the plugin directly. Thank
4
  //Init
5
  global $post;
6
  global $term;
 
7
 
8
  $seopress_titles_title_template ='';
9
  $seopress_titles_description_template ='';
10
  $seopress_paged ='1';
 
11
  $the_author_meta ='';
12
  $sep = '';
13
  $seopress_excerpt ='';
@@ -53,6 +55,16 @@ if (get_query_var('paged') >'1') {
53
  $seopress_paged = '';
54
  }
55
 
 
 
 
 
 
 
 
 
 
 
56
  if (is_singular() && isset($post->post_author)){
57
  $the_author_meta = get_the_author_meta('display_name', $post->post_author);
58
  $author_bio = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes(get_the_author_meta('description', $post->post_author))))));
@@ -180,6 +192,7 @@ $seopress_titles_template_variables_array = array(
180
  '%%term_description%%',
181
  '%%search_keywords%%',
182
  '%%current_pagination%%',
 
183
  '%%cpt_plural%%',
184
  '%%archive_title%%',
185
  '%%archive_date%%',
@@ -227,6 +240,7 @@ $seopress_titles_template_replace_array = array(
227
  wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses(term_description())),$seopress_excerpt_length),
228
  $get_search_query,
229
  $seopress_paged,
 
230
  post_type_archive_title('', false),
231
  get_the_archive_title(),
232
  get_query_var('monthnum').' - '.get_query_var('year'),
@@ -255,6 +269,7 @@ $variables = array(
255
  'seopress_titles_title_template' => $seopress_titles_title_template,
256
  'seopress_titles_description_template' => $seopress_titles_description_template,
257
  'seopress_paged' => $seopress_paged,
 
258
  'the_author_meta' => $the_author_meta,
259
  'sep' => $sep,
260
  'seopress_excerpt' => $seopress_excerpt,
@@ -273,4 +288,6 @@ $variables = array(
273
  'seopress_excerpt_length' => $seopress_excerpt_length,
274
  );
275
 
 
 
276
  return $variables;
4
  //Init
5
  global $post;
6
  global $term;
7
+ global $wp_query;
8
 
9
  $seopress_titles_title_template ='';
10
  $seopress_titles_description_template ='';
11
  $seopress_paged ='1';
12
+ $seopress_context_paged = '';
13
  $the_author_meta ='';
14
  $sep = '';
15
  $seopress_excerpt ='';
55
  $seopress_paged = '';
56
  }
57
 
58
+ if (isset($wp_query->max_num_pages)) {
59
+ if (get_query_var('paged') > 1) {
60
+ $current_page = get_query_var('paged');
61
+ } else {
62
+ $current_page = 1;
63
+ }
64
+ $seopress_context_paged = sprintf(__('Page %d of %2$d','wp-seopress'),$current_page, $wp_query->max_num_pages);
65
+ $seopress_context_paged = apply_filters('seopress_context_paged', $seopress_context_paged);
66
+ }
67
+
68
  if (is_singular() && isset($post->post_author)){
69
  $the_author_meta = get_the_author_meta('display_name', $post->post_author);
70
  $author_bio = esc_attr(stripslashes_deep(wp_filter_nohtml_kses(wp_strip_all_tags(strip_shortcodes(get_the_author_meta('description', $post->post_author))))));
192
  '%%term_description%%',
193
  '%%search_keywords%%',
194
  '%%current_pagination%%',
195
+ '%%page%%',
196
  '%%cpt_plural%%',
197
  '%%archive_title%%',
198
  '%%archive_date%%',
240
  wp_trim_words(stripslashes_deep(wp_filter_nohtml_kses(term_description())),$seopress_excerpt_length),
241
  $get_search_query,
242
  $seopress_paged,
243
+ $seopress_context_paged,
244
  post_type_archive_title('', false),
245
  get_the_archive_title(),
246
  get_query_var('monthnum').' - '.get_query_var('year'),
269
  'seopress_titles_title_template' => $seopress_titles_title_template,
270
  'seopress_titles_description_template' => $seopress_titles_description_template,
271
  'seopress_paged' => $seopress_paged,
272
+ 'seopress_context_paged' => $seopress_context_paged,
273
  'the_author_meta' => $the_author_meta,
274
  'sep' => $sep,
275
  'seopress_excerpt' => $seopress_excerpt,
288
  'seopress_excerpt_length' => $seopress_excerpt_length,
289
  );
290
 
291
+ $variables = apply_filters('seopress_titles_template_variables',$variables);
292
+
293
  return $variables;
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: 2019-11-21 12:07+0100\n"
7
  "PO-Revision-Date: 2019-08-22 12:52+0200\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
@@ -22,7 +22,7 @@ msgstr ""
22
  msgid "SEOPress"
23
  msgstr ""
24
 
25
- #: inc/admin/admin-header.php:23 inc/admin/admin.php:1402
26
  #: inc/admin/adminbar.php:77
27
  msgid "PRO"
28
  msgstr ""
@@ -42,34 +42,34 @@ msgid "XML / HTML Sitemap"
42
  msgstr ""
43
 
44
  #: inc/admin/admin-header.php:47 inc/admin/admin.php:187
45
- #: inc/admin/admin.php:1578 inc/admin/adminbar.php:37
46
  msgid "Social Networks"
47
  msgstr ""
48
 
49
  #: inc/admin/admin-header.php:53 inc/admin/admin.php:188
50
- #: inc/admin/admin.php:1620 inc/admin/adminbar.php:43
51
  msgid "Google Analytics"
52
  msgstr ""
53
 
54
  #: inc/admin/admin-header.php:59 inc/admin/admin-metaboxes-form.php:58
55
- #: inc/admin/admin.php:189 inc/admin/admin.php:347 inc/admin/admin.php:621
56
- #: inc/admin/admin.php:1662 inc/admin/adminbar.php:49
57
  msgid "Advanced"
58
  msgstr ""
59
 
60
- #: inc/admin/admin-header.php:67 inc/admin/admin.php:1696
61
  msgid "WooCommerce"
62
  msgstr ""
63
 
64
- #: inc/admin/admin-header.php:73 inc/admin/admin.php:1728
65
  msgid "Easy Digital Downloads"
66
  msgstr ""
67
 
68
- #: inc/admin/admin-header.php:79 inc/admin/admin.php:1760
69
  msgid "Local Business"
70
  msgstr ""
71
 
72
- #: inc/admin/admin-header.php:85 inc/admin/admin.php:1792
73
  msgid "Dublin Core"
74
  msgstr ""
75
 
@@ -77,37 +77,37 @@ msgstr ""
77
  msgid "Structured Data Types (schema.org)"
78
  msgstr ""
79
 
80
- #: inc/admin/admin-header.php:97 inc/admin/admin.php:1857
81
  msgid "Breadcrumbs"
82
  msgstr ""
83
 
84
- #: inc/admin/admin-header.php:103 inc/admin/admin.php:1899
85
  msgid "Google Page Speed"
86
  msgstr ""
87
 
88
- #: inc/admin/admin-header.php:110 inc/admin/admin.php:1925
89
  msgid "robots.txt"
90
  msgstr ""
91
 
92
- #: inc/admin/admin-header.php:117 inc/admin/admin.php:1970
93
  msgid "Google News Sitemap"
94
  msgstr ""
95
 
96
- #: inc/admin/admin-header.php:123 inc/admin/admin.php:660
97
- #: inc/admin/admin.php:2017 inc/admin/adminbar.php:92
98
  msgid "Redirections"
99
  msgstr ""
100
 
101
- #: inc/admin/admin-header.php:129 inc/admin/admin.php:2060
102
  msgid "Broken links"
103
  msgstr ""
104
 
105
- #: inc/admin/admin-header.php:135 inc/admin/admin.php:2093
106
  #: inc/admin/adminbar.php:107
107
  msgid "Backlinks"
108
  msgstr ""
109
 
110
- #: inc/admin/admin-header.php:141 inc/admin/admin.php:2108
111
  msgid "URL Rewriting"
112
  msgstr ""
113
 
@@ -115,21 +115,21 @@ msgstr ""
115
  msgid "White Label"
116
  msgstr ""
117
 
118
- #: inc/admin/admin-header.php:154 inc/admin/admin.php:2144
119
  msgid ".htaccess"
120
  msgstr ""
121
 
122
- #: inc/admin/admin-header.php:161 inc/admin/admin.php:2160
123
  msgid "RSS"
124
  msgstr ""
125
 
126
- #: inc/admin/admin-header.php:167 inc/admin/admin.php:1376
127
- #: inc/admin/admin.php:2201 inc/admin/adminbar.php:71
128
  msgid "License"
129
  msgstr ""
130
 
131
  #: inc/admin/admin-header.php:174 inc/admin/admin.php:190
132
- #: inc/admin/admin.php:2176 inc/admin/adminbar.php:55
133
  msgid "Tools"
134
  msgstr ""
135
 
@@ -183,7 +183,7 @@ msgstr ""
183
 
184
  #: inc/admin/admin-metaboxes-content-analysis-form.php:9
185
  #: inc/admin/admin-metaboxes-content-analysis-form.php:10
186
- #: inc/functions/options-advanced-admin.php:772
187
  msgid "Target keywords"
188
  msgstr ""
189
 
@@ -288,229 +288,241 @@ msgid ""
288
  "target=\"_blank\">keywords stuffing</a>."
289
  msgstr ""
290
 
291
- #: inc/admin/admin-metaboxes-content-analysis-form.php:136
 
 
 
 
 
 
 
 
 
 
 
 
292
  msgid "H1 (Heading 1)"
293
  msgstr ""
294
 
295
- #: inc/admin/admin-metaboxes-content-analysis-form.php:142
296
  msgid "Target keywords were found in Heading 1 (H1)."
297
  msgstr ""
298
 
299
- #: inc/admin/admin-metaboxes-content-analysis-form.php:151
300
- #: inc/admin/admin-metaboxes-content-analysis-form.php:172
301
- #: inc/admin/admin-metaboxes-content-analysis-form.php:190
302
- #: inc/admin/admin-metaboxes-content-analysis-form.php:209
303
- #: inc/admin/admin-metaboxes-content-analysis-form.php:238
304
  #, php-format
305
  msgid "%s was found %d times."
306
  msgstr ""
307
 
308
- #: inc/admin/admin-metaboxes-content-analysis-form.php:156
309
  #, php-format
310
  msgid "We found %d Heading 1 (H1) in your content."
311
  msgstr ""
312
 
313
- #: inc/admin/admin-metaboxes-content-analysis-form.php:157
314
  msgid ""
315
  "You should not use more than one H1 heading in your post content. The rule "
316
  "is simple: only one H1 for each web page. It is better for both SEO and "
317
  "accessibility."
318
  msgstr ""
319
 
320
- #: inc/admin/admin-metaboxes-content-analysis-form.php:162
321
  msgid "H2 (Heading 2)"
322
  msgstr ""
323
 
324
- #: inc/admin/admin-metaboxes-content-analysis-form.php:164
325
  msgid "Target keywords were found in Heading 2 (H2)."
326
  msgstr ""
327
 
328
- #: inc/admin/admin-metaboxes-content-analysis-form.php:176
329
  msgid "None of your target keywords were found in Heading 2 (H2)."
330
  msgstr ""
331
 
332
- #: inc/admin/admin-metaboxes-content-analysis-form.php:180
333
  msgid "H3 (Heading 3)"
334
  msgstr ""
335
 
336
- #: inc/admin/admin-metaboxes-content-analysis-form.php:182
337
  msgid "Target keywords were found in Heading 3 (H3)."
338
  msgstr ""
339
 
340
- #: inc/admin/admin-metaboxes-content-analysis-form.php:194
341
  msgid "None of your target keywords were found in Heading 3 (H3)."
342
  msgstr ""
343
 
344
- #: inc/admin/admin-metaboxes-content-analysis-form.php:198
345
  msgid "Meta title"
346
  msgstr ""
347
 
348
- #: inc/admin/admin-metaboxes-content-analysis-form.php:201
349
  msgid "Target keywords were found in the Meta Title."
350
  msgstr ""
351
 
352
- #: inc/admin/admin-metaboxes-content-analysis-form.php:213
353
  msgid "None of your target keywords were found in the Meta Title."
354
  msgstr ""
355
 
356
- #: inc/admin/admin-metaboxes-content-analysis-form.php:217
357
  msgid "Your custom title is too long."
358
  msgstr ""
359
 
360
- #: inc/admin/admin-metaboxes-content-analysis-form.php:219
361
  msgid "The length of your title is correct"
362
  msgstr ""
363
 
364
- #: inc/admin/admin-metaboxes-content-analysis-form.php:222
365
  msgid "No custom title is set for this post."
366
  msgstr ""
367
 
368
- #: inc/admin/admin-metaboxes-content-analysis-form.php:226
369
  #: inc/admin/admin-metaboxes-form.php:126
370
  #: inc/admin/admin-metaboxes-form.php:127 inc/admin/admin-wizard.php:256
371
  #: inc/admin/admin-wizard.php:275 inc/admin/admin-wizard.php:292
372
- #: inc/admin/admin-wizard.php:311 inc/admin/admin.php:744
373
- #: inc/admin/admin.php:765 inc/admin/admin.php:784 inc/admin/admin.php:805
374
- #: inc/admin/admin.php:826 inc/admin/admin.php:2298 inc/admin/admin.php:3765
375
- #: inc/functions/options-advanced-admin.php:764
376
  msgid "Meta description"
377
  msgstr ""
378
 
379
- #: inc/admin/admin-metaboxes-content-analysis-form.php:230
380
  msgid "Target keywords were found in the Meta description."
381
  msgstr ""
382
 
383
- #: inc/admin/admin-metaboxes-content-analysis-form.php:242
384
  msgid "None of your target keywords were found in the Meta description."
385
  msgstr ""
386
 
387
- #: inc/admin/admin-metaboxes-content-analysis-form.php:246
388
  msgid "You custom meta description is too long."
389
  msgstr ""
390
 
391
- #: inc/admin/admin-metaboxes-content-analysis-form.php:248
392
  msgid "The length of your meta description is correct"
393
  msgstr ""
394
 
395
- #: inc/admin/admin-metaboxes-content-analysis-form.php:251
396
  msgid "No custom meta description is set for this post."
397
  msgstr ""
398
 
399
- #: inc/admin/admin-metaboxes-content-analysis-form.php:257
400
  msgid "Robots"
401
  msgstr ""
402
 
403
- #: inc/admin/admin-metaboxes-content-analysis-form.php:267
404
  #, php-format
405
  msgid ""
406
  "We found %s meta robots in your page. There is probably something wrong with "
407
  "your theme!"
408
  msgstr ""
409
 
410
- #: inc/admin/admin-metaboxes-content-analysis-form.php:271
411
  msgid "noindex is on! Search engines can't index this page."
412
  msgstr ""
413
 
414
- #: inc/admin/admin-metaboxes-content-analysis-form.php:273
415
  msgid "noindex is off. Search engines will index this page."
416
  msgstr ""
417
 
418
- #: inc/admin/admin-metaboxes-content-analysis-form.php:277
419
  msgid "nofollow is on! Search engines can't follow your links on this page."
420
  msgstr ""
421
 
422
- #: inc/admin/admin-metaboxes-content-analysis-form.php:279
423
  msgid "nofollow is off. Search engines will follow links on this page."
424
  msgstr ""
425
 
426
- #: inc/admin/admin-metaboxes-content-analysis-form.php:283
427
  msgid "noarchive is on! Search engines will not cache your page."
428
  msgstr ""
429
 
430
- #: inc/admin/admin-metaboxes-content-analysis-form.php:285
431
  msgid "noarchive is off. Search engines will probably cache your page."
432
  msgstr ""
433
 
434
- #: inc/admin/admin-metaboxes-content-analysis-form.php:289
435
  msgid ""
436
  "nosnippet is on! Search engines will not display a snippet of this page in "
437
  "search results."
438
  msgstr ""
439
 
440
- #: inc/admin/admin-metaboxes-content-analysis-form.php:291
441
  msgid ""
442
  "nosnippet is off. Search engines will display a snippet of this page in "
443
  "search results."
444
  msgstr ""
445
 
446
- #: inc/admin/admin-metaboxes-content-analysis-form.php:294
447
  msgid ""
448
  "We found no meta robots on this page. It means, your page is index,follow. "
449
  "Search engines will index it, and follow links. "
450
  msgstr ""
451
 
452
- #: inc/admin/admin-metaboxes-content-analysis-form.php:302
453
  msgid ""
454
  "noimageindex is on! Google will not index your images on this page (but if "
455
  "someone makes a direct link to one of your image in this page, it will be "
456
  "indexed)."
457
  msgstr ""
458
 
459
- #: inc/admin/admin-metaboxes-content-analysis-form.php:304
460
- #: inc/admin/admin-metaboxes-content-analysis-form.php:313
461
  msgid "noimageindex is off. Google will index the images on this page."
462
  msgstr ""
463
 
464
- #: inc/admin/admin-metaboxes-content-analysis-form.php:308
465
  msgid ""
466
  "nositelinkssearchbox is on! Google will not display a sitelinks searchbox in "
467
  "search results."
468
  msgstr ""
469
 
470
- #: inc/admin/admin-metaboxes-content-analysis-form.php:310
471
- #: inc/admin/admin-metaboxes-content-analysis-form.php:315
472
  msgid ""
473
  "nositelinkssearchbox is off. Google will probably display a sitelinks "
474
  "searchbox in search results."
475
  msgstr ""
476
 
477
- #: inc/admin/admin-metaboxes-content-analysis-form.php:325
478
  msgid ""
479
  "No alternative text found for these images. Alt tags are important for both "
480
  "SEO and accessibility."
481
  msgstr ""
482
 
483
- #: inc/admin/admin-metaboxes-content-analysis-form.php:336
484
  msgid "All alternative tags are filled in. Good work!"
485
  msgstr ""
486
 
487
- #: inc/admin/admin-metaboxes-content-analysis-form.php:339
488
  msgid ""
489
  "We could not find any image in your content. Content with media is a plus "
490
  "for your SEO."
491
  msgstr ""
492
 
493
- #: inc/admin/admin-metaboxes-content-analysis-form.php:345
494
  msgid "NoFollow Links"
495
  msgstr ""
496
 
497
- #: inc/admin/admin-metaboxes-content-analysis-form.php:350
498
  #, php-format
499
  msgid ""
500
  "We found %d links with nofollow attribute in your page. Do not overuse "
501
  "nofollow attribute in links. Below, the list:"
502
  msgstr ""
503
 
504
- #: inc/admin/admin-metaboxes-content-analysis-form.php:360
505
- #: inc/admin/admin-metaboxes-content-analysis-form.php:379
506
  msgid "This page doesn't have any nofollow links."
507
  msgstr ""
508
 
509
- #: inc/admin/admin-metaboxes-content-analysis-form.php:364
510
  msgid "Outbound Links"
511
  msgstr ""
512
 
513
- #: inc/admin/admin-metaboxes-content-analysis-form.php:369
514
  #, php-format
515
  msgid ""
516
  "We found %s outbound links in your page. Internet is built on the principle "
@@ -522,7 +534,7 @@ msgstr ""
522
 
523
  #: inc/admin/admin-metaboxes-form.php:48 inc/admin/admin-metaboxes.php:163
524
  #: inc/admin/admin-metaboxes.php:166 inc/admin/admin.php:183
525
- #: inc/admin/adminbar.php:12 inc/functions/options-advanced-admin.php:754
526
  msgid "SEO"
527
  msgstr ""
528
 
@@ -574,23 +586,23 @@ msgstr ""
574
  msgid " (maximum recommended limit)"
575
  msgstr ""
576
 
577
- #: inc/admin/admin-metaboxes-form.php:118 inc/admin/admin.php:3852
578
- #: inc/admin/admin.php:4881
579
  msgid "Post Title"
580
  msgstr ""
581
 
582
  #: inc/admin/admin-metaboxes-form.php:120 inc/admin/admin.php:198
583
- #: inc/admin/admin.php:3756 inc/admin/admin.php:3856 inc/admin/admin.php:4040
584
- #: inc/admin/admin.php:4163 inc/admin/admin.php:4241 inc/admin/admin.php:4312
585
- #: inc/admin/admin.php:4382 inc/admin/admin.php:4432
586
  msgid "Site Title"
587
  msgstr ""
588
 
589
  #: inc/admin/admin-metaboxes-form.php:122 inc/admin/admin-wizard.php:369
590
- #: inc/admin/admin.php:2282 inc/admin/admin.php:3743 inc/admin/admin.php:3757
591
- #: inc/admin/admin.php:3854 inc/admin/admin.php:4038 inc/admin/admin.php:4161
592
- #: inc/admin/admin.php:4240 inc/admin/admin.php:4311 inc/admin/admin.php:4381
593
- #: inc/admin/admin.php:4433
594
  msgid "Separator"
595
  msgstr ""
596
 
@@ -661,8 +673,8 @@ msgstr ""
661
  #: inc/admin/admin-metaboxes-form.php:215
662
  #: inc/admin/admin-metaboxes-form.php:216 inc/admin/admin-wizard.php:260
663
  #: inc/admin/admin-wizard.php:296 inc/admin/admin-wizard.php:315
664
- #: inc/admin/admin.php:748 inc/admin/admin.php:788 inc/admin/admin.php:809
665
- #: inc/admin/admin.php:830
666
  msgid "Canonical URL"
667
  msgstr ""
668
 
@@ -694,7 +706,7 @@ msgid ""
694
  msgstr ""
695
 
696
  #: inc/admin/admin-metaboxes-form.php:236 inc/admin/admin-wizard.php:380
697
- #: inc/admin/admin.php:4924
698
  msgid "None (will disable this feature)"
699
  msgstr ""
700
 
@@ -735,12 +747,12 @@ msgid "Facebook Thumbnail"
735
  msgstr ""
736
 
737
  #: inc/admin/admin-metaboxes-form.php:270
738
- #: inc/admin/admin-metaboxes-form.php:288 inc/admin/admin.php:5193
739
- #: inc/admin/admin.php:5285
740
  msgid "Select your default thumbnail"
741
  msgstr ""
742
 
743
- #: inc/admin/admin-metaboxes-form.php:271 inc/admin/admin.php:5197
744
  msgid ""
745
  "Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or "
746
  "3280x1712px for retina screens)"
@@ -748,8 +760,8 @@ msgstr ""
748
 
749
  #: inc/admin/admin-metaboxes-form.php:272
750
  #: inc/admin/admin-metaboxes-form.php:290
751
- #: inc/admin/admin-metaboxes-form.php:439 inc/admin/admin.php:4958
752
- #: inc/admin/admin.php:5195 inc/admin/admin.php:5287
753
  msgid "Upload an Image"
754
  msgstr ""
755
 
@@ -780,7 +792,7 @@ msgstr ""
780
  msgid "Twitter Thumbnail"
781
  msgstr ""
782
 
783
- #: inc/admin/admin-metaboxes-form.php:289 inc/admin/admin.php:5289
784
  msgid ""
785
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
786
  "(2:1 with large card), 5Mb max."
@@ -1061,47 +1073,47 @@ msgid ""
1061
  "quickly."
1062
  msgstr ""
1063
 
1064
- #: inc/admin/admin-wizard.php:252 inc/admin/admin.php:740
1065
  msgid "Import posts and terms metadata from Yoast"
1066
  msgstr ""
1067
 
1068
  #: inc/admin/admin-wizard.php:253 inc/admin/admin-wizard.php:272
1069
  #: inc/admin/admin-wizard.php:289 inc/admin/admin-wizard.php:308
1070
- #: inc/admin/admin.php:741 inc/admin/admin.php:762 inc/admin/admin.php:781
1071
- #: inc/admin/admin.php:802 inc/admin/admin.php:823
1072
  msgid "By clicking Migrate, we'll import:"
1073
  msgstr ""
1074
 
1075
  #: inc/admin/admin-wizard.php:255 inc/admin/admin-wizard.php:274
1076
  #: inc/admin/admin-wizard.php:291 inc/admin/admin-wizard.php:310
1077
- #: inc/admin/admin.php:743 inc/admin/admin.php:764 inc/admin/admin.php:783
1078
- #: inc/admin/admin.php:804 inc/admin/admin.php:825
1079
  msgid "Title tags"
1080
  msgstr ""
1081
 
1082
  #: inc/admin/admin-wizard.php:257 inc/admin/admin-wizard.php:276
1083
  #: inc/admin/admin-wizard.php:293 inc/admin/admin-wizard.php:312
1084
- #: inc/admin/admin.php:745 inc/admin/admin.php:766 inc/admin/admin.php:785
1085
- #: inc/admin/admin.php:806 inc/admin/admin.php:827
1086
  msgid "Facebook Open Graph tags (title, description and image thumbnail)"
1087
  msgstr ""
1088
 
1089
  #: inc/admin/admin-wizard.php:258 inc/admin/admin-wizard.php:294
1090
- #: inc/admin/admin-wizard.php:313 inc/admin/admin.php:746
1091
- #: inc/admin/admin.php:786 inc/admin/admin.php:807 inc/admin/admin.php:828
1092
  msgid "Twitter tags (title, description and image thumbnail)"
1093
  msgstr ""
1094
 
1095
- #: inc/admin/admin-wizard.php:259 inc/admin/admin.php:747
1096
  msgid "Meta Robots (noindex, nofollow...)"
1097
  msgstr ""
1098
 
1099
  #: inc/admin/admin-wizard.php:261 inc/admin/admin-wizard.php:316
1100
- #: inc/admin/admin.php:749 inc/admin/admin.php:810
1101
  msgid "Focus keywords"
1102
  msgstr ""
1103
 
1104
- #: inc/admin/admin-wizard.php:263 inc/admin/admin.php:751
1105
  msgid ""
1106
  "<strong>WARNING:</strong> Migration will delete / update all SEOPress posts "
1107
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
@@ -1110,59 +1122,59 @@ msgstr ""
1110
 
1111
  #: inc/admin/admin-wizard.php:264 inc/admin/admin-wizard.php:281
1112
  #: inc/admin/admin-wizard.php:300 inc/admin/admin-wizard.php:319
1113
- #: inc/admin/admin.php:752 inc/admin/admin.php:771 inc/admin/admin.php:792
1114
- #: inc/admin/admin.php:813 inc/admin/admin.php:833
1115
  msgid "Migrate now"
1116
  msgstr ""
1117
 
1118
- #: inc/admin/admin-wizard.php:271 inc/admin/admin.php:761
1119
  msgid "Import posts and terms metadata from All In One SEO"
1120
  msgstr ""
1121
 
1122
- #: inc/admin/admin-wizard.php:277 inc/admin/admin.php:767
1123
  msgid "Twitter image thumbnail"
1124
  msgstr ""
1125
 
1126
- #: inc/admin/admin-wizard.php:278 inc/admin/admin.php:768
1127
  msgid "Meta Robots (noindex, nofollow)"
1128
  msgstr ""
1129
 
1130
- #: inc/admin/admin-wizard.php:280 inc/admin/admin.php:770
1131
  msgid ""
1132
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
1133
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
1134
  "NOT delete any AIO data."
1135
  msgstr ""
1136
 
1137
- #: inc/admin/admin-wizard.php:288 inc/admin/admin.php:780
1138
  msgid "Import posts and terms metadata from The SEO Framework"
1139
  msgstr ""
1140
 
1141
- #: inc/admin/admin-wizard.php:295 inc/admin/admin.php:787
1142
  msgid "Meta Robots (noindex, nofollow, noarchive)"
1143
  msgstr ""
1144
 
1145
- #: inc/admin/admin-wizard.php:297 inc/admin/admin.php:789
1146
- #: inc/functions/options-advanced-admin.php:296
1147
  msgid "Redirect URL"
1148
  msgstr ""
1149
 
1150
- #: inc/admin/admin-wizard.php:299 inc/admin/admin.php:791
1151
  msgid ""
1152
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
1153
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
1154
  "NOT delete any SEO Framework data."
1155
  msgstr ""
1156
 
1157
- #: inc/admin/admin-wizard.php:307 inc/admin/admin.php:801
1158
  msgid "Import posts and terms metadata from Rank Math"
1159
  msgstr ""
1160
 
1161
- #: inc/admin/admin-wizard.php:314 inc/admin/admin.php:808
1162
  msgid "Meta Robots (noindex, nofollow, noarchive, noimageindex)"
1163
  msgstr ""
1164
 
1165
- #: inc/admin/admin-wizard.php:318 inc/admin/admin.php:812
1166
  msgid ""
1167
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
1168
  "and terms metadata. Some dynamic variables will not be interpreted. We do "
@@ -1183,8 +1195,8 @@ msgstr ""
1183
  msgid "eg: |"
1184
  msgstr ""
1185
 
1186
- #: inc/admin/admin-wizard.php:372 inc/admin/admin.php:2290
1187
- #: inc/admin/admin.php:3753
1188
  msgid "Site title"
1189
  msgstr ""
1190
 
@@ -1192,7 +1204,7 @@ msgstr ""
1192
  msgid "eg: My super website"
1193
  msgstr ""
1194
 
1195
- #: inc/admin/admin-wizard.php:375 inc/admin/admin.php:2687
1196
  msgid "Person or organization"
1197
  msgstr ""
1198
 
@@ -1200,16 +1212,16 @@ msgstr ""
1200
  msgid "Choose a knowledge type"
1201
  msgstr ""
1202
 
1203
- #: inc/admin/admin-wizard.php:383 inc/admin/admin.php:4927
1204
  msgid "Person"
1205
  msgstr ""
1206
 
1207
- #: inc/admin/admin-wizard.php:386 inc/admin/admin.php:4930
1208
  msgid "Organization"
1209
  msgstr ""
1210
 
1211
- #: inc/admin/admin-wizard.php:390 inc/admin/admin.php:2695
1212
- #: inc/admin/admin.php:4943
1213
  msgid "Your name/organization"
1214
  msgstr ""
1215
 
@@ -1217,8 +1229,8 @@ msgstr ""
1217
  msgid "eg: SEOPress"
1218
  msgstr ""
1219
 
1220
- #: inc/admin/admin-wizard.php:393 inc/admin/admin.php:2703
1221
- #: inc/admin/admin.php:4956
1222
  msgid "Your photo/organization logo"
1223
  msgstr ""
1224
 
@@ -1230,78 +1242,78 @@ msgstr ""
1230
  msgid "Facebook page URL"
1231
  msgstr ""
1232
 
1233
- #: inc/admin/admin-wizard.php:397 inc/admin/admin.php:5064
1234
  msgid "eg: https://www.facebook.com/your-page"
1235
  msgstr ""
1236
 
1237
- #: inc/admin/admin-wizard.php:399 inc/admin/admin.php:2752
1238
  msgid "Twitter Username"
1239
  msgstr ""
1240
 
1241
- #: inc/admin/admin-wizard.php:400 inc/admin/admin.php:5077
1242
  msgid "eg: @wp_seopress"
1243
  msgstr ""
1244
 
1245
- #: inc/admin/admin-wizard.php:402 inc/admin/admin.php:2760
1246
- #: inc/admin/admin.php:5089
1247
  msgid "Pinterest URL"
1248
  msgstr ""
1249
 
1250
- #: inc/admin/admin-wizard.php:403 inc/admin/admin.php:5089
1251
  msgid "eg: https://pinterest.com/wpbuy/"
1252
  msgstr ""
1253
 
1254
- #: inc/admin/admin-wizard.php:405 inc/admin/admin.php:2768
1255
- #: inc/admin/admin.php:5101
1256
  msgid "Instagram URL"
1257
  msgstr ""
1258
 
1259
- #: inc/admin/admin-wizard.php:406 inc/admin/admin.php:5101
1260
  msgid "eg: https://www.instagram.com/wp_seopress/"
1261
  msgstr ""
1262
 
1263
- #: inc/admin/admin-wizard.php:408 inc/admin/admin.php:2776
1264
- #: inc/admin/admin.php:5113
1265
  msgid "YouTube URL"
1266
  msgstr ""
1267
 
1268
- #: inc/admin/admin-wizard.php:409 inc/admin/admin.php:5113
1269
  msgid "eg: https://www.youtube.com/SEOPress"
1270
  msgstr ""
1271
 
1272
- #: inc/admin/admin-wizard.php:411 inc/admin/admin.php:2784
1273
- #: inc/admin/admin.php:5125
1274
  msgid "LinkedIn URL"
1275
  msgstr ""
1276
 
1277
- #: inc/admin/admin-wizard.php:412 inc/admin/admin.php:5125
1278
  msgid "eg: http://linkedin.com/company/seopress/"
1279
  msgstr ""
1280
 
1281
- #: inc/admin/admin-wizard.php:414 inc/admin/admin.php:2792
1282
- #: inc/admin/admin.php:5137
1283
  msgid "MySpace URL"
1284
  msgstr ""
1285
 
1286
- #: inc/admin/admin-wizard.php:415 inc/admin/admin.php:5137
1287
  msgid "eg: https://myspace.com/your-page"
1288
  msgstr ""
1289
 
1290
- #: inc/admin/admin-wizard.php:417 inc/admin/admin.php:2800
1291
- #: inc/admin/admin.php:5149
1292
  msgid "Soundcloud URL"
1293
  msgstr ""
1294
 
1295
- #: inc/admin/admin-wizard.php:418 inc/admin/admin.php:5149
1296
  msgid "eg: https://soundcloud.com/michaelmccannmusic"
1297
  msgstr ""
1298
 
1299
- #: inc/admin/admin-wizard.php:420 inc/admin/admin.php:2808
1300
- #: inc/admin/admin.php:5161
1301
  msgid "Tumblr URL"
1302
  msgstr ""
1303
 
1304
- #: inc/admin/admin-wizard.php:421 inc/admin/admin.php:5161
1305
  msgid "eg: https://your-site.tumblr.com"
1306
  msgstr ""
1307
 
@@ -1320,7 +1332,7 @@ msgstr ""
1320
  msgid "For which single post types, should indexing be disabled?"
1321
  msgstr ""
1322
 
1323
- #: inc/admin/admin-wizard.php:498 inc/admin/admin.php:3888
1324
  msgid ""
1325
  "Do not display this single post type in search engine results "
1326
  "<strong>(noindex)</strong>"
@@ -1330,7 +1342,7 @@ msgstr ""
1330
  msgid "For which post type archives, should indexing be disabled?"
1331
  msgstr ""
1332
 
1333
- #: inc/admin/admin-wizard.php:527 inc/admin/admin.php:4195
1334
  msgid ""
1335
  "Do not display this post type archive in search engine results "
1336
  "<strong>(noindex)</strong>"
@@ -1340,13 +1352,13 @@ msgstr ""
1340
  msgid "For which taxonomy archives, should indexing be disabled?"
1341
  msgstr ""
1342
 
1343
- #: inc/admin/admin-wizard.php:556 inc/admin/admin.php:4090
1344
  msgid ""
1345
  "Do not display this taxonomy archive in search engine results "
1346
  "<strong>(noindex)</strong>"
1347
  msgstr ""
1348
 
1349
- #: inc/admin/admin-wizard.php:639 inc/admin/admin.php:4272
1350
  msgid ""
1351
  "Do not display author archives in search engine results <strong>(noindex)</"
1352
  "strong>"
@@ -1358,7 +1370,7 @@ msgid ""
1358
  "content."
1359
  msgstr ""
1360
 
1361
- #: inc/admin/admin-wizard.php:651 inc/admin/admin.php:6094
1362
  msgid ""
1363
  "Redirect attachment pages to their file URL (https://www.example.com/my-"
1364
  "image-file.jpg)"
@@ -1370,7 +1382,7 @@ msgid ""
1370
  "Optimize this by redirecting the user directly to the URL of the media file."
1371
  msgstr ""
1372
 
1373
- #: inc/admin/admin-wizard.php:663 inc/admin/admin.php:6215
1374
  msgid "Remove /category/ in your permalinks"
1375
  msgstr ""
1376
 
@@ -1382,17 +1394,17 @@ msgstr ""
1382
  msgid "Your site is now ready for search engines!"
1383
  msgstr ""
1384
 
1385
- #: inc/admin/admin-wizard.php:721 inc/functions/options-advanced-admin.php:13
1386
  msgid "Welcome to SEOPress PRO!"
1387
  msgstr ""
1388
 
1389
- #: inc/admin/admin-wizard.php:724 inc/functions/options-advanced-admin.php:14
1390
  msgid ""
1391
  "Please activate your license to receive automatic updates and get premium "
1392
  "support."
1393
  msgstr ""
1394
 
1395
- #: inc/admin/admin-wizard.php:729 inc/functions/options-advanced-admin.php:15
1396
  msgid "Activate License"
1397
  msgstr ""
1398
 
@@ -1463,7 +1475,7 @@ msgstr ""
1463
  msgid "Dashboard"
1464
  msgstr ""
1465
 
1466
- #: inc/admin/admin.php:186 inc/admin/admin.php:1536
1467
  msgid "XML / Image / Video / HTML Sitemap"
1468
  msgstr ""
1469
 
@@ -1486,7 +1498,7 @@ msgstr ""
1486
  msgid "%%tagline%% (alias %%sitedesc%%)"
1487
  msgstr ""
1488
 
1489
- #: inc/admin/admin.php:199 inc/admin/admin.php:3758 inc/admin/admin.php:3769
1490
  msgid "Tagline"
1491
  msgstr ""
1492
 
@@ -1540,7 +1552,7 @@ msgstr ""
1540
  msgid "%%post_author%%"
1541
  msgstr ""
1542
 
1543
- #: inc/admin/admin.php:205 inc/admin/admin.php:4239
1544
  msgid "Post author"
1545
  msgstr ""
1546
 
@@ -1636,407 +1648,416 @@ msgstr ""
1636
 
1637
  #: inc/admin/admin.php:216
1638
  #, php-format
1639
- msgid "%%cpt_plural%%"
1640
  msgstr ""
1641
 
1642
  #: inc/admin/admin.php:216
1643
- msgid "Plural Post Type Archive name"
1644
  msgstr ""
1645
 
1646
  #: inc/admin/admin.php:217
1647
  #, php-format
1648
- msgid "%%archive_title%%"
1649
  msgstr ""
1650
 
1651
  #: inc/admin/admin.php:217
1652
- msgid "Archive title"
1653
  msgstr ""
1654
 
1655
  #: inc/admin/admin.php:218
1656
  #, php-format
1657
- msgid "%%archive_date%%"
1658
  msgstr ""
1659
 
1660
  #: inc/admin/admin.php:218
1661
- msgid "Date Archive"
1662
  msgstr ""
1663
 
1664
  #: inc/admin/admin.php:219
1665
  #, php-format
1666
- msgid "%%archive_date_day%%"
1667
  msgstr ""
1668
 
1669
  #: inc/admin/admin.php:219
1670
- msgid "Day Archive date"
1671
  msgstr ""
1672
 
1673
  #: inc/admin/admin.php:220
1674
  #, php-format
1675
- msgid "%%archive_date_month%%"
1676
  msgstr ""
1677
 
1678
  #: inc/admin/admin.php:220
1679
- msgid "Month Archive title"
1680
  msgstr ""
1681
 
1682
  #: inc/admin/admin.php:221
1683
  #, php-format
1684
- msgid "%%archive_date_year%%"
1685
  msgstr ""
1686
 
1687
  #: inc/admin/admin.php:221
1688
- msgid "Year Archive title"
1689
  msgstr ""
1690
 
1691
  #: inc/admin/admin.php:222
1692
  #, php-format
1693
- msgid "%%_cf_your_custom_field_name%%"
1694
  msgstr ""
1695
 
1696
  #: inc/admin/admin.php:222
1697
- msgid "Custom fields from post, page or post type"
1698
  msgstr ""
1699
 
1700
  #: inc/admin/admin.php:223
1701
  #, php-format
1702
- msgid "%%_ct_your_custom_taxonomy_slug%%"
1703
  msgstr ""
1704
 
1705
  #: inc/admin/admin.php:223
1706
- msgid "Custom term taxonomy from post, page or post type"
1707
  msgstr ""
1708
 
1709
  #: inc/admin/admin.php:224
1710
  #, php-format
1711
- msgid "%%wc_single_cat%%"
1712
  msgstr ""
1713
 
1714
  #: inc/admin/admin.php:224
1715
- msgid "Single product category"
1716
  msgstr ""
1717
 
1718
  #: inc/admin/admin.php:225
1719
  #, php-format
1720
- msgid "%%wc_single_tag%%"
1721
  msgstr ""
1722
 
1723
  #: inc/admin/admin.php:225
1724
- msgid "Single product tag"
1725
  msgstr ""
1726
 
1727
  #: inc/admin/admin.php:226
1728
  #, php-format
1729
- msgid "%%wc_single_short_desc%%"
1730
  msgstr ""
1731
 
1732
  #: inc/admin/admin.php:226
1733
- msgid "Single product short description"
1734
  msgstr ""
1735
 
1736
  #: inc/admin/admin.php:227
1737
  #, php-format
1738
- msgid "%%wc_single_price%%"
1739
  msgstr ""
1740
 
1741
  #: inc/admin/admin.php:227
1742
- msgid "Single product price"
1743
  msgstr ""
1744
 
1745
  #: inc/admin/admin.php:228
1746
  #, php-format
1747
- msgid "%%wc_single_price_exc_tax%%"
1748
  msgstr ""
1749
 
1750
  #: inc/admin/admin.php:228
1751
- msgid "Single product price taxes excluded"
1752
  msgstr ""
1753
 
1754
  #: inc/admin/admin.php:229
1755
  #, php-format
1756
- msgid "%%wc_sku%%"
1757
  msgstr ""
1758
 
1759
  #: inc/admin/admin.php:229
1760
- msgid "Single SKU product"
1761
  msgstr ""
1762
 
1763
  #: inc/admin/admin.php:230
1764
  #, php-format
1765
- msgid "%%currentday%%"
1766
  msgstr ""
1767
 
1768
  #: inc/admin/admin.php:230
1769
- msgid "Current day"
1770
  msgstr ""
1771
 
1772
  #: inc/admin/admin.php:231
1773
  #, php-format
1774
- msgid "%%currentmonth%%"
1775
  msgstr ""
1776
 
1777
  #: inc/admin/admin.php:231
1778
- msgid "Current month"
1779
  msgstr ""
1780
 
1781
  #: inc/admin/admin.php:232
1782
  #, php-format
1783
- msgid "%%currentyear%%"
1784
  msgstr ""
1785
 
1786
  #: inc/admin/admin.php:232
1787
- msgid "Current year"
1788
  msgstr ""
1789
 
1790
  #: inc/admin/admin.php:233
1791
  #, php-format
1792
- msgid "%%currentdate%%"
1793
  msgstr ""
1794
 
1795
  #: inc/admin/admin.php:233
1796
- msgid "Current date"
1797
  msgstr ""
1798
 
1799
  #: inc/admin/admin.php:234
1800
  #, php-format
1801
- msgid "%%currenttime%%"
1802
  msgstr ""
1803
 
1804
  #: inc/admin/admin.php:234
1805
- msgid "Current time"
1806
  msgstr ""
1807
 
1808
  #: inc/admin/admin.php:235
1809
  #, php-format
1810
- msgid "%%author_bio%%"
1811
  msgstr ""
1812
 
1813
  #: inc/admin/admin.php:235
 
 
 
 
 
 
 
 
 
1814
  msgid "Author bio, meta desc only"
1815
  msgstr ""
1816
 
1817
- #: inc/admin/admin.php:241
1818
  msgid "Templates variables"
1819
  msgstr ""
1820
 
1821
- #: inc/admin/admin.php:249 inc/admin/admin.php:257
1822
  msgid "Browse our guides"
1823
  msgstr ""
1824
 
1825
- #: inc/admin/admin.php:250 inc/admin/admin.php:258
1826
  msgid "Read our FAQ"
1827
  msgstr ""
1828
 
1829
- #: inc/admin/admin.php:251 inc/admin/admin.php:259
1830
  msgid "Check our website"
1831
  msgstr ""
1832
 
1833
- #: inc/admin/admin.php:271
1834
  msgid ""
1835
  "Watch our video to learn how to connect your WordPress site with Google "
1836
  "Analytics and get statistics right in your dashboard (PRO only)."
1837
  msgstr ""
1838
 
1839
- #: inc/admin/admin.php:276
1840
  msgid "How-to"
1841
  msgstr ""
1842
 
1843
- #: inc/admin/admin.php:284 inc/admin/admin.php:290
1844
  msgid "Read our guide"
1845
  msgstr ""
1846
 
1847
- #: inc/admin/admin.php:325 inc/admin/admin.php:329 inc/admin/admin.php:392
1848
- #: inc/admin/admin.php:396 inc/admin/admin.php:457 inc/admin/admin.php:461
1849
- #: inc/admin/admin.php:524 inc/admin/admin.php:528 inc/admin/admin.php:603
1850
- #: inc/admin/admin.php:607 inc/admin/admin.php:1508 inc/admin/admin.php:1512
1851
- #: inc/admin/admin.php:1550 inc/admin/admin.php:1554 inc/admin/admin.php:1592
1852
- #: inc/admin/admin.php:1596 inc/admin/admin.php:1634 inc/admin/admin.php:1638
1853
- #: inc/admin/admin.php:1676 inc/admin/admin.php:1680 inc/admin/admin.php:1710
1854
- #: inc/admin/admin.php:1714 inc/admin/admin.php:1742 inc/admin/admin.php:1746
1855
- #: inc/admin/admin.php:1774 inc/admin/admin.php:1778 inc/admin/admin.php:1806
1856
- #: inc/admin/admin.php:1810 inc/admin/admin.php:1839 inc/admin/admin.php:1843
1857
- #: inc/admin/admin.php:1871 inc/admin/admin.php:1875 inc/admin/admin.php:1941
1858
- #: inc/admin/admin.php:1945 inc/admin/admin.php:1984 inc/admin/admin.php:1988
1859
- #: inc/admin/admin.php:2032 inc/admin/admin.php:2036 inc/admin/admin.php:2075
1860
- #: inc/admin/admin.php:2079 inc/admin/admin.php:2124 inc/admin/admin.php:2128
1861
  msgid "Click to disable this feature"
1862
  msgstr ""
1863
 
1864
- #: inc/admin/admin.php:326 inc/admin/admin.php:328 inc/admin/admin.php:393
1865
- #: inc/admin/admin.php:395 inc/admin/admin.php:458 inc/admin/admin.php:460
1866
- #: inc/admin/admin.php:525 inc/admin/admin.php:527 inc/admin/admin.php:604
1867
- #: inc/admin/admin.php:606 inc/admin/admin.php:1509 inc/admin/admin.php:1511
1868
- #: inc/admin/admin.php:1551 inc/admin/admin.php:1553 inc/admin/admin.php:1593
1869
- #: inc/admin/admin.php:1595 inc/admin/admin.php:1635 inc/admin/admin.php:1637
1870
- #: inc/admin/admin.php:1677 inc/admin/admin.php:1679 inc/admin/admin.php:1711
1871
- #: inc/admin/admin.php:1713 inc/admin/admin.php:1743 inc/admin/admin.php:1745
1872
- #: inc/admin/admin.php:1775 inc/admin/admin.php:1777 inc/admin/admin.php:1807
1873
- #: inc/admin/admin.php:1809 inc/admin/admin.php:1840 inc/admin/admin.php:1842
1874
- #: inc/admin/admin.php:1872 inc/admin/admin.php:1874 inc/admin/admin.php:1942
1875
- #: inc/admin/admin.php:1944 inc/admin/admin.php:1985 inc/admin/admin.php:1987
1876
- #: inc/admin/admin.php:2033 inc/admin/admin.php:2035 inc/admin/admin.php:2076
1877
- #: inc/admin/admin.php:2078 inc/admin/admin.php:2125 inc/admin/admin.php:2127
1878
  msgid "Click to enable this feature"
1879
  msgstr ""
1880
 
1881
- #: inc/admin/admin.php:343
1882
  msgid "Home"
1883
  msgstr ""
1884
 
1885
- #: inc/admin/admin.php:344
1886
  msgid "Single Post Types"
1887
  msgstr ""
1888
 
1889
- #: inc/admin/admin.php:345
1890
  msgid "Archives"
1891
  msgstr ""
1892
 
1893
- #: inc/admin/admin.php:346 inc/admin/admin.php:412
1894
  msgid "Taxonomies"
1895
  msgstr ""
1896
 
1897
- #: inc/admin/admin.php:410 inc/admin/admin.php:543 inc/admin/admin.php:551
1898
  msgid "General"
1899
  msgstr ""
1900
 
1901
- #: inc/admin/admin.php:411
1902
  msgid "Post Types"
1903
  msgstr ""
1904
 
1905
- #: inc/admin/admin.php:413
1906
  msgid "HTML Sitemap"
1907
  msgstr ""
1908
 
1909
- #: inc/admin/admin.php:475
1910
  msgid "Knowledge Graph"
1911
  msgstr ""
1912
 
1913
- #: inc/admin/admin.php:476
1914
  msgid "Your social accounts"
1915
  msgstr ""
1916
 
1917
- #: inc/admin/admin.php:477
1918
  msgid "Facebook (Open Graph)"
1919
  msgstr ""
1920
 
1921
- #: inc/admin/admin.php:478
1922
  msgid "Twitter (Twitter card)"
1923
  msgstr ""
1924
 
1925
- #: inc/admin/admin.php:544 inc/admin/admin.php:552
1926
  msgid "Tracking"
1927
  msgstr ""
1928
 
1929
- #: inc/admin/admin.php:545 inc/admin/admin.php:553
1930
  msgid "Events"
1931
  msgstr ""
1932
 
1933
- #: inc/admin/admin.php:546 inc/admin/admin.php:554
1934
  msgid "Custom Dimensions"
1935
  msgstr ""
1936
 
1937
- #: inc/admin/admin.php:547
1938
  msgid "Stats in Dashboard"
1939
  msgstr ""
1940
 
1941
- #: inc/admin/admin.php:622
1942
  msgid "Appearance"
1943
  msgstr ""
1944
 
1945
- #: inc/admin/admin.php:623
1946
  msgid "Security"
1947
  msgstr ""
1948
 
1949
- #: inc/admin/admin.php:657
1950
  msgid "Data"
1951
  msgstr ""
1952
 
1953
- #: inc/admin/admin.php:658 seopress.php:353
1954
  msgid "Settings"
1955
  msgstr ""
1956
 
1957
- #: inc/admin/admin.php:659
1958
  msgid "Plugins"
1959
  msgstr ""
1960
 
1961
- #: inc/admin/admin.php:661
1962
  msgid "Reset"
1963
  msgstr ""
1964
 
1965
- #: inc/admin/admin.php:679
1966
  msgid "Import data from a CSV"
1967
  msgstr ""
1968
 
1969
- #: inc/admin/admin.php:680
1970
  msgid ""
1971
  "Import your title, meta description, meta robots, social metas from a CSV "
1972
  "file with our import tool."
1973
  msgstr ""
1974
 
1975
- #: inc/admin/admin.php:681
1976
  msgid "Run the importer"
1977
  msgstr ""
1978
 
1979
- #: inc/admin/admin.php:686
1980
  msgid "Export metadata to a CSV"
1981
  msgstr ""
1982
 
1983
- #: inc/admin/admin.php:687
1984
  msgid "Export your SEOPress metadata for this site as a .csv file."
1985
  msgstr ""
1986
 
1987
- #: inc/admin/admin.php:692 inc/admin/admin.php:710 inc/admin/admin.php:903
1988
  msgid "Export"
1989
  msgstr ""
1990
 
1991
- #: inc/admin/admin.php:704
1992
  msgid "Export plugin settings"
1993
  msgstr ""
1994
 
1995
- #: inc/admin/admin.php:705
1996
  msgid ""
1997
  "Export the plugin settings for this site as a .json file. This allows you to "
1998
  "easily import the configuration into another site."
1999
  msgstr ""
2000
 
2001
- #: inc/admin/admin.php:718
2002
  msgid "Import plugin settings"
2003
  msgstr ""
2004
 
2005
- #: inc/admin/admin.php:719
2006
  msgid ""
2007
  "Import the plugin settings from a .json file. This file can be obtained by "
2008
  "exporting the settings on another site using the form above."
2009
  msgstr ""
2010
 
2011
- #: inc/admin/admin.php:727 inc/admin/admin.php:858 inc/admin/admin.php:874
2012
- #: inc/admin/admin.php:890
2013
  msgid "Import"
2014
  msgstr ""
2015
 
2016
- #: inc/admin/admin.php:729
2017
  msgid "Import completed!"
2018
  msgstr ""
2019
 
2020
- #: inc/admin/admin.php:822
2021
  msgid "Import posts metadata from Squirrly SEO"
2022
  msgstr ""
2023
 
2024
- #: inc/admin/admin.php:829
2025
  msgid "Meta Robots (noindex or nofollow)"
2026
  msgstr ""
2027
 
2028
- #: inc/admin/admin.php:832
2029
  msgid ""
2030
  "<strong>WARNING:</strong> Migration will update / delete all SEOPress posts "
2031
  "metadata. Some dynamic variables will not be interpreted. We do NOT delete "
2032
  "any Squirrly SEO data."
2033
  msgstr ""
2034
 
2035
- #: inc/admin/admin.php:844
2036
  msgid "Import Redirections"
2037
  msgstr ""
2038
 
2039
- #: inc/admin/admin.php:845
2040
  msgid ""
2041
  "Import your own redirections from a .csv file (separator \";\"). You must "
2042
  "have 5 columns in this order: <ul><li>URL to match (without your domain "
@@ -2048,15 +2069,15 @@ msgid ""
2048
  "to the redirection).</li></ul>"
2049
  msgstr ""
2050
 
2051
- #: inc/admin/admin.php:848
2052
  msgid "Download a CSV example"
2053
  msgstr ""
2054
 
2055
- #: inc/admin/admin.php:865
2056
  msgid "Import Redirections from the Redirections plugin"
2057
  msgstr ""
2058
 
2059
- #: inc/admin/admin.php:866
2060
  msgid ""
2061
  "Import your own redirections from a .json file generated by the Redirections "
2062
  "plugin (make sure to select <strong>\"WordPress redirects\"</strong> when "
@@ -2065,929 +2086,963 @@ msgid ""
2065
  "file and existing redirects."
2066
  msgstr ""
2067
 
2068
- #: inc/admin/admin.php:881
2069
  msgid "Import Redirections from Yoast Premium"
2070
  msgstr ""
2071
 
2072
- #: inc/admin/admin.php:882
2073
  msgid ""
2074
  "Import your own redirections from a .csv file generated by Yoast Premium. "
2075
  "Note that we don't support certain options, like regex. To avoid conflicts, "
2076
  "make sure there are no duplicates between your file and existing redirects."
2077
  msgstr ""
2078
 
2079
- #: inc/admin/admin.php:897
2080
  msgid "Export Redirections"
2081
  msgstr ""
2082
 
2083
- #: inc/admin/admin.php:898
2084
  msgid ""
2085
  "Export all redirections for this site as a .csv file. This allows you to "
2086
  "easily import the redirections into another site, to Excel / Google Sheets..."
2087
  msgstr ""
2088
 
2089
- #: inc/admin/admin.php:909
 
 
 
 
 
 
 
 
 
 
 
 
2090
  msgid "Redirections feature is disabled. Please activate it from the PRO page."
2091
  msgstr ""
2092
 
2093
- #: inc/admin/admin.php:910
2094
  msgid "Activate Redirections"
2095
  msgstr ""
2096
 
2097
- #: inc/admin/admin.php:917
2098
  msgid "Reset All Notices From Notifications Center"
2099
  msgstr ""
2100
 
2101
- #: inc/admin/admin.php:918
2102
  msgid ""
2103
  "By clicking Reset Notices, all notices in the notifications center will be "
2104
  "set to their initial status."
2105
  msgstr ""
2106
 
2107
- #: inc/admin/admin.php:923
2108
  msgid "Reset notices"
2109
  msgstr ""
2110
 
2111
- #: inc/admin/admin.php:931
2112
  msgid "Reset All Settings"
2113
  msgstr ""
2114
 
2115
- #: inc/admin/admin.php:932
2116
  msgid ""
2117
  "<strong>WARNING:</strong> Delete all options related to SEOPress in your "
2118
  "database AND set settings to their default values."
2119
  msgstr ""
2120
 
2121
- #: inc/admin/admin.php:937
2122
  msgid "Reset settings"
2123
  msgstr ""
2124
 
2125
- #: inc/admin/admin.php:1004 inc/admin/admin.php:1010
2126
  msgid "Notifications Center"
2127
  msgstr ""
2128
 
2129
- #: inc/admin/admin.php:1005
2130
  msgid "SEO Tools"
2131
  msgstr ""
2132
 
2133
- #: inc/admin/admin.php:1006 inc/admin/admin.php:1011
2134
  msgid "Useful links"
2135
  msgstr ""
2136
 
2137
- #: inc/admin/admin.php:1055
2138
  msgid "Configure SEOPress in a few minutes with our installation wizard"
2139
  msgstr ""
2140
 
2141
- #: inc/admin/admin.php:1057
2142
  msgid "Start the wizard"
2143
  msgstr ""
2144
 
2145
- #: inc/admin/admin.php:1079
2146
  msgid "Your theme doesn't use <strong>add_theme_support('title-tag');</strong>"
2147
  msgstr ""
2148
 
2149
- #: inc/admin/admin.php:1080 inc/admin/admin.php:1167 inc/admin/admin.php:1177
2150
- #: inc/admin/admin.php:1187
2151
  msgid "High impact"
2152
  msgstr ""
2153
 
2154
- #: inc/admin/admin.php:1092 inc/admin/admin.php:1153 inc/admin/admin.php:5462
2155
- #: inc/admin/admin.php:5520 inc/admin/admin.php:5541 inc/admin/admin.php:5562
2156
- #: inc/admin/admin.php:5583
2157
  msgid "Learn more"
2158
  msgstr ""
2159
 
2160
- #: inc/admin/admin.php:1101
2161
  msgid ""
2162
  "We noticed that you use <strong>Yoast SEO</strong> plugin. <br>Do you want "
2163
  "to migrate all your posts metadata to SEOPress?"
2164
  msgstr ""
2165
 
2166
- #: inc/admin/admin.php:1103 inc/admin/admin.php:1112
2167
  msgid "Migrate!"
2168
  msgstr ""
2169
 
2170
- #: inc/admin/admin.php:1110
2171
  msgid ""
2172
  "We noticed that you use <strong>All In One SEO Pack</strong> plugin. <br>Do "
2173
  "you want to migrate all your posts metadata to SEOPress?"
2174
  msgstr ""
2175
 
2176
- #: inc/admin/admin.php:1119
2177
  msgid ""
2178
  "We noticed that you use another SEO plugin. <br>Do not use multiple SEO "
2179
  "plugins at once to avoid conflicts!"
2180
  msgstr ""
2181
 
2182
- #: inc/admin/admin.php:1129
2183
  msgid ""
2184
  "You have enabled 404 cleaning BUT the scheduled task is not running. <br>To "
2185
  "solve this, please disable and re-enable SEOPress PRO."
2186
  msgstr ""
2187
 
2188
- #: inc/admin/admin.php:1152
2189
  msgid "Your site doesn't use an SSL certificate!"
2190
  msgstr ""
2191
 
2192
- #: inc/admin/admin.php:1154
2193
  msgid "Low impact"
2194
  msgstr ""
2195
 
2196
- #: inc/admin/admin.php:1156
2197
  msgid "Buy an SSL!"
2198
  msgstr ""
2199
 
2200
- #: inc/admin/admin.php:1166
 
 
 
 
2201
  msgid "Your site is not visible to Search Engines!"
2202
  msgstr ""
2203
 
2204
- #: inc/admin/admin.php:1169 inc/admin/admin.php:1179 inc/admin/admin.php:1189
2205
- #: inc/admin/admin.php:1213 inc/admin/admin.php:1292 inc/admin/admin.php:1305
2206
- #: inc/admin/admin.php:1378
2207
  msgid "Fix this!"
2208
  msgstr ""
2209
 
2210
- #: inc/admin/admin.php:1176
2211
  msgid "Your site title is empty!"
2212
  msgstr ""
2213
 
2214
- #: inc/admin/admin.php:1186 inc/admin/admin.php:3575
2215
  msgid ""
2216
  "Your permalinks are not SEO Friendly! Enable pretty permalinks to fix this."
2217
  msgstr ""
2218
 
2219
- #: inc/admin/admin.php:1210
2220
  msgid "Your RSS feed shows full text!"
2221
  msgstr ""
2222
 
2223
- #: inc/admin/admin.php:1211 inc/admin/admin.php:1290 inc/admin/admin.php:1303
2224
  msgid "Medium impact"
2225
  msgstr ""
2226
 
2227
- #: inc/admin/admin.php:1236
2228
  msgid "You like SEOPress? Please help us by rating us 5 stars!"
2229
  msgstr ""
2230
 
2231
- #: inc/admin/admin.php:1238
2232
  msgid "Rate us!"
2233
  msgstr ""
2234
 
2235
- #: inc/admin/admin.php:1262
2236
  msgid "Break comments into pages is ON!"
2237
  msgstr ""
2238
 
2239
- #: inc/admin/admin.php:1263 inc/admin/admin.php:1327 inc/admin/admin.php:1363
2240
  msgid "Huge impact"
2241
  msgstr ""
2242
 
2243
- #: inc/admin/admin.php:1265
2244
  msgid "Disable this!"
2245
  msgstr ""
2246
 
2247
- #: inc/admin/admin.php:1289
2248
  msgid "Display more posts per page on homepage and archives"
2249
  msgstr ""
2250
 
2251
- #: inc/admin/admin.php:1302
2252
  msgid "You don't have an XML Sitemap!"
2253
  msgstr ""
2254
 
2255
- #: inc/admin/admin.php:1326
2256
  msgid "Do you have a Google My Business page? It's free!"
2257
  msgstr ""
2258
 
2259
- #: inc/admin/admin.php:1329
2260