All in One SEO Pack - Version 2.3

Version Description

Download this release

Release Info

Developer hallsofmontezuma
Plugin Icon 128x128 All in One SEO Pack
Version 2.3
Comparing to
See all releases

Code changes from version 2.2.7.6.2 to 2.3

Files changed (140) hide show
  1. README.md +28 -0
  2. aioseop_module_class.php → admin/aioseop_module_class.php +17 -10
  3. aioseop_module_manager.php → admin/aioseop_module_manager.php +3 -3
  4. admin/display/index.php +1 -0
  5. admin/display/postedit.php +0 -0
  6. admin/index.php +1 -0
  7. aioseop_class.php +872 -702
  8. aioseop_module-rtl.css +0 -143
  9. all_in_one_seo_pack.php +164 -25
  10. css/modules/aioseop_module-rtl.css +301 -0
  11. aioseop_module.css → css/modules/aioseop_module.css +79 -52
  12. {languages → i18n}/all-in-one-seo-pack-ar.mo +0 -0
  13. {languages → i18n}/all-in-one-seo-pack-arq.mo +0 -0
  14. {languages → i18n}/all-in-one-seo-pack-az.mo +0 -0
  15. {languages → i18n}/all-in-one-seo-pack-az_TR.mo +0 -0
  16. {languages → i18n}/all-in-one-seo-pack-bg_BG.mo +0 -0
  17. {languages → i18n}/all-in-one-seo-pack-bg_NO.mo +0 -0
  18. {languages → i18n}/all-in-one-seo-pack-ceb.mo +0 -0
  19. {languages → i18n}/all-in-one-seo-pack-cs_CZ.mo +0 -0
  20. {languages → i18n}/all-in-one-seo-pack-da_DK.mo +0 -0
  21. {languages → i18n}/all-in-one-seo-pack-de_DE.mo +0 -0
  22. {languages → i18n}/all-in-one-seo-pack-el.mo +0 -0
  23. {languages → i18n}/all-in-one-seo-pack-en_AU.mo +0 -0
  24. {languages → i18n}/all-in-one-seo-pack-en_CA.mo +0 -0
  25. {languages → i18n}/all-in-one-seo-pack-en_GB.mo +0 -0
  26. {languages → i18n}/all-in-one-seo-pack-en_ZA.mo +0 -0
  27. {languages → i18n}/all-in-one-seo-pack-eo.mo +0 -0
  28. {languages → i18n}/all-in-one-seo-pack-es_AR.mo +0 -0
  29. {languages → i18n}/all-in-one-seo-pack-es_CL.mo +0 -0
  30. {languages → i18n}/all-in-one-seo-pack-es_CO.mo +0 -0
  31. {languages → i18n}/all-in-one-seo-pack-es_ES.mo +0 -0
  32. {languages → i18n}/all-in-one-seo-pack-es_MX.mo +0 -0
  33. {languages → i18n}/all-in-one-seo-pack-es_PE.mo +0 -0
  34. {languages → i18n}/all-in-one-seo-pack-es_PR.mo +0 -0
  35. {languages → i18n}/all-in-one-seo-pack-es_VE.mo +0 -0
  36. {languages → i18n}/all-in-one-seo-pack-fa_IR.mo +0 -0
  37. {languages → i18n}/all-in-one-seo-pack-fr_BE.mo +0 -0
  38. {languages → i18n}/all-in-one-seo-pack-fr_CA.mo +0 -0
  39. {languages → i18n}/all-in-one-seo-pack-fr_FR.mo +0 -0
  40. {languages → i18n}/all-in-one-seo-pack-he_IL.mo +0 -0
  41. {languages → i18n}/all-in-one-seo-pack-hi_IN.mo +0 -0
  42. {languages → i18n}/all-in-one-seo-pack-hr.mo +0 -0
  43. {languages → i18n}/all-in-one-seo-pack-hu_HU.mo +0 -0
  44. {languages → i18n}/all-in-one-seo-pack-id_ID.mo +0 -0
  45. {languages → i18n}/all-in-one-seo-pack-it_IT.mo +0 -0
  46. {languages → i18n}/all-in-one-seo-pack-ja.mo +0 -0
  47. {languages → i18n}/all-in-one-seo-pack-ko_KR.mo +0 -0
  48. {languages → i18n}/all-in-one-seo-pack-nb_NO.mo +0 -0
  49. {languages → i18n}/all-in-one-seo-pack-nl_BE.mo +0 -0
  50. {languages → i18n}/all-in-one-seo-pack-nl_NL.mo +0 -0
  51. {languages → i18n}/all-in-one-seo-pack-nn_NO.mo +0 -0
  52. {languages → i18n}/all-in-one-seo-pack-oci.mo +0 -0
  53. {languages → i18n}/all-in-one-seo-pack-pa_IN.mo +0 -0
  54. {languages → i18n}/all-in-one-seo-pack-pl_PL.mo +0 -0
  55. {languages → i18n}/all-in-one-seo-pack-pt_BR.mo +0 -0
  56. {languages → i18n}/all-in-one-seo-pack-pt_PT.mo +0 -0
  57. {languages → i18n}/all-in-one-seo-pack-ro_RO.mo +0 -0
  58. {languages → i18n}/all-in-one-seo-pack-ru_RU.mo +0 -0
  59. {languages → i18n}/all-in-one-seo-pack-ru_UA.mo +0 -0
  60. {languages → i18n}/all-in-one-seo-pack-sk_SK.mo +0 -0
  61. {languages → i18n}/all-in-one-seo-pack-sq.mo +0 -0
  62. {languages → i18n}/all-in-one-seo-pack-sr_RS.mo +0 -0
  63. {languages → i18n}/all-in-one-seo-pack-sv_SE.mo +0 -0
  64. {languages → i18n}/all-in-one-seo-pack-tr_TR.mo +0 -0
  65. {languages → i18n}/all-in-one-seo-pack-uk.mo +0 -0
  66. {languages → i18n}/all-in-one-seo-pack-vi.mo +0 -0
  67. {languages → i18n}/all-in-one-seo-pack-zh_CN.mo +0 -0
  68. {languages → i18n}/all-in-one-seo-pack-zh_TW.mo +0 -0
  69. all-in-one-seo-pack.pot → i18n/all-in-one-seo-pack.pot +1336 -834
  70. images/inmotion.gif +0 -0
  71. images/wincher1.png +0 -0
  72. images/wincher2.jpg +0 -0
  73. images/wincher3.png +0 -0
  74. images/wincher4.png +0 -0
  75. aioseop_utility.php → inc/aioseop_UTF8.php +0 -0
  76. aioseop_functions.php → inc/aioseop_functions.php +63 -48
  77. inc/aiosp_calc_desc.php +0 -0
  78. inc/aiosp_calc_title.php +0 -0
  79. inc/commonstrings.php +38 -0
  80. inc/deprecated.php +214 -0
  81. JSON.php → inc/extlib/JSON.php +0 -0
  82. OAuth.php → inc/extlib/OAuth.php +0 -0
  83. inc/index.php +1 -0
  84. index.php +1 -0
  85. init.php +2 -0
  86. aioseop_module.js → js/modules/aioseop_module.js +21 -29
  87. quickedit_functions.js → js/quickedit_functions.js +1 -1
  88. aioseop_bad_robots.php → modules/aioseop_bad_robots.php +18 -7
  89. aioseop_feature_manager.php → modules/aioseop_feature_manager.php +39 -24
  90. aioseop_file_editor.php → modules/aioseop_file_editor.php +0 -0
  91. aioseop_importer_exporter.php → modules/aioseop_importer_exporter.php +0 -0
  92. aioseop_opengraph.php → modules/aioseop_opengraph.php +24 -28
  93. aioseop_performance.php → modules/aioseop_performance.php +12 -2
  94. aioseop_robots.php → modules/aioseop_robots.php +1 -1
  95. aioseop_sitemap.php → modules/aioseop_sitemap.php +2 -11
  96. modules/aioseop_video_sitemap.php +5 -0
  97. {images → modules/images}/Default-BW-Retina.png +0 -0
  98. {images → modules/images}/Default-BW-Standard.png +0 -0
  99. {images → modules/images}/Default-Color-Retina.png +0 -0
  100. {images → modules/images}/Default-Color-Standard.png +0 -0
  101. {images → modules/images}/FileEditor-BW-Retina.png +0 -0
  102. {images → modules/images}/FileEditor-BW-Standard.png +0 -0
  103. {images → modules/images}/FileEditor-Color-Retina.png +0 -0
  104. {images → modules/images}/FileEditor-Color-Standard.png +0 -0
  105. {images → modules/images}/ImporterExporter-BW-Retina.png +0 -0
  106. {images → modules/images}/ImporterExporter-BW-Standard.png +0 -0
  107. {images → modules/images}/ImporterExporter-Color-Retina.png +0 -0
  108. {images → modules/images}/ImporterExporter-Color-Standard.png +0 -0
  109. {images → modules/images}/Performance-BW-Retina.png +0 -0
  110. {images → modules/images}/Performance-BW-Standard.png +0 -0
  111. {images → modules/images}/Performance-Color-Retina.png +0 -0
  112. {images → modules/images}/Performance-Color-Standard.png +0 -0
  113. {images → modules/images}/Robots-BW-Retina.png +0 -0
  114. {images → modules/images}/Robots-BW-Standard.png +0 -0
  115. {images → modules/images}/Robots-Color-Retina.png +0 -0
  116. {images → modules/images}/Robots-Color-Standard.png +0 -0
  117. {images → modules/images}/SocialMeta-BW-Retina.png +0 -0
  118. {images → modules/images}/SocialMeta-BW-Standard.png +0 -0
  119. {images → modules/images}/SocialMeta-Color-Retina.png +0 -0
  120. {images → modules/images}/SocialMeta-Color-Standard.png +0 -0
  121. {images → modules/images}/XMLSitemaps-BW-Retina.png +0 -0
  122. {images → modules/images}/XMLSitemaps-BW-Standard.png +0 -0
  123. {images → modules/images}/XMLSitemaps-Color-Retina.png +0 -0
  124. {images → modules/images}/XMLSitemaps-Color-Standard.png +0 -0
  125. {images → modules/images}/banner11.png +0 -0
  126. {images → modules/images}/banner12.png +0 -0
  127. {images → modules/images}/banner13.png +0 -0
  128. {images → modules/images}/banner14.png +0 -0
  129. {images → modules/images}/banner15.png +0 -0
  130. {images → modules/images}/banner21.jpg +0 -0
  131. {images → modules/images}/banner22.jpg +0 -0
  132. modules/images/delete.png +0 -0
  133. {images → modules/images}/facebook-follow-retina.png +0 -0
  134. {images → modules/images}/facebook-follow-standard.png +0 -0
  135. {images → modules/images}/twitter-follow-retina.png +0 -0
  136. {images → modules/images}/twitter-follow-standard.png +0 -0
  137. modules/index.php +1 -0
  138. public/index.php +1 -0
  139. readme.txt +5 -5
  140. sitemap.xsl +15 -0
README.md ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # All in One SEO Pack
2
+
3
+ Most Downloaded WordPress plugin... almost 30 million downloads
4
+
5
+ ## Help
6
+
7
+ Read the [documentation](http://semperplugins.com/documentation/)
8
+
9
+ ## Installation
10
+
11
+ Typically the one-click installer... run bleeding edge coming soon
12
+
13
+ ## Contributing
14
+
15
+ 1. Create your feature branch: `git checkout -b my-new-feature`
16
+ 2. Commit your changes: `git commit -am 'Add some feature'`
17
+ 3. Push to the branch: `git push origin my-new-feature`
18
+ 4. Submit a pull request :D
19
+
20
+ ## Supercharge!
21
+
22
+ [Upgrade to Pro Version](http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/)
23
+
24
+ ## Acknowledgements
25
+
26
+ * Coffee
27
+ * Bacon
28
+ * Coffee
aioseop_module_class.php → admin/aioseop_module_class.php RENAMED
@@ -138,7 +138,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
138
 
139
  if ( $charset == 'UTF-8' ) {
140
  global $UTF8_TABLES;
141
- include_once( 'aioseop_utility.php' );
142
  if ( is_array( $UTF8_TABLES ) ) {
143
  if ( $mode == 'upper' ) return strtr( $str, $UTF8_TABLES['strtoupper'] );
144
  if ( $mode == 'lower' ) return strtr( $str, $UTF8_TABLES['strtolower'] );
@@ -568,7 +568,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
568
  );
569
  return $referlist;
570
  }
571
-
572
  function is_bad_referer() {
573
  $referlist = $this->default_bad_referers();
574
  $referlist = apply_filters( $this->prefix . "badreferlist", $referlist );
@@ -589,7 +589,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
589
  $allow_bot = false;
590
  return apply_filters( $this->prefix . "allow_bot", $allow_bot );
591
  }
592
-
593
  /**
594
  * Displays tabs for tabbed locations on a settings page.
595
  */
@@ -1267,9 +1267,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1267
  function enqueue_styles( ) {
1268
  wp_enqueue_style( 'thickbox' );
1269
  if ( !empty( $this->pointers ) ) wp_enqueue_style( 'wp-pointer' );
1270
- wp_enqueue_style( 'aioseop-module-style', $this->plugin_path['url'] . 'aioseop_module.css' );
1271
  if ( function_exists( 'is_rtl' ) && is_rtl() )
1272
- wp_enqueue_style( 'aioseop-module-style-rtl', $this->plugin_path['url'] . 'aioseop_module-rtl.css', array('aioseop-module-style') );
1273
  }
1274
 
1275
  /**
@@ -1286,7 +1286,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1286
  if ( !empty( $this->pointers ) ) {
1287
  wp_enqueue_script( 'wp-pointer', false, array( 'jquery' ) );
1288
  }
1289
- wp_enqueue_script( 'aioseop-module-script', $this->plugin_path['url'] . 'aioseop_module.js', Array(), AIOSEOP_VERSION );
1290
  if ( !empty( $this->script_data ) ) {
1291
  aioseop_localize_script_data();
1292
  }
@@ -1401,7 +1401,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1401
  else
1402
  $name = $this->name;
1403
  if ( $this->locations === null ) {
1404
- $hookname = add_submenu_page( $parent_slug, $name, $name, 'manage_options', plugin_basename( $this->file ), Array( $this, 'display_settings_page' ) );
1405
  add_action( "load-{$hookname}", Array( $this, 'add_page_hooks' ) );
1406
  return true;
1407
  }
@@ -1412,13 +1412,13 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1412
  $name = $this->menu_name;
1413
  else
1414
  $name = $this->name;
1415
- $hookname = add_submenu_page( $parent_slug, $name, $name, 'manage_options', plugin_basename( $this->file ), Array( $this, 'display_settings_page' ) );
1416
  } else {
1417
  if ( !empty( $v['menu_name'] ) )
1418
  $name = $v['menu_name'];
1419
  else
1420
  $name = $v['name'];
1421
- $hookname = add_submenu_page( $parent_slug, $name, $name, 'manage_options', $this->get_prefix( $k ) . $k, Array( $this, "display_settings_page_$k" ) );
1422
  }
1423
  add_action( "load-{$hookname}", Array( $this, 'add_page_hooks' ) );
1424
  } elseif ( $v['type'] === 'metabox' ) {
@@ -1942,7 +1942,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module' ) ) {
1942
  if ( $post == null ) {
1943
  global $post;
1944
  }
1945
- if ( isset( $post ) ) {
 
 
 
 
 
 
 
1946
  $get_opts = get_post_meta( $post->ID, '_' . $prefix . $location, true );
1947
  }
1948
  }
138
 
139
  if ( $charset == 'UTF-8' ) {
140
  global $UTF8_TABLES;
141
+ include_once( AIOSEOP_PLUGIN_DIR . 'inc/aioseop_UTF8.php' );
142
  if ( is_array( $UTF8_TABLES ) ) {
143
  if ( $mode == 'upper' ) return strtr( $str, $UTF8_TABLES['strtoupper'] );
144
  if ( $mode == 'lower' ) return strtr( $str, $UTF8_TABLES['strtolower'] );
568
  );
569
  return $referlist;
570
  }
571
+
572
  function is_bad_referer() {
573
  $referlist = $this->default_bad_referers();
574
  $referlist = apply_filters( $this->prefix . "badreferlist", $referlist );
589
  $allow_bot = false;
590
  return apply_filters( $this->prefix . "allow_bot", $allow_bot );
591
  }
592
+
593
  /**
594
  * Displays tabs for tabbed locations on a settings page.
595
  */
1267
  function enqueue_styles( ) {
1268
  wp_enqueue_style( 'thickbox' );
1269
  if ( !empty( $this->pointers ) ) wp_enqueue_style( 'wp-pointer' );
1270
+ wp_enqueue_style( 'aioseop-module-style', AIOSEOP_PLUGIN_URL . 'css/modules/aioseop_module.css' );
1271
  if ( function_exists( 'is_rtl' ) && is_rtl() )
1272
+ wp_enqueue_style( 'aioseop-module-style-rtl', AIOSEOP_PLUGIN_URL . 'css/modules/aioseop_module-rtl.css', array('aioseop-module-style') );
1273
  }
1274
 
1275
  /**
1286
  if ( !empty( $this->pointers ) ) {
1287
  wp_enqueue_script( 'wp-pointer', false, array( 'jquery' ) );
1288
  }
1289
+ wp_enqueue_script( 'aioseop-module-script', AIOSEOP_PLUGIN_URL . 'js/modules/aioseop_module.js', Array(), AIOSEOP_VERSION );
1290
  if ( !empty( $this->script_data ) ) {
1291
  aioseop_localize_script_data();
1292
  }
1401
  else
1402
  $name = $this->name;
1403
  if ( $this->locations === null ) {
1404
+ $hookname = add_submenu_page( $parent_slug, $name, $name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ), plugin_basename( $this->file ), Array( $this, 'display_settings_page' ) );
1405
  add_action( "load-{$hookname}", Array( $this, 'add_page_hooks' ) );
1406
  return true;
1407
  }
1412
  $name = $this->menu_name;
1413
  else
1414
  $name = $this->name;
1415
+ $hookname = add_submenu_page( $parent_slug, $name, $name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ), plugin_basename( $this->file ), Array( $this, 'display_settings_page' ) );
1416
  } else {
1417
  if ( !empty( $v['menu_name'] ) )
1418
  $name = $v['menu_name'];
1419
  else
1420
  $name = $v['name'];
1421
+ $hookname = add_submenu_page( $parent_slug, $name, $name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ), $this->get_prefix( $k ) . $k, Array( $this, "display_settings_page_$k" ) );
1422
  }
1423
  add_action( "load-{$hookname}", Array( $this, 'add_page_hooks' ) );
1424
  } elseif ( $v['type'] === 'metabox' ) {
1942
  if ( $post == null ) {
1943
  global $post;
1944
  }
1945
+
1946
+ if ( ( isset( $_GET['taxonomy'] ) && isset( $_GET['tag_ID'] ) ) || is_category() || is_tag() || is_tax() ) {
1947
+
1948
+ if ( AIOSEOPPRO ) {
1949
+ $get_opts = AIO_ProGeneral::getprotax( $get_opts );
1950
+ }
1951
+
1952
+ } elseif ( isset( $post ) ) {
1953
  $get_opts = get_post_meta( $post->ID, '_' . $prefix . $location, true );
1954
  }
1955
  }
aioseop_module_manager.php → admin/aioseop_module_manager.php RENAMED
@@ -58,7 +58,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module_Manager' ) ) {
58
  // The global $aioseop_$module
59
  // $this->modules[$module]
60
  function do_load_module( $mod, $args = null ) {
61
- $mod_path = apply_filters( "aioseop_include_$mod", AIOSEOP_PLUGIN_DIR . "aioseop_$mod.php" );
62
  if ( !empty( $mod_path ) )
63
  require_once( $mod_path );
64
  $ref = "aioseop_$mod";
@@ -67,7 +67,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module_Manager' ) ) {
67
  $module_class = new $classname( $args );
68
  $GLOBALS[$ref] = $module_class;
69
  $this->modules[$mod] = $module_class;
70
- if ( is_user_logged_in() && function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() && current_user_can( 'manage_options' ) )
71
  add_action( 'admin_bar_menu', array( $module_class, 'add_admin_bar_submenu' ), 1001 + $module_class->menu_order() );
72
  if ( is_admin() ) {
73
  add_action( 'aioseop_modules_add_menus', Array( $module_class, 'add_menu' ), $module_class->menu_order() );
@@ -91,7 +91,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Module_Manager' ) ) {
91
  return false;
92
  $mod_enable = false;
93
  $fm_page = ( $this->module_settings_update && wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) &&
94
- isset($_REQUEST['page']) && $_REQUEST['page'] == trailingslashit( AIOSEOP_PLUGIN_DIRNAME ) . 'aioseop_feature_manager.php' );
95
  if ( $fm_page && !$this->settings_reset ) {
96
  if ( isset( $_POST["aiosp_feature_manager_enable_$mod"] ) )
97
  $mod_enable = $_POST["aiosp_feature_manager_enable_$mod"];
58
  // The global $aioseop_$module
59
  // $this->modules[$module]
60
  function do_load_module( $mod, $args = null ) {
61
+ $mod_path = apply_filters( "aioseop_include_$mod", AIOSEOP_PLUGIN_DIR . "modules/aioseop_$mod.php" );
62
  if ( !empty( $mod_path ) )
63
  require_once( $mod_path );
64
  $ref = "aioseop_$mod";
67
  $module_class = new $classname( $args );
68
  $GLOBALS[$ref] = $module_class;
69
  $this->modules[$mod] = $module_class;
70
+ if ( is_user_logged_in() && function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() && current_user_can( 'aiosp_manage_seo' ) )
71
  add_action( 'admin_bar_menu', array( $module_class, 'add_admin_bar_submenu' ), 1001 + $module_class->menu_order() );
72
  if ( is_admin() ) {
73
  add_action( 'aioseop_modules_add_menus', Array( $module_class, 'add_menu' ), $module_class->menu_order() );
91
  return false;
92
  $mod_enable = false;
93
  $fm_page = ( $this->module_settings_update && wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) &&
94
+ isset($_REQUEST['page']) && $_REQUEST['page'] == trailingslashit( AIOSEOP_PLUGIN_DIRNAME ) . 'modules/aioseop_feature_manager.php' );
95
  if ( $fm_page && !$this->settings_reset ) {
96
  if ( isset( $_POST["aiosp_feature_manager_enable_$mod"] ) )
97
  $mod_enable = $_POST["aiosp_feature_manager_enable_$mod"];
admin/display/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
admin/display/postedit.php ADDED
File without changes
admin/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
aioseop_class.php CHANGED
@@ -5,7 +5,7 @@
5
  /**
6
  * Include the module base class.
7
  */
8
- require_once( 'aioseop_module_class.php' );
9
  /**
10
  * The main class.
11
  */
@@ -13,30 +13,30 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
13
 
14
  /** The current version of the plugin. **/
15
  var $version = AIOSEOP_VERSION;
16
-
17
  /** Max numbers of chars in auto-generated description */
18
  var $maximum_description_length = 160;
19
-
20
  /** Minimum number of chars an excerpt should be so that it can be used
21
  * as description. Touch only if you know what you're doing
22
  */
23
  var $minimum_description_length = 1;
24
-
25
  /** Whether output buffering is already being used during forced title rewrites. **/
26
  var $ob_start_detected = false;
27
 
28
  /** The start of the title text in the head section for forced title rewrites. **/
29
  var $title_start = -1;
30
-
31
  /** The end of the title text in the head section for forced title rewrites. **/
32
  var $title_end = -1;
33
-
34
  /** The title before rewriting */
35
  var $orig_title = '';
36
-
37
  /** Filename of log file. */
38
  var $log_file;
39
-
40
  /** Flag whether there should be logging. */
41
  var $do_log;
42
 
@@ -48,41 +48,40 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
48
  var $profile_id;
49
  var $meta_opts = false;
50
  var $is_front_page = null;
51
-
52
  function __construct() {
53
  global $aioseop_options;
54
- $this->log_file = dirname( __FILE__ ) . '/all_in_one_seo_pack.log';
55
-
56
  if ( !empty( $aioseop_options ) && isset( $aioseop_options['aiosp_do_log'] ) && $aioseop_options['aiosp_do_log'] )
57
  $this->do_log = true;
58
  else
59
  $this->do_log = false;
60
 
61
- $this->init();
62
-
63
  $this->name = sprintf( __( '%s Plugin Options', 'all-in-one-seo-pack' ), AIOSEOP_PLUGIN_NAME );
64
  $this->menu_name = __( 'General Settings', 'all-in-one-seo-pack' );
65
-
66
  $this->prefix = 'aiosp_'; // option prefix
67
  $this->option_name = 'aioseop_options';
68
  $this->store_option = true;
69
  $this->file = __FILE__; // the current file
70
  $blog_name = esc_attr( get_bloginfo( 'name' ) );
71
  parent::__construct();
72
-
73
  $this->help_text = Array(
74
  "donate" => __( "All donations support continued development of this free software.", 'all-in-one-seo-pack'),
 
75
  "can" => __( "This option will automatically generate Canonical URLs for your entire WordPress installation. This will help to prevent duplicate content penalties by <a href=\'http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html\' target=\'_blank\'>Google</a>.", 'all-in-one-seo-pack'),
76
  "no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", 'all-in-one-seo-pack'),
77
  "customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all-in-one-seo-pack'),
78
  "can_set_protocol" => __( "Set protocol for canonical URLs.", 'all-in-one-seo-pack' ),
79
  "use_original_title" => __( "Use wp_title to get the title used by the theme; this is disabled by default. If you use this option, set your title formats appropriately, as your theme might try to do its own title SEO as well.", 'all-in-one-seo-pack' ),
80
- "do_log" => __( "Check this and All in One SEO Pack will create a log of important events (all_in_one_seo_pack.log) in its plugin directory which might help debugging. Make sure this directory is writable.", 'all-in-one-seo-pack' ),
81
- "home_title" => __( "As the name implies, this will be the Meta Title of your homepage. This is independent of any other option. If not set, the default Site Title (found in WordPress under Settings, General, Site Title) will be used.", 'all-in-one-seo-pack' ),
82
- "home_description" => __( "This will be the Meta Description for your homepage. This is independent of any other option. The default is no Meta Description at all if this is not set.", 'all-in-one-seo-pack' ),
83
- "home_keywords" => __( "Enter a comma separated list of your most important keywords for your site that will be written as Meta Keywords on your homepage. Don\'t stuff everything in here.", 'all-in-one-seo-pack' ),
84
  "use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", 'all-in-one-seo-pack' ),
85
- "togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all-in-one-seo-pack' ),
86
  "use_categories" => __( "Check this if you want your categories for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all-in-one-seo-pack' ),
87
  "use_tags_as_keywords" => __( "Check this if you want your tags for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all-in-one-seo-pack' ),
88
  "dynamic_postspage_keywords"=> __( "Check this if you want your keywords on your Posts page (set in WordPress under Settings, Reading, Front Page Displays) and your archive pages to be dynamically generated from the keywords of the posts showing on that page. If unchecked, it will use the keywords set in the edit page screen for the posts page.", 'all-in-one-seo-pack'),
@@ -91,81 +90,81 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
91
  "cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all-in-one-seo-pack'),
92
  "home_page_title_format" =>
93
  __( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", 'all-in-one-seo-pack' )
94
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
95
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
96
- __( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
97
- __( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
98
- __( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
99
- __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
100
- __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
101
  '</ul>',
102
  "page_title_format" =>
103
  __( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all-in-one-seo-pack' )
104
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
105
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
106
- __( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
107
- __( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
108
- __( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
109
- __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
110
- __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
111
  '</ul>',
112
- "post_title_format" =>
113
  __( "This controls the format of the title tag for Posts.<br />The following macros are supported:", 'all-in-one-seo-pack' )
114
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
115
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
116
- __( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
117
- __( '%category_title% - The (main) category of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
118
- __( '%category% - Alias for %category_title%', 'all-in-one-seo-pack' ) . '</li><li>' .
119
- __( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
120
- __( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
121
- __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
122
- __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
123
  '</ul>',
124
- "category_title_format" =>
125
  __( "This controls the format of the title tag for Category Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
126
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
127
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
128
- __( '%category_title% - The original title of the category', 'all-in-one-seo-pack' ) . '</li><li>' .
129
  __( '%category_description% - The description of the category', 'all-in-one-seo-pack' ) . '</li></ul>',
130
- "archive_title_format" =>
131
- __( "This controls the format of the title tag for Custom Post Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
132
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
133
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
134
  __( '%archive_title - The original archive title given by wordpress', 'all-in-one-seo-pack' ) . '</li></ul>',
135
- "date_title_format" =>
136
- __( "This controls the format of the title tag for Date Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
137
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
138
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
139
  __( '%date% - The original archive title given by wordpress, e.g. "2007" or "2007 August"', 'all-in-one-seo-pack' ) . '</li><li>' .
140
  __( '%day% - The original archive day given by wordpress, e.g. "17"', 'all-in-one-seo-pack' ) . '</li><li>' .
141
  __( '%month% - The original archive month given by wordpress, e.g. "August"', 'all-in-one-seo-pack' ) . '</li><li>' .
142
  __( '%year% - The original archive year given by wordpress, e.g. "2007"', 'all-in-one-seo-pack' ) . '</li></ul>',
143
- "author_title_format" =>
144
- __( "This controls the format of the title tag for Author Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
145
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
146
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
147
  __( '%author% - The original archive title given by wordpress, e.g. "Steve" or "John Smith"', 'all-in-one-seo-pack' ) . '</li></ul>',
148
- "tag_title_format" =>
149
- __( "This controls the format of the title tag for Tag Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
150
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
151
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
152
  __( '%tag% - The name of the tag', 'all-in-one-seo-pack' ) . '</li></ul>',
153
- "search_title_format" =>
154
- __( "This controls the format of the title tag for the Search page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
155
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
156
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
157
  __( '%search% - What was searched for', 'all-in-one-seo-pack' ) . '</li></ul>',
158
- "description_format" => __( "This controls the format of Meta Descriptions.The following macros are supported:", 'all-in-one-seo-pack' ) .
159
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
160
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
161
- __( '%description% - The original description as determined by the plugin, e.g. the excerpt if one is set or an auto-generated one if that option is set', 'all-in-one-seo-pack' ) . '</li><li>' .
162
- __( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
163
  __( '%wp_title% - The original wordpress title, e.g. post_title for posts', 'all-in-one-seo-pack' ) . '</li></ul>',
164
  "404_title_format" => __( "This controls the format of the title tag for the 404 page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
165
- '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
166
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
167
- __( '%request_url% - The original URL path, like "/url-that-does-not-exist/"', 'all-in-one-seo-pack' ) . '</li><li>' .
168
- __( '%request_words% - The URL path in human readable form, like "Url That Does Not Exist"', 'all-in-one-seo-pack' ) . '</li><li>' .
169
  __( '%404_title% - Additional 404 title input"', 'all-in-one-seo-pack' ) . '</li></ul>',
170
  "paged_format" => __( "This string gets appended/prepended to titles of paged index pages (like home or archive pages).", 'all-in-one-seo-pack' )
171
  . __( 'The following macros are supported:', 'all-in-one-seo-pack' )
@@ -173,6 +172,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
173
  "enablecpost" => __( "Check this if you want to use All in One SEO Pack with any Custom Post Types on this site.", 'all-in-one-seo-pack' ),
174
  "cpostadvanced" => __( "This will show or hide the advanced options for SEO for Custom Post Types.", 'all-in-one-seo-pack' ),
175
  "cpostactive" => __( "Use these checkboxes to select which Post Types you want to use All in One SEO Pack with.", 'all-in-one-seo-pack' ),
 
176
  "cposttitles" => __( "This allows you to set the title tags for each Custom Post Type.", 'all-in-one-seo-pack' ),
177
  "posttypecolumns" => __( "This lets you select which screens display the SEO Title, SEO Keywords and SEO Description columns.", 'all-in-one-seo-pack' ),
178
  "admin_bar" => __( "Check this to add All in One SEO Pack to the Admin Bar for easy access to your SEO settings.", 'all-in-one-seo-pack' ),
@@ -194,8 +194,8 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
194
  "ga_advanced_options" => __( "Check to use advanced Google Analytics options.", 'all-in-one-seo-pack' ),
195
  "ga_domain" => __( "Enter your domain name without the http:// to set your cookie domain.", 'all-in-one-seo-pack' ),
196
  "ga_multi_domain" => __( "Use this option to enable tracking of multiple or additional domains.", 'all-in-one-seo-pack' ),
197
- "ga_addl_domains" => __( "Add a list of additional domains to track here. Enter one domain name per line without the http://.", 'all-in-one-seo-pack' ),
198
- "ga_anonymize_ip" => __( "This enables support for IP Anonymization in Google Analytics.", 'all-in-one-seo-pack' ),
199
  "ga_display_advertising"=> __( "This enables support for the Display Advertiser Features in Google Analytics.", 'all-in-one-seo-pack' ),
200
  "ga_exclude_users" => __( "Exclude logged-in users from Google Analytics tracking by role.", 'all-in-one-seo-pack' ),
201
  "ga_track_outbound_links"=> __( "Check this if you want to track outbound links with Google Analytics.", 'all-in-one-seo-pack' ),
@@ -229,8 +229,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
229
  "front_meta_tags" => __( "What you enter here will be copied verbatim to the header of the front page if you have set a static page in Settings, Reading, Front Page Displays. You can enter whatever additional headers you want here, even references to stylesheets. This will fall back to using Additional Page Headers if you have them set and nothing is entered here.", 'all-in-one-seo-pack' ),
230
  "home_meta_tags" => __( "What you enter here will be copied verbatim to the header of the home page if you have Front page displays your latest posts selected in Settings, Reading.  It will also be copied verbatim to the header on the Posts page if you have one set in Settings, Reading. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
231
  );
232
-
233
  $this->help_anchors = Array(
 
234
  'can' => '#canonical-urls',
235
  'no_paged_canonical_links' => '#no-pagination-for-canonical-urls',
236
  'customize_canonical_links' => '#enable-custom-canonical-urls',
@@ -259,6 +260,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
259
  'enablecpost' => '#seo-for-custom-post-types',
260
  'cpostadvanced' => '#enable-advanced-options',
261
  'cpostactive' => '#seo-on-only-these-post-types',
 
262
  'cposttitles' => '#custom-titles',
263
  'posttypecolumns' => '#show-column-labels-for-custom-post-types',
264
  'admin_bar' => '#display-menu-in-admin-bar',
@@ -315,29 +317,32 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
315
  'disable' => __( 'Disable SEO on this page.', 'all-in-one-seo-pack' ),
316
  'disable_analytics' => __( 'Disable Google Analytics on this page.', 'all-in-one-seo-pack' )
317
  );
318
-
319
- $this->default_options = array(
320
- "donate" => Array(
321
- 'name' => __( 'I enjoy this plugin and have made a donation:', 'all-in-one-seo-pack' ) ),
322
- "home_title"=> Array(
323
- 'name' => __( 'Home Title:', 'all-in-one-seo-pack' ),
 
 
 
324
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
325
  'count' => true, 'rows' => 1, 'cols' => 60,
326
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
327
- "home_description"=> Array(
328
- 'name' => __( 'Home Description:', 'all-in-one-seo-pack' ),
329
  'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
330
  'count' => true, 'cols' => 80, 'rows' => 2,
331
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
332
- "togglekeywords" => Array(
333
- 'name' => __( 'Use Keywords:', 'all-in-one-seo-pack' ),
334
  'default' => 0,
335
  'type' => 'radio',
336
  'initial_options' => Array( 0 => __( 'Enabled', 'all-in-one-seo-pack' ),
337
  1 => __( 'Disabled', 'all-in-one-seo-pack' ) )
338
  ),
339
- "home_keywords"=> Array(
340
- 'name' => __( 'Home Keywords (comma separated):', 'all-in-one-seo-pack' ),
341
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
342
  'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
343
  "use_static_home_info" => Array(
@@ -367,15 +372,15 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
367
  'https' => __( 'HTTPS', 'all-in-one-seo-pack' ) ),
368
  'condshow' => Array( "aiosp_can" => 'on' )
369
  ),
370
- "rewrite_titles"=> Array(
371
- 'name' => __( 'Rewrite Titles:', 'all-in-one-seo-pack' ),
372
  'default' => 1,
373
  'type' => 'radio',
374
  'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
375
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
376
  ),
377
- "force_rewrites"=> Array(
378
- 'name' => __( 'Force Rewrites:', 'all-in-one-seo-pack' ),
379
  'default' => 1,
380
  'type' => 'hidden',
381
  'prefix' => $this->prefix,
@@ -387,54 +392,54 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
387
  'type' => 'radio',
388
  'default' => 0,
389
  'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
390
- 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
391
  ),
392
  "cap_titles"=> Array(
393
  'name' => __( 'Capitalize Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
394
  "cap_cats"=> Array(
395
  'name' => __( 'Capitalize Category Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
396
- "home_page_title_format"=> Array(
397
- 'name' => __( 'Home Page Title Format:', 'all-in-one-seo-pack' ),
398
  'type' => 'text', 'default' => '%page_title%',
399
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
400
- "page_title_format"=> Array(
401
- 'name' => __( 'Page Title Format:', 'all-in-one-seo-pack' ),
402
  'type' => 'text', 'default' => '%page_title% | %blog_title%',
403
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
404
- "post_title_format"=> Array(
405
- 'name' => __( 'Post Title Format:', 'all-in-one-seo-pack' ),
406
  'type' => 'text', 'default' => '%post_title% | %blog_title%',
407
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
408
- "category_title_format"=> Array(
409
- 'name' => __( 'Category Title Format:', 'all-in-one-seo-pack' ),
410
  'type' => 'text', 'default' => '%category_title% | %blog_title%',
411
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
412
  "archive_title_format"=> Array(
413
- 'name' => __( 'Archive Title Format:', 'all-in-one-seo-pack' ),
414
  'type' => 'text', 'default' => '%archive_title% | %blog_title%',
415
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
416
  "date_title_format"=> Array(
417
- 'name' => __( 'Date Archive Title Format:', 'all-in-one-seo-pack' ),
418
  'type' => 'text', 'default' => '%date% | %blog_title%',
419
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
420
  "author_title_format"=> Array(
421
- 'name' => __( 'Author Archive Title Format:', 'all-in-one-seo-pack' ),
422
  'type' => 'text', 'default' => '%author% | %blog_title%',
423
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
424
- "tag_title_format"=> Array(
425
- 'name' => __( 'Tag Title Format:', 'all-in-one-seo-pack' ),
426
  'type' => 'text', 'default' => '%tag% | %blog_title%',
427
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
428
- "search_title_format"=> Array(
429
- 'name' => __( 'Search Title Format:', 'all-in-one-seo-pack' ),
430
  'type' => 'text', 'default' => '%search% | %blog_title%',
431
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
432
- "description_format"=> Array(
433
- 'name' => __( 'Description Format', 'all-in-one-seo-pack' ),
434
  'type' => 'text', 'default' => '%description%',
435
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
436
- "404_title_format"=> Array(
437
- 'name' => __( '404 Title Format:', 'all-in-one-seo-pack' ),
438
  'type' => 'text', 'default' => 'Nothing found for %request_words%',
439
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
440
  "paged_format"=> Array(
@@ -449,12 +454,17 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
449
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
450
  ),
451
  "cpostactive" => Array(
452
- 'name' => __( 'SEO on only these post types:', 'all-in-one-seo-pack' ),
453
  'type' => 'multicheckbox', 'default' => array('post', 'page'),
454
  'condshow' => Array( 'aiosp_enablecpost' => 'on' )
455
  ),
 
 
 
 
 
456
  "cpostadvanced" => Array(
457
- 'name' => __( 'Enable Advanced Options:', 'all-in-one-seo-pack' ),
458
  'default' => 0, 'type' => 'radio',
459
  'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
460
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
@@ -462,11 +472,11 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
462
  'condshow' => Array( "aiosp_enablecpost" => 'on' )
463
  ),
464
  "cpostnoindex" => Array(
465
- 'name' => __( 'Default to NOINDEX:', 'all-in-one-seo-pack' ),
466
  'type' => 'multicheckbox', 'default' => array(),
467
  ),
468
  "cpostnofollow" => Array(
469
- 'name' => __( 'Default to NOFOLLOW:', 'all-in-one-seo-pack' ),
470
  'type' => 'multicheckbox', 'default' => array(),
471
  ),
472
  "cpostnoodp"=> Array(
@@ -478,13 +488,14 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
478
  'type' => 'multicheckbox', 'default' => array(),
479
  ),
480
  "cposttitles" => Array(
481
- 'name' => __( 'Custom titles:', 'all-in-one-seo-pack' ),
482
  'type' => 'checkbox', 'default' => 0,
483
  'condshow' => Array( "aiosp_rewrite_titles" => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
484
  ),
485
  "posttypecolumns" => Array(
486
  'name' => __( 'Show Column Labels for Custom Post Types:', 'all-in-one-seo-pack' ),
487
- 'type' => 'multicheckbox', 'default' => array('post', 'page') ),
 
488
  "admin_bar" => Array(
489
  'name' => __( 'Display Menu In Admin Bar:', 'all-in-one-seo-pack' ), 'default' => 'on',
490
  ),
@@ -519,7 +530,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
519
  'condshow' => Array( 'aiosp_google_set_site_name' => 'on' )
520
  ),
521
  "google_author_advanced" => Array(
522
- 'name' => __( 'Advanced Authorship Options:', 'all-in-one-seo-pack' ),
523
  'default' => 0, 'type' => 'radio',
524
  'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
525
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
@@ -530,7 +541,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
530
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
531
  ),
532
  "google_enable_publisher" => Array(
533
- 'name' => __( 'Display Publisher Meta on Front Page:', 'all-in-one-seo-pack' ),
534
  'default' => 'on', 'type' => 'radio',
535
  'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
536
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
@@ -590,7 +601,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
590
  "ga_enhanced_ecommerce"=> Array(
591
  'name' => __( 'Enhanced Ecommerce:', 'all-in-one-seo-pack' ),
592
  'default' => 0,
593
- 'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_use_universal_analytics' => 'on', 'aiosp_ga_advanced_options' => 'on' ) ),
594
  "use_categories"=> Array(
595
  'name' => __( 'Use Categories for META keywords:', 'all-in-one-seo-pack' ),
596
  'default' => 0,
@@ -680,18 +691,29 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
680
  'default' => null ),
681
  );
682
 
 
 
 
 
 
 
 
683
  $this->locations = Array(
684
  'default' => Array( 'name' => $this->name, 'prefix' => 'aiosp_', 'type' => 'settings', 'options' => null ),
685
  'aiosp' => Array( 'name' => $this->plugin_name, 'type' => 'metabox', 'prefix' => '', 'help_link' => 'http://semperplugins.com/sections/postpage-settings/',
686
- 'options' => Array( 'edit', 'nonce-aioseop-edit', 'upgrade', 'snippet', 'title', 'description', 'keywords', 'custom_link', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel', 'sitemap_exclude', 'disable', 'disable_analytics' ),
687
- 'default_options' => Array(
688
  'edit' => Array( 'type' => 'hidden', 'default' => 'aiosp_edit', 'prefix' => true, 'nowrap' => 1 ),
689
  'nonce-aioseop-edit' => Array( 'type' => 'hidden', 'default' => null, 'prefix' => false, 'nowrap' => 1 ),
690
  'upgrade' => Array( 'type' => 'html', 'label' => 'none',
691
- 'default' => '<a target="__blank" href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=meta">'
692
  . __( 'Upgrade to All in One SEO Pack Pro Version', 'all-in-one-seo-pack' ) . '</a>'
693
  ),
694
- 'snippet' => Array( 'name' => __( 'Preview Snippet', 'all-in-one-seo-pack' ), 'type' => 'custom', 'label' => 'top',
 
 
 
 
695
  'default' => '
696
  <script>
697
  jQuery(document).ready(function() {
@@ -706,9 +728,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
706
  <div class="preview_snippet"><div id="aioseop_snippet"><h3><a>%s</a></h3><div><div><cite id="aioseop_snippet_link">%s</cite></div><span id="aioseop_snippet_description">%s</span></div></div></div>' ),
707
  'title' => Array( 'name' => __( 'Title', 'all-in-one-seo-pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
708
  'description' => Array( 'name' => __( 'Description', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
709
-
710
  'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all-in-one-seo-pack' ), 'type' => 'text' ),
711
- 'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
712
  'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all-in-one-seo-pack' ), 'default' => '' ),
713
  'nofollow' => Array( 'name' => __( "Robots Meta NOFOLLOW", 'all-in-one-seo-pack' ), 'default' => '' ),
714
  'noodp' => Array( 'name' => __( "Robots Meta NOODP", 'all-in-one-seo-pack' ) ),
@@ -720,7 +742,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
720
  'disable_analytics' => Array( 'name' => __( 'Disable Google Analytics', 'all-in-one-seo-pack' ), 'condshow' => Array( 'aiosp_disable' => 'on' ) ) ),
721
  'display' => null )
722
  );
723
-
724
  if ( !empty( $meta_help_text ) )
725
  foreach( $meta_help_text as $k => $v )
726
  $this->locations['aiosp']['default_options'][$k]['help_text'] = $v;
@@ -745,12 +767,12 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
745
  'name' => __( 'Title Settings', 'all-in-one-seo-pack' ),
746
  'help_link' => 'http://semperplugins.com/documentation/title-settings/',
747
  'options' => Array( "rewrite_titles", "force_rewrites", "cap_titles", "cap_cats", "home_page_title_format", "page_title_format", "post_title_format", "category_title_format", "archive_title_format", "date_title_format", "author_title_format",
748
- "tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
749
  ),
750
  'cpt' => Array(
751
  'name' => __( 'Custom Post Type Settings', 'all-in-one-seo-pack' ),
752
  'help_link' => 'http://semperplugins.com/documentation/custom-post-type-settings/',
753
- 'options' => Array( "enablecpost", "cpostadvanced", "cpostactive", "cposttitles" )
754
  ),
755
  'display' => Array(
756
  'name' => __( 'Display Settings', 'all-in-one-seo-pack' ),
@@ -766,13 +788,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
766
  'name' => __( 'Google Settings', 'all-in-one-seo-pack' ),
767
  'help_link' => 'http://semperplugins.com/documentation/google-settings/',
768
  'options' => Array( "google_publisher", "google_disable_profile", "google_sitelinks_search", "google_set_site_name", "google_specify_site_name", "google_author_advanced", "google_author_location", "google_enable_publisher" , "google_specify_publisher",
769
- // "google_connect",
770
  "google_analytics_id", "ga_use_universal_analytics", "ga_advanced_options", "ga_domain", "ga_multi_domain", "ga_addl_domains", "ga_anonymize_ip", "ga_display_advertising", "ga_exclude_users", "ga_track_outbound_links", "ga_link_attribution", "ga_enhanced_ecommerce" )
771
  ),
772
  'noindex' => Array(
773
  'name' => __( 'Noindex Settings', 'all-in-one-seo-pack' ),
774
  'help_link' => 'http://semperplugins.com/documentation/noindex-settings/',
775
- 'options' => Array( 'cpostnoindex', 'cpostnofollow', 'cpostnoodp', 'cpostnoydir', 'category_noindex', 'archive_date_noindex', 'archive_author_noindex', 'tags_noindex', 'search_noindex', '404_noindex', 'tax_noindex', 'paginated_noindex', 'paginated_nofollow', 'noodp', 'noydir' )
776
  ),
777
  'advanced' => Array(
778
  'name' => __( 'Advanced Settings', 'all-in-one-seo-pack' ),
@@ -781,21 +803,55 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
781
  )
782
  );
783
 
 
 
 
 
784
  $other_options = Array();
785
  foreach( $this->layout as $k => $v )
786
  $other_options = array_merge( $other_options, $v['options'] );
787
-
788
  $this->layout['default']['options'] = array_diff( array_keys( $this->default_options ), $other_options );
789
-
790
  if ( is_admin() ) {
791
  $this->add_help_text_links();
792
  add_action( "aioseop_global_settings_header", Array( $this, 'display_right_sidebar' ) );
793
  add_action( "aioseop_global_settings_footer", Array( $this, 'display_settings_footer' ) );
794
  add_action( "output_option", Array( $this, 'custom_output_option' ), 10, 2 );
795
  add_action('all_admin_notices', array( $this, 'visibility_warning'));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
796
  }
797
- }
798
-
799
  function get_page_snippet_info() {
800
  static $info = Array();
801
  if ( !empty( $info ) )
@@ -856,7 +912,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
856
  } else if ( $_GET['taxonomy'] == 'post_tag' ) {
857
  query_posts( Array( 'tag' => $term->slug ) );
858
  } else {
859
- query_posts( Array( 'page' => '', $_GET['taxonomy'] => $term->slug, 'post_type' => $_GET['post_type'] ) );
860
  }
861
  if ( empty( $this->meta_opts ) )
862
  $this->meta_opts = $this->get_current_options( Array(), 'aiosp' );
@@ -877,22 +933,22 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
877
  $url = apply_filters( 'aioseop_canonical_url', $url );
878
  }
879
  if ( !$url ) $url = get_permalink();
880
-
881
  $title = $this->apply_cf_fields( $title );
882
  $description = $this->apply_cf_fields( $description );
883
  $description = apply_filters( 'aioseop_description', $description );
884
-
885
  $keywords = $this->get_main_keywords();
886
  $keywords = $this->apply_cf_fields( $keywords );
887
  $keywords = apply_filters( 'aioseop_keywords', $keywords );
888
-
889
  $info = Array( 'title' => $title, 'description' => $description, 'keywords' => $keywords, 'url' => $url,
890
  'title_format' => $title_format, 'category' => $category, 'w' => $wp_query, 'p' => $post );
891
  wp_reset_postdata();
892
  $wp_query = $w; $post = $p;
893
  return $info;
894
  }
895
-
896
  /*** Use custom callback for outputting snippet ***/
897
  function custom_output_option( $buf, $args ) {
898
  if ( $args['name'] == 'aiosp_snippet' ) {
@@ -902,7 +958,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
902
  $info = $this->get_page_snippet_info();
903
  extract( $info );
904
  } else return '';
905
-
906
  if ( $this->strlen( $title ) > 70 ) $title = $this->trim_excerpt_without_filters( $title, 70 ) . '...';
907
  if ( $this->strlen( $description ) > 156 ) $description = $this->trim_excerpt_without_filters( $description, 156 ) . '...';
908
  $extra_title_len = 0;
@@ -915,20 +971,47 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
915
  if ( strpos( $title_format, '%post_title%' ) !== false ) $title_format = str_replace( '%post_title%', $replace_title, $title_format );
916
  if ( strpos( $title_format, '%page_title%' ) !== false ) $title_format = str_replace( '%page_title%', $replace_title, $title_format );
917
  if ( $w->is_category || $w->is_tag || $w->is_tax ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
918
  if ( strpos( $title_format, '%category_title%' ) !== false ) $title_format = str_replace( '%category_title%', $replace_title, $title_format );
919
  if ( strpos( $title_format, '%taxonomy_title%' ) !== false ) $title_format = str_replace( '%taxonomy_title%', $replace_title, $title_format );
920
  } else {
921
  if ( strpos( $title_format, '%category%' ) !== false ) $title_format = str_replace( '%category%', $category, $title_format );
922
  if ( strpos( $title_format, '%category_title%' ) !== false ) $title_format = str_replace( '%category_title%', $category, $title_format );
923
- if ( strpos( $title_format, '%taxonomy_title%' ) !== false ) $title_format = str_replace( '%taxonomy_title%', $category, $title_format );
924
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
925
  if ( strpos( $title_format, '%taxonomy_description%' ) !== false ) $title_format = str_replace( '%taxonomy_description%', $description, $title_format );
926
-
927
  $title_format = preg_replace( '/%([^%]*?)%/', '', $title_format );
928
  $title = $title_format;
929
  $extra_title_len = strlen( str_replace( $replace_title, '', $title_format ) );
930
  }
931
-
932
  $args['value'] = sprintf( $args['value'], $title, esc_url( $url ), esc_attr( wp_strip_all_tags( $description ) ) );
933
  $extra_title_len = (int)$extra_title_len;
934
  $args['value'] .= "<script>var aiosp_title_extra = {$extra_title_len};</script>";
@@ -936,24 +1019,36 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
936
 
937
  return $buf;
938
  }
939
-
940
  function add_page_icon() {
941
  wp_enqueue_script( 'wp-pointer', false, array( 'jquery' ) );
942
  wp_enqueue_style( 'wp-pointer' );
943
  $this->add_admin_pointers();
944
  ?>
945
  <style>
946
- #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
947
- background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-16.png) no-repeat 8px 6px !important;
948
- }
 
 
 
 
 
 
 
 
 
 
 
 
949
  #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image:before {
950
  content: '' !important;
951
  }
952
- #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image img {
953
- display: none;
954
  }
955
- #toplevel_page_all-in-one-seo-pack-aioseop_class:hover .wp-menu-image, #toplevel_page_all-in-one-seo-pack-aioseop_class.wp-has-current-submenu .wp-menu-image {
956
- background-position: 8px -26px !important;
957
  }
958
  #icon-aioseop.icon32 {
959
  background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield32.png) no-repeat left top !important;
@@ -965,6 +1060,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
965
  background-position: 10px;
966
  font-size: 14px;
967
  min-height: 32px;
 
968
  }
969
 
970
  @media
@@ -974,29 +1070,36 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
974
  only screen and ( min-device-pixel-ratio: 1.5),
975
  only screen and ( min-resolution: 1.5dppx) {
976
 
977
- #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
978
- background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-32.png') !important;
979
- -webkit-background-size: 16px 48px !important;
980
- -moz-background-size: 16px 48px !important;
981
- background-size: 16px 48px !important;
982
- }
983
-
984
- #icon-aioseop.icon32 {
985
- background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield64.png') !important;
986
- -webkit-background-size: 32px 32px !important;
987
- -moz-background-size: 32px 32px !important;
988
- background-size: 32px 32px !important;
989
- }
990
-
 
 
 
 
 
 
 
991
  #aioseop_settings_header #message {
992
  background-image: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>update64.png) !important;
993
- -webkit-background-size: 32px 32px !important;
994
- -moz-background-size: 32px 32px !important;
995
- background-size: 32px 32px !important;
996
  }
997
- }
998
- </style>
999
- <script>
1000
  function aioseop_show_pointer( handle, value ) {
1001
  if ( typeof( jQuery ) != 'undefined' ) {
1002
  var p_edge = 'bottom';
@@ -1005,29 +1108,29 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1005
  if ( typeof( value.pointer_edge ) != 'undefined' ) p_edge = value.pointer_edge;
1006
  if ( typeof( value.pointer_align ) != 'undefined' ) p_align = value.pointer_align;
1007
  jQuery(value.pointer_target).pointer({
1008
- content : value.pointer_text,
1009
- position: {
1010
- edge: p_edge,
1011
- align: p_align
1012
- },
1013
- close : function() {
1014
- jQuery.post( ajaxurl, {
1015
- pointer: handle,
1016
- action: 'dismiss-wp-pointer'
1017
- });
1018
- }
1019
- }).pointer('open');
1020
  }
1021
  }
1022
  }
1023
- <?php
1024
  if ( !empty( $this->pointers ) ) {
1025
  ?>
1026
  if ( typeof( jQuery ) != 'undefined' ) {
1027
  jQuery(document).ready(function() {
1028
  var admin_pointer;
1029
  var admin_index;
1030
- <?php
1031
  foreach( $this->pointers as $k => $p )
1032
  if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) ) {
1033
  ?>admin_index = "<?php echo esc_attr($k); ?>";
@@ -1044,19 +1147,32 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1044
  </script>
1045
  <?php
1046
  }
1047
-
1048
  function add_page_hooks() {
1049
- // $this->oauth_init();
 
 
1050
  $post_objs = get_post_types( '', 'objects' );
1051
  $pt = array_keys( $post_objs );
1052
  $rempost = array( 'revision', 'nav_menu_item' );
1053
  $pt = array_diff( $pt, $rempost );
1054
  $post_types = Array();
 
 
 
 
 
1055
  foreach ( $pt as $p ) {
1056
- if ( !empty( $post_objs[$p]->label ) )
 
1057
  $post_types[$p] = $post_objs[$p]->label;
1058
- else
 
 
 
 
1059
  $post_types[$p] = $p;
 
1060
  }
1061
  $taxes = get_taxonomies( '', 'objects' );
1062
  $tx = array_keys( $taxes );
@@ -1074,10 +1190,11 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1074
  $this->default_options["cpostnofollow"]['initial_options'] = $post_types;
1075
  $this->default_options["cpostnoodp"]['initial_options'] = $post_types;
1076
  $this->default_options["cpostnoydir"]['initial_options'] = $post_types;
 
1077
  $this->default_options["google_author_location"]['initial_options'] = $post_types;
1078
  $this->default_options['google_author_location' ]['initial_options'] = array_merge( Array( 'front' => __( 'Front Page', 'all-in-one-seo-pack' ) ), $post_types, Array( 'all' => __( 'Everywhere Else', 'all-in-one-seo-pack' ) ) );
1079
  $this->default_options["google_author_location"]['default'] = array_keys( $this->default_options["google_author_location"]['initial_options'] );
1080
-
1081
  foreach ( $post_types as $p => $pt ) {
1082
  $field = $p . "_title_format";
1083
  $name = $post_objs[$p]->labels->singular_name;
@@ -1089,18 +1206,18 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1089
  'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_cpostactive\[\]' => $p )
1090
  );
1091
  $this->help_text[$field] = __( 'The following macros are supported:', 'all-in-one-seo-pack' )
1092
- . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
1093
- __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
1094
  __( '%post_title% - The original title of the post.', 'all-in-one-seo-pack' ) . '</li><li>';
1095
  $taxes = get_object_taxonomies( $p, 'objects' );
1096
  if ( !empty( $taxes ) )
1097
  foreach( $taxes as $n => $t )
1098
  $this->help_text[$field] .= sprintf( __( "%%tax_%s%% - This post's associated %s taxonomy title", 'all-in-one-seo-pack' ), $n, $t->label ) . '</li><li>';
1099
- $this->help_text[$field] .=
1100
- __( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
1101
- __( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
1102
- __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
1103
- __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
1104
  '</ul>';
1105
  $this->help_anchors[$field] = '#custom-titles';
1106
  $this->layout['cpt']['options'][] = $field;
@@ -1108,68 +1225,139 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1108
  }
1109
  global $wp_roles;
1110
  if ( ! isset( $wp_roles ) ) {
1111
- $wp_roles = new WP_Roles();
1112
  }
1113
  $role_names = $wp_roles->get_names();
1114
  ksort( $role_names );
1115
  $this->default_options["ga_exclude_users"]['initial_options'] = $role_names;
1116
-
1117
  unset( $tax_types['category'] );
1118
  unset( $tax_types['post_tag'] );
1119
  $this->default_options["tax_noindex"]['initial_options'] = $tax_types;
1120
  if ( empty( $tax_types ) )
1121
  unset( $this->default_options["tax_noindex"] );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1122
  $this->setting_options();
1123
  $this->add_help_text_links();
 
 
 
 
 
 
 
1124
  add_filter( "{$this->prefix}display_options", Array( $this, 'filter_options' ), 10, 2 );
1125
  parent::add_page_hooks();
1126
  }
1127
-
1128
  function add_admin_pointers() {
1129
- $this->pointers['aioseop_menu_220'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
 
1130
  'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1131
- . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! Please review your settings, as we\'re always adding new features for you!', 'all-in-one-seo-pack' ) . '</p>',
1132
  'pointer_edge' => 'top',
1133
  'pointer_align' => 'left',
1134
  'pointer_scope' => 'global'
1135
  );
1136
- $this->pointers['aioseop_welcome_220'] = Array( 'pointer_target' => '#aioseop_top_button',
1137
  'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1138
- . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New since 2.2: Control who accesses your site with the new Robots.txt Editor and File Editor modules! Enable them from the Feature Manager. Remember to review your settings, we have added some new ones!', 'all-in-one-seo-pack' ) . '</p>',
1139
  'pointer_edge' => 'bottom',
1140
  'pointer_align' => 'left',
1141
  'pointer_scope' => 'local'
1142
  );
1143
  $this->filter_pointers();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1144
  }
1145
-
1146
  function settings_page_init() {
1147
  add_filter( "{$this->prefix}submit_options", Array( $this, 'filter_submit' ) );
1148
  }
1149
-
1150
  function enqueue_scripts() {
1151
  add_filter( "{$this->prefix}display_settings", Array( $this, 'filter_settings' ), 10, 3 );
1152
  add_filter( "{$this->prefix}display_options", Array( $this, 'filter_options' ), 10, 2 );
1153
  parent::enqueue_scripts();
1154
  }
1155
-
1156
  function filter_submit( $submit ) {
1157
  $submit['Submit_Default']['value'] = __( 'Reset General Settings to Defaults', 'all-in-one-seo-pack' ) . ' &raquo;';
1158
  $submit['Submit_All_Default'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( 'Reset ALL Settings to Defaults', 'all-in-one-seo-pack' ) . ' &raquo;' );
1159
  return $submit;
1160
  }
1161
-
1162
  /**
1163
- * Handle resetting options to defaults.
1164
  */
1165
  function reset_options( $location = null, $delete = false ) {
 
 
 
1166
  if ( $delete === true ) {
 
 
 
 
 
 
 
1167
  $this->delete_class_option( $delete );
1168
- $this->options = Array();
 
 
 
 
 
1169
  }
1170
  $default_options = $this->default_options( $location );
 
 
1171
  foreach ( $default_options as $k => $v )
 
 
 
 
 
1172
  $this->options[$k] = $v;
 
1173
  $this->update_class_option( $this->options );
1174
  }
1175
 
@@ -1187,9 +1375,36 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1187
  unset( $optlist["custom_link"] );
1188
  }
1189
  foreach ( $optlist as $f ) {
 
1190
  $field = "aiosp_$f";
1191
- $meta = get_post_meta( $post_id, '_aioseop_' . $f, true );
1192
- $get_opts[$field] = htmlspecialchars( stripslashes( $meta ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1193
  }
1194
  $opts = wp_parse_args( $opts, $get_opts );
1195
  return $opts;
@@ -1198,17 +1413,23 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1198
  return $options;
1199
  }
1200
  }
1201
-
1202
  function filter_settings( $settings, $location, $current ) {
1203
  if ( $location == null ) {
1204
  $prefix = $this->prefix;
1205
-
1206
  foreach ( Array( 'seopostcol', 'seocustptcol', 'debug_info', 'max_words_excerpt' ) as $opt )
1207
  unset( $settings["{$prefix}$opt"] );
1208
-
1209
  if ( !class_exists( 'DOMDocument' ) ) {
1210
  unset( $settings["{prefix}google_connect"] );
1211
  }
 
 
 
 
 
 
1212
  } elseif ( $location == 'aiosp' ) {
1213
  global $post, $aioseop_sitemap;
1214
  $prefix = $this->get_prefix( $location ) . $location . '_';
@@ -1237,10 +1458,12 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1237
  $settings["{$prefix}description"]['placeholder'] = $description;
1238
  $settings["{$prefix}keywords"]['placeholder'] = $keywords;
1239
  }
1240
-
1241
- if ( !current_user_can( 'update_plugins' ) )
1242
- unset( $settings["{$prefix}upgrade"] );
1243
-
 
 
1244
  if ( !is_object( $aioseop_sitemap ) )
1245
  unset( $settings['aiosp_sitemap_exclude'] );
1246
  if ( is_object( $post ) ) {
@@ -1255,13 +1478,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1255
  } elseif ( !empty( $current["{$prefix}togglekeywords"] ) ) {
1256
  unset( $settings["{$prefix}keywords"] );
1257
  }
1258
- if ( !( !empty( $this->options['aiosp_can'] ) ) && ( !empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
1259
  unset( $settings["{$prefix}custom_link"] );
1260
  }
1261
  }
1262
  return $settings;
1263
  }
1264
-
1265
  function filter_options( $options, $location ) {
1266
  if ( $location == 'aiosp' ) {
1267
  global $post;
@@ -1286,7 +1509,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1286
  }
1287
  return $options;
1288
  }
1289
-
1290
  function display_extra_metaboxes( $add, $meta ) {
1291
  echo "<div class='aioseop_metabox_wrapper' >";
1292
  switch ( $meta['id'] ) {
@@ -1305,41 +1528,56 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1305
  $url = '?' . build_query( $qa );
1306
  echo '<p><a href="' . $url . '">' . __( "Reset Dismissed Notices", 'all-in-one-seo-pack' ) . '</a></p>';
1307
  }
 
1308
  ?>
1309
  <p>
1310
  <strong><a target="_blank" title="<?php _e('Pro Version', 'all-in-one-seo-pack' ); ?>"
1311
  href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=side">
1312
  <?php _e('UPGRADE TO PRO VERSION', 'all-in-one-seo-pack' ); ?></a></strong></p>
 
1313
  </div>
1314
  <?php
1315
  case "aioseop-donate":
1316
  ?>
1317
  <div>
1318
- <div class="aioseop_metabox_text">
1319
- <p>If you like this plugin and find it useful, help keep this plugin free and actively developed by clicking the <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8"
1320
- target="_blank"><strong>donate</strong></a> button or send me a gift from my <a
1321
- href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank">
1322
- <strong>Amazon wishlist</strong></a>. Also, don't forget to follow me on <a
1323
- href="http://twitter.com/michaeltorbert/" target="_blank"><strong>Twitter</strong></a>.</p>
1324
- </div>
1325
-
1326
- <div class="aioseop_metabox_feature">
 
 
 
 
 
 
1327
  <a target="_blank" title="<?php _e( 'Donate', 'all-in-one-seo-pack' ); ?>"
1328
  href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8">
1329
  <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/donate.jpg" alt="<?php _e('Donate with Paypal', 'all-in-one-seo-pack' ); ?>" /> </a>
1330
  <a target="_blank" title="Amazon Wish List" href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web">
1331
  <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/amazon.jpg" alt="<?php _e('My Amazon Wish List', 'all-in-one-seo-pack' ); ?>" /> </a>
 
 
1332
  <a target="_blank" title="<?php _e( 'Follow us on Facebook', 'all-in-one-seo-pack' ); ?>" href="http://www.facebook.com/pages/Semper-Fi-Web-Design/121878784498475"><span class="aioseop_follow_button aioseop_facebook_follow"></span></a>
1333
  <a target="_blank" title="<?php _e( 'Follow us on Twitter', 'all-in-one-seo-pack' ); ?>" href="http://twitter.com/semperfidev/"><span class="aioseop_follow_button aioseop_twitter_follow"></span></a>
 
 
 
 
 
1334
  </div>
1335
-
1336
  </div>
1337
  <?php
1338
  break;
1339
  case "aioseop-list":
1340
  ?>
1341
  <div class="aioseop_metabox_text">
1342
- <form action="http://semperfiwebdesign.us1.list-manage.com/subscribe/post?u=794674d3d54fdd912f961ef14&amp;id=af0a96d3d9"
1343
  method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
1344
  <h2><?php _e( 'Join our mailing list for tips, tricks, and WordPress secrets.', 'all-in-one-seo-pack' ); ?></h2>
1345
  <p><i><?php _e( 'Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress ($39 value).', 'all-in-one-seo-pack' ); ?></i></p>
@@ -1355,7 +1593,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1355
  <p><div class="aioseop_icon aioseop_support_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Support Forum', 'all-in-one-seo-pack' ); ?>"
1356
  href="http://semperplugins.com/support/"><?php _e( 'Access our Premium Support Forums', 'all-in-one-seo-pack' ); ?></a></p>
1357
  <p><div class="aioseop_icon aioseop_cog_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Changelog', 'all-in-one-seo-pack' ); ?>"
1358
- href="http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-pack-release-history/"><?php _e( 'View the Changelog', 'all-in-one-seo-pack' ); ?></a></p>
1359
  <p><div class="aioseop_icon aioseop_youtube_icon"></div><a target="_blank" href="http://semperplugins.com/doc-type/video/"><?php _e( 'Watch video tutorials', 'all-in-one-seo-pack' ); ?></a></p>
1360
  <p><div class="aioseop_icon aioseop_book_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/quick-start-guide/"><?php _e( 'Getting started? Read the Beginners Guide', 'all-in-one-seo-pack' ); ?></a></p>
1361
  </div>
@@ -1364,7 +1602,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1364
  }
1365
  echo "</div>";
1366
  }
1367
-
1368
  function get_queried_object() {
1369
  static $p = null;
1370
  global $wp_query, $post;
@@ -1373,11 +1611,11 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1373
  $p = $post;
1374
  else {
1375
  if ( !$wp_query ) return null;
1376
- $p = $wp_query->get_queried_object();
1377
  }
1378
  return $p;
1379
  }
1380
-
1381
  function is_page_included() {
1382
  global $aioseop_options;
1383
  if ( is_feed() ) return false;
@@ -1392,19 +1630,29 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1392
  } else {
1393
  $wp_post_types = $aioseop_options['aiosp_cpostactive'];
1394
  if ( empty( $wp_post_types ) ) $wp_post_types = Array();
1395
- if ( is_singular() && !in_array( $post_type, $wp_post_types ) && !is_front_page() ) return false;
1396
- if ( is_post_type_archive() && !is_post_type_archive( $wp_post_types ) ) return false;
 
 
 
 
 
 
 
 
 
 
1397
  }
1398
-
1399
  $this->meta_opts = $this->get_current_options( Array(), 'aiosp' );
1400
-
1401
  $aiosp_disable = $aiosp_disable_analytics = false;
1402
-
1403
  if ( !empty( $this->meta_opts ) ) {
1404
  if ( isset( $this->meta_opts['aiosp_disable'] ) ) $aiosp_disable = $this->meta_opts['aiosp_disable'];
1405
  if ( isset( $this->meta_opts['aiosp_disable_analytics'] ) ) $aiosp_disable_analytics = $this->meta_opts['aiosp_disable_analytics'];
1406
  }
1407
-
1408
  if ( $aiosp_disable ) {
1409
  if ( !$aiosp_disable_analytics ) {
1410
  if ( aioseop_option_isset( 'aiosp_google_analytics_id' ) ) {
@@ -1414,18 +1662,19 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1414
  }
1415
  return false;
1416
  }
1417
-
1418
  if ( !empty( $this->meta_opts ) && $this->meta_opts['aiosp_disable'] == true ) return false;
1419
-
1420
  return true;
1421
  }
1422
-
1423
  function template_redirect() {
1424
  global $aioseop_options;
1425
 
1426
  $post = $this->get_queried_object();
1427
-
1428
  if ( !$this->is_page_included() ) return;
 
1429
  if ( !empty( $aioseop_options['aiosp_rewrite_titles'] ) ) {
1430
  $force_rewrites = 1;
1431
  if ( isset( $aioseop_options['aiosp_force_rewrites'] ) )
@@ -1436,24 +1685,16 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1436
  add_filter( 'wp_title', array( $this, 'wp_title' ), 20 );
1437
  }
1438
  }
1439
-
1440
  function output_callback_for_title( $content ) {
1441
  return $this->rewrite_title( $content );
1442
  }
1443
 
1444
- function init() {
1445
- if ( !defined( 'WP_PLUGIN_DIR' ) ) {
1446
- load_plugin_textdomain( 'all-in-one-seo-pack', str_replace( ABSPATH, '', dirname( __FILE__ ) ) );
1447
- } else {
1448
- load_plugin_textdomain( 'all-in-one-seo-pack', false, AIOSEOP_PLUGIN_DIRNAME );
1449
- }
1450
- }
1451
-
1452
  function add_hooks() {
1453
- global $aioseop_options;
1454
  aioseop_update_settings_check();
1455
  add_filter( 'user_contactmethods', 'aioseop_add_contactmethods' );
1456
- if ( is_user_logged_in() && function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() && current_user_can( 'manage_options' ) )
1457
  add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 1000 );
1458
 
1459
  if ( is_admin() ) {
@@ -1461,6 +1702,11 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1461
  add_action( 'admin_head', array( $this, 'add_page_icon' ) );
1462
  add_action( 'admin_init', 'aioseop_addmycolumns', 1 );
1463
  add_action( 'admin_init', 'aioseop_handle_ignore_notice' );
 
 
 
 
 
1464
  } else {
1465
  if ( $aioseop_options['aiosp_can'] == '1' || $aioseop_options['aiosp_can'] == 'on' )
1466
  remove_action( 'wp_head', 'rel_canonical' );
@@ -1471,7 +1717,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1471
  add_action( 'wp_head', array( $this, 'wp_head'), apply_filters( 'aioseop_wp_head_priority', 1 ) );
1472
  add_action( 'template_redirect', array( $this, 'template_redirect' ), 0 );
1473
  add_filter( 'wp_list_pages_excludes', 'aioseop_get_pages_start' );
1474
- add_filter( 'get_pages', 'aioseop_get_pages' );
1475
  }
1476
  }
1477
 
@@ -1481,7 +1727,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1481
  $this->is_front_page = ( get_option( 'show_on_front' ) == 'page' && is_page() && !empty( $post ) && $post->ID == get_option( 'page_on_front' ) );
1482
  return $this->is_front_page;
1483
  }
1484
-
1485
  function is_static_posts_page() {
1486
  static $is_posts_page = null;
1487
  if ( $is_posts_page !== null ) return $is_posts_page;
@@ -1489,7 +1735,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1489
  $is_posts_page = ( get_option( 'show_on_front' ) == 'page' && is_home() && !empty( $post ) && $post->ID == get_option( 'page_for_posts' ) );
1490
  return $is_posts_page;
1491
  }
1492
-
1493
  function check_rewrite_handler() {
1494
  global $aioseop_options;
1495
 
@@ -1525,7 +1771,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1525
  }
1526
  }
1527
  }
1528
-
1529
  // handle prev / next links
1530
  function get_prev_next_links( $post = null ) {
1531
  $prev = $next = '';
@@ -1583,7 +1829,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1583
  }
1584
  return Array( 'prev' => $prev, 'next' => $next );
1585
  }
1586
-
1587
  function get_google_authorship( $post ) {
1588
  global $aioseop_options;
1589
  $page = $this->get_page_number();
@@ -1606,12 +1852,13 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1606
  } elseif ( !empty( $aioseop_options["aiosp_google_specify_publisher"] ) ) {
1607
  $publisher = $aioseop_options["aiosp_google_specify_publisher"];
1608
  }
1609
- }
1610
  }
1611
  if ( is_singular() && ( !empty( $googleplus ) ) )
1612
  $author = $googleplus;
1613
  else if ( !empty( $aioseop_options['aiosp_google_publisher'] ) )
1614
  $author = $aioseop_options['aiosp_google_publisher'];
 
1615
  if ( !empty( $aioseop_options['aiosp_google_author_advanced'] ) && isset( $aioseop_options['aiosp_google_author_location'] ) ) {
1616
  if ( empty( $aioseop_options['aiosp_google_author_location'] ) )
1617
  $aioseop_options['aiosp_google_author_location'] = Array();
@@ -1627,32 +1874,31 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1627
  }
1628
  }
1629
  }
1630
-
1631
  return Array( 'publisher' => $publisher, 'author' => $author );
1632
  }
1633
-
1634
  function visibility_warning() {
1635
-
1636
- $aioseop_visibility_notice_dismissed = get_user_meta( get_current_user_id(), 'aioseop_visibility_notice_dismissed', true );
1637
-
1638
  if ( '0' == get_option('blog_public') && empty( $aioseop_visibility_notice_dismissed ) ) {
1639
-
1640
  printf( '
1641
  <div id="message" class="error notice is-dismissible aioseop-notice">
1642
  <p>
1643
  <strong>%1$s</strong>
1644
  %2$s
1645
-
1646
  </p>
1647
  </div>',
1648
  __( 'Warning: You\'re blocking access to search engines.', 'all-in-one-seo-pack' ),
1649
  sprintf( __( 'You can %s click here%s to go to your reading settings and toggle your blog visibility.', 'all-in-one-seo-pack' ), sprintf( '<a href="%s">', esc_url( admin_url( 'options-reading.php' ) ) ), '</a>' ));
1650
-
1651
  }elseif( '1' == get_option('blog_public') && !empty( $aioseop_visibility_notice_dismissed ) ){
1652
  delete_user_meta( get_current_user_id(), 'aioseop_visibility_notice_dismissed' );
1653
  }
1654
  }
1655
-
1656
 
1657
  function get_robots_meta() {
1658
  global $aioseop_options;
@@ -1660,40 +1906,44 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1660
  $page = $this->get_page_number();
1661
  $robots_meta = $tax_noindex = '';
1662
  if ( isset( $aioseop_options['aiosp_tax_noindex'] ) ) $tax_noindex = $aioseop_options['aiosp_tax_noindex'];
1663
-
1664
  if ( empty( $tax_noindex ) || !is_array( $tax_noindex) ) $tax_noindex = Array();
1665
-
1666
  $aiosp_noindex = $aiosp_nofollow = $aiosp_noodp = $aiosp_noydir = '';
1667
  $noindex = "index";
1668
  $nofollow = "follow";
1669
  if ( ( is_category() && !empty( $aioseop_options['aiosp_category_noindex'] ) ) || ( !is_category() && is_archive() && !is_tag() && !is_tax()
1670
- && ( ( is_date() && !empty( $aioseop_options['aiosp_archive_date_noindex'] ) ) || ( is_author() && !empty( $aioseop_options['aiosp_archive_author_noindex'] ) ) ) )
1671
- || ( is_tag() && !empty( $aioseop_options['aiosp_tags_noindex'] ) )
1672
  || ( is_search() && !empty( $aioseop_options['aiosp_search_noindex'] ) )
1673
  || ( is_404() && !empty( $aioseop_options['aiosp_404_noindex'] ) )
1674
  || ( is_tax() && in_array( get_query_var( 'taxonomy' ), $tax_noindex ) ) ) {
1675
  $noindex = 'noindex';
1676
- } elseif ( ( is_single() || is_page() || $this->is_static_posts_page() || is_attachment() || ( $page > 1 ) ) ) {
1677
  $post_type = get_post_type();
1678
  if ( !empty( $opts ) ) {
1679
  $aiosp_noindex = htmlspecialchars( stripslashes( $opts['aiosp_noindex'] ) );
1680
  $aiosp_nofollow = htmlspecialchars( stripslashes( $opts['aiosp_nofollow'] ) );
1681
  $aiosp_noodp = htmlspecialchars( stripslashes( $opts['aiosp_noodp'] ) );
1682
- $aiosp_noydir = htmlspecialchars( stripslashes( $opts['aiosp_noydir'] ) );
1683
  }
1684
- if ( $aiosp_noindex || $aiosp_nofollow || $aiosp_noodp || $aiosp_noydir || !empty( $aioseop_options['aiosp_cpostnoindex'] )
1685
  || !empty( $aioseop_options['aiosp_cpostnofollow'] ) || !empty( $aioseop_options['aiosp_cpostnoodp'] ) || !empty( $aioseop_options['aiosp_cpostnoydir'] )
1686
  || !empty( $aioseop_options['aiosp_paginated_noindex'] ) || !empty( $aioseop_options['aiosp_paginated_nofollow'] ) ) {
1687
  if ( ( $aiosp_noindex == 'on' ) || ( ( !empty( $aioseop_options['aiosp_paginated_noindex'] ) ) && ( ( $page > 1 ) ) ) ||
1688
  ( ( $aiosp_noindex == '' ) && ( !empty( $aioseop_options['aiosp_cpostnoindex'] ) ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnoindex'] ) ) ) )
1689
- $noindex = "no" . $noindex;
1690
  if ( ( $aiosp_nofollow == 'on' ) || ( ( !empty( $aioseop_options['aiosp_paginated_nofollow'] ) ) && ( ( $page > 1 ) ) ) ||
1691
  ( ( $aiosp_nofollow == '' ) && ( !empty( $aioseop_options['aiosp_cpostnofollow'] ) ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnofollow'] ) ) ) )
1692
- $nofollow = "no" . $nofollow;
1693
- if ( ( !empty( $aioseop_options['aiosp_cpostnoodp'] ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnoodp'] ) ) ) )
1694
  $aiosp_noodp = true;
1695
- if ( ( !empty( $aioseop_options['aiosp_cpostnoydir'] ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnoydir'] ) ) ) )
 
 
1696
  $aiosp_noydir = true;
 
 
1697
  }
1698
  }
1699
  if ( !empty( $aioseop_options['aiosp_noodp'] ) && $aioseop_options['aiosp_noodp'] ) $aiosp_noodp = true;
@@ -1704,11 +1954,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1704
  if ( $robots_meta == 'index,follow' ) $robots_meta = '';
1705
  return $robots_meta;
1706
  }
1707
-
1708
-
1709
-
1710
-
1711
-
1712
  function get_main_description( $post = null ) {
1713
  global $aioseop_options;
1714
  $opts = $this->meta_opts;
@@ -1716,37 +1962,32 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1716
  if ( is_author() && $this->show_page_description() ) {
1717
  $description = $this->internationalize( get_the_author_meta( 'description' ) );
1718
  } else if ( function_exists( 'woocommerce_get_page_id' ) && is_post_type_archive( 'product' ) && ( $post_id = woocommerce_get_page_id( 'shop' ) ) && ( $post = get_post( $post_id ) ) ) {
1719
-
1720
-
1721
  //$description = $this->get_post_description( $post );
1722
  //$description = $this->apply_cf_fields( $description );
1723
  if ( !(woocommerce_get_page_id( 'shop' ) == get_option( 'page_on_front' ) ) ){
1724
- $description = trim( stripslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
1725
- }
1726
  else if ( woocommerce_get_page_id( 'shop' ) == get_option( 'page_on_front' ) && !empty( $aioseop_options['aiosp_use_static_home_info'] ) ){
1727
-
1728
  //$description = $this->get_aioseop_description( $post );
1729
- $description = trim( stripslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
1730
  }else if ( woocommerce_get_page_id( 'shop' ) == get_option( 'page_on_front' ) && empty( $aioseop_options['aiosp_use_static_home_info'] ) ){
1731
  $description = $this->get_aioseop_description( $post );
1732
  }
1733
-
1734
-
1735
  } else if ( is_front_page() ) {
1736
  $description = $this->get_aioseop_description( $post );
1737
  } else if ( is_single() || is_page() || is_attachment() || is_home() || $this->is_static_posts_page() ) {
1738
  $description = $this->get_aioseop_description( $post );
1739
  } else if ( ( is_category() || is_tag() || is_tax() ) && $this->show_page_description() ) {
1740
- // if ( !empty( $opts ) ) $description = $opts['aiosp_description'];
1741
  if ( empty( $description ) ) $description = term_description();
1742
  $description = $this->internationalize( $description );
1743
  }
1744
  if ( empty( $aioseop_options['aiosp_dont_truncate_descriptions'] ) ) {
1745
- $description = $this->trim_excerpt_without_filters( $description );
1746
  }
1747
  return $description;
1748
  }
1749
-
1750
  function trim_description( $description ) {
1751
  $description = trim( wp_strip_all_tags( $description ) );
1752
  $description = str_replace( '"', '&quot;', $description );
@@ -1754,9 +1995,9 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1754
  $description = str_replace( "\n", ' ', $description );
1755
  return $description;
1756
  }
1757
-
1758
  function apply_description_format( $description, $post = null ) {
1759
- global $aioseop_options, $wp_query;
1760
  $description_format = $aioseop_options['aiosp_description_format'];
1761
  if ( !isset( $description_format ) || empty( $description_format ) ) {
1762
  $description_format = "%description%";
@@ -1765,8 +2006,21 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1765
  if ( strpos( $description, '%blog_title%' ) !== false ) $description = str_replace( '%blog_title%', get_bloginfo( 'name' ), $description );
1766
  if ( strpos( $description, '%blog_description%' ) !== false ) $description = str_replace( '%blog_description%', get_bloginfo( 'description' ), $description );
1767
  if ( strpos( $description, '%wp_title%' ) !== false ) $description = str_replace( '%wp_title%', $this->get_original_title(), $description );
1768
- if ( strpos( $description, '%post_title%' ) !== false ) $description = str_replace( '%post_title%', $this->get_aioseop_title( $post ), $description );
1769
- if( $aioseop_options['aiosp_can'] && is_attachment() ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
1770
  $url = $this->aiosp_mrt_get_url( $wp_query );
1771
  if ( $url ) {
1772
  $matches = Array();
@@ -1776,10 +2030,10 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1776
  }
1777
  }
1778
  $description .= ' ' . $uniqueDesc;
 
1779
  }
1780
- return $description;
1781
  }
1782
-
1783
  function get_main_keywords() {
1784
  global $aioseop_options;
1785
  global $aioseop_keywords;
@@ -1789,7 +2043,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1789
  if ( !empty( $aioseop_options['aiosp_use_static_home_info'] ) ) {
1790
  $keywords = $this->get_all_keywords();
1791
  } else {
1792
- $keywords = trim( $this->internationalize( $aioseop_options['aiosp_home_keywords'] ) );
1793
  }
1794
  } elseif ( empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) && $this->is_static_posts_page() ) {
1795
  $keywords = stripslashes( $this->internationalize( $opts["aiosp_keywords"] ) ); // and if option = use page set keywords instead of keywords from recent posts
@@ -1806,7 +2060,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1806
  function wp_head() {
1807
  if ( !$this->is_page_included() ) return;
1808
  $opts = $this->meta_opts;
1809
- global $wp_query, $aioseop_options, $posts;
1810
  static $aioseop_dup_counter = 0;
1811
  $aioseop_dup_counter++;
1812
  if ( $aioseop_dup_counter > 1 ) {
@@ -1822,11 +2076,16 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1822
  $description = '';
1823
  // logging - rewrite handler check for output buffering
1824
  $this->check_rewrite_handler();
1825
- echo "\n<!-- All in One SEO Pack $this->version by Michael Torbert of Semper Fi Web Design";
 
 
 
 
1826
  if ( $this->ob_start_detected )
1827
  echo "ob_start_detected ";
1828
  echo "[$this->title_start,$this->title_end] ";
1829
  echo "-->\n";
 
1830
  $blog_page = $this->get_blog_page( $post );
1831
  $save_posts = $posts;
1832
  if ( function_exists( 'woocommerce_get_page_id' ) && is_post_type_archive( 'product' ) && ( $post_id = woocommerce_get_page_id( 'shop' ) ) && ( $post = get_post( $post_id ) ) ) {
@@ -1857,7 +2116,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1857
  $keywords = $this->get_main_keywords();
1858
  $keywords = $this->apply_cf_fields( $keywords );
1859
  $keywords = apply_filters( 'aioseop_keywords', $keywords );
1860
-
1861
  if ( isset( $keywords ) && !empty( $keywords ) ) {
1862
  if ( isset( $meta_string ) ) $meta_string .= "\n";
1863
  $keywords = wp_filter_nohtml_kses( str_replace( '"', '', $keywords ) );
@@ -1877,7 +2136,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1877
  foreach( Array( 'google' => 'google-site-verification', 'bing' => 'msvalidate.01', 'pinterest' => 'p:domain_verify' ) as $k => $v )
1878
  if ( !empty( $aioseop_options["aiosp_{$k}_verify"] ) )
1879
  $meta_string .= '<meta name="' . $v . '" content="' . trim( strip_tags( $aioseop_options["aiosp_{$k}_verify"] ) ) . '" />' . "\n";
1880
-
1881
  // sitelinks search
1882
  if ( !empty( $aioseop_options["aiosp_google_sitelinks_search"] ) || !empty( $aioseop_options["aiosp_google_set_site_name"] ) )
1883
  $meta_string .= $this->sitelinks_search_box() . "\n";
@@ -1898,7 +2157,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1898
  $meta_string .= $post_meta;
1899
  }
1900
  // handle authorship
1901
- $authorship = $this->get_google_authorship( $post );
1902
  $publisher = apply_filters( 'aioseop_google_publisher', $authorship["publisher"] );
1903
  if ( !empty( $publisher ) )
1904
  $meta_string = '<link rel="publisher" href="' . esc_url( $publisher ) . '" />' . "\n" . $meta_string;
@@ -1924,7 +2183,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1924
  // handle canonical links
1925
  $show_page = true;
1926
  if ( !empty( $aioseop_options["aiosp_no_paged_canonical_links"] ) ) $show_page = false;
1927
-
1928
  if ( $aioseop_options['aiosp_can'] ) {
1929
  $url = '';
1930
  if ( !empty( $aioseop_options['aiosp_customize_canonical_links'] ) && !empty( $opts['aiosp_custom_link'] ) ) $url = $opts['aiosp_custom_link'];
@@ -1935,223 +2194,20 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
1935
  echo '<link rel="canonical" href="'. esc_url( $url ) . '" />'."\n";
1936
  }
1937
  do_action( 'aioseop_modules_wp_head' );
1938
- echo "<!-- /all in one seo pack -->\n";
 
 
 
 
1939
  }
1940
-
1941
  function override_options( $options, $location, $settings ) {
1942
  if ( class_exists( 'DOMDocument' ) ) {
1943
- $options['aiosp_google_connect'] = $settings['aiosp_google_connect']['default'];
1944
  }
1945
  return $options;
1946
  }
1947
 
1948
- function oauth_init() {
1949
- if ( !is_user_logged_in() || !current_user_can( 'manage_options' ) ) return false;
1950
- $this->token = "anonymous";
1951
- $this->secret = "anonymous";
1952
- $preload = $this->get_class_option();
1953
- $manual_ua = '';
1954
- if ( !empty( $_POST ) ) {
1955
- if ( !empty( $_POST["{$this->prefix}google_connect"] ) ) {
1956
- $manual_ua = 1;
1957
- }
1958
- } elseif ( !empty( $preload["{$this->prefix}google_connect"] ) ) {
1959
- $manual_ua = 1;
1960
- }
1961
- if ( !empty( $manual_ua ) ) {
1962
- foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
1963
- if ( !empty( $preload["{$this->prefix}{$v}"]) ) {
1964
- unset( $preload["{$this->prefix}{$v}"] );
1965
- unset( $this->$v );
1966
- }
1967
- }
1968
- $this->update_class_option( $preload );
1969
- $this->update_options( );
1970
- // return;
1971
- }
1972
- foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
1973
- if ( !empty( $preload["{$this->prefix}{$v}"]) ) {
1974
- $this->$v = $preload["{$this->prefix}{$v}"];
1975
- }
1976
- }
1977
- $callback_url = NULL;
1978
- if ( !empty( $_REQUEST['oauth_verifier'] ) ) {
1979
- $this->verifier = $_REQUEST['oauth_verifier'];
1980
- if ( !empty( $_REQUEST['oauth_token'] ) ) {
1981
- if ( isset( $this->token ) && $this->token == $_REQUEST['oauth_token'] ) {
1982
- $this->access_token = $this->oauth_get_token( $this->verifier );
1983
- if ( is_array( $this->access_token ) && !empty( $this->access_token['oauth_token'] ) ) {
1984
- unset( $this->token );
1985
- unset( $this->secret );
1986
- $this->ga_token = $this->access_token['oauth_token'];
1987
- foreach ( Array( "token", "secret", "access_token", "ga_token" ) as $v ) {
1988
- if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
1989
- }
1990
- $this->update_class_option( $preload );
1991
- }
1992
- }
1993
- wp_redirect( menu_page_url( plugin_basename( $this->file ), false ) );
1994
- exit;
1995
- }
1996
- }
1997
- if ( !empty( $this->ga_token ) ) {
1998
- if ( !empty( $this->account_cache ) ) {
1999
- $ua = $this->account_cache['ua'];
2000
- $profiles = $this->account_cache['profiles'];
2001
- } else {
2002
- $this->token = $this->access_token['oauth_token'];
2003
- $this->secret = $this->access_token['oauth_token_secret'];
2004
-
2005
- $data = $this->oauth_get_data('https://www.googleapis.com/analytics/v2.4/management/accounts/~all/webproperties/~all/profiles' );
2006
- $http_code = wp_remote_retrieve_response_code( $data );
2007
- if( $http_code == 200 ) {
2008
- $response = wp_remote_retrieve_body( $data );
2009
- $xml = $this->xml_string_to_array( $response );
2010
- $ua = Array();
2011
- $profiles = Array();
2012
- if ( !empty( $xml["entry"] ) ) {
2013
- $rec = Array();
2014
- $results = Array();
2015
- if ( !empty( $xml["entry"][0] ) )
2016
- $results = $xml["entry"];
2017
- else
2018
- $results[] = $xml["entry"];
2019
- foreach( $results as $r ) {
2020
- foreach( $r as $k => $v )
2021
- switch( $k ) {
2022
- case 'id': $rec['id'] = $v; break;
2023
- case 'title': $rec['title'] = $v['@content']; break;
2024
- case 'dxp:property':
2025
- $attr = Array();
2026
- foreach ( $v as $a => $f )
2027
- if ( is_array($f) && !empty($f['@attributes'] ) )
2028
- $rec[$f['@attributes']['name']] = $f['@attributes']['value'];
2029
- break;
2030
- }
2031
- $ua[$rec['title']] = Array( $rec['ga:webPropertyId'] => $rec['ga:webPropertyId'] );
2032
- $profiles[ $rec['ga:webPropertyId'] ] = $rec['ga:profileId'];
2033
- }
2034
- }
2035
- $this->account_cache = Array();
2036
- $this->account_cache['ua'] = $ua;
2037
- $this->account_cache['profiles'] = $profiles;
2038
- $preload["{$this->prefix}account_cache"] = $this->account_cache;
2039
- } else {
2040
- unset( $this->token );
2041
- unset( $this->secret );
2042
- unset( $this->ga_token );
2043
- unset( $preload["{$this->prefix}ga_token"] ); // error condition here -- pdb
2044
- $response = wp_remote_retrieve_body( $data );
2045
- $xml = $this->xml_string_to_array( $response );
2046
- if ( !empty( $xml ) && !empty( $xml["error"] ) ) {
2047
- $error = 'Error: ';
2048
- if ( !empty( $xml["error"]["internalReason"] ) ) {
2049
- $error .= $xml["error"]["internalReason"];
2050
- } else {
2051
- foreach( $xml["error"] as $k => $v )
2052
- $error .= "$k: $v\n";
2053
- }
2054
- $this->output_error( $error );
2055
- }
2056
- }
2057
- }
2058
- }
2059
- if ( !empty( $this->ga_token ) ) {
2060
- $this->default_options["google_analytics_id"]['type'] = 'select';
2061
- $this->default_options["google_analytics_id"]['initial_options'] = $ua;
2062
- $this->default_options["google_connect"]["type"] = 'html';
2063
- $this->default_options["google_connect"]["nolabel"] = 1;
2064
- $this->default_options["google_connect"]["save"] = true;
2065
- $this->default_options["google_connect"]["name"] = __( 'Disconnect From Google Analytics', 'all-in-one-seo-pack' );
2066
- $this->default_options["google_connect"]["default"] = "<input name='aiosp_google_connect' type=submit class='button-primary' value='" . __( 'Remove Stored Credentials', 'all-in-one-seo-pack' ) . "'>";
2067
- add_filter( $this->prefix . 'override_options', Array( $this, 'override_options' ), 10, 3 );
2068
- } else {
2069
- $this->default_options["google_connect"]["type"] = 'html';
2070
- $this->default_options["google_connect"]["nolabel"] = 1;
2071
- $this->default_options["google_connect"]["save"] = false;
2072
- $url = $this->oauth_connect();
2073
- $this->default_options["google_connect"]["default"] = "<a href='{$url}' class='button-primary'>" . __( 'Connect With Google Analytics', 'all-in-one-seo-pack' ) . "</a>";
2074
- foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
2075
- if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
2076
- }
2077
- }
2078
- $this->update_class_option( $preload );
2079
- $this->update_options( );
2080
- // $url = $this->report_query();
2081
- if ( !empty( $this->account_cache ) && !empty( $this->options["{$this->prefix}google_analytics_id"] ) && !empty( $this->account_cache["profiles"][ $this->options["{$this->prefix}google_analytics_id"] ] ) ) {
2082
- $this->profile_id = $this->account_cache["profiles"][ $this->options["{$this->prefix}google_analytics_id"] ];
2083
- }
2084
- }
2085
-
2086
- function oauth_get_data( $oauth_url, $args = null ) {
2087
- if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2088
- if ( $args === null ) $args = Array( 'scope' => 'https://www.googleapis.com/auth/analytics.readonly', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
2089
- $req_token = new OAuthConsumer( $this->token, $this->secret );
2090
- $req = $this->oauth_get_creds( $oauth_url, $req_token, $args );
2091
- return wp_remote_get( $req->to_url() );
2092
- }
2093
-
2094
- function oauth_get_creds( $oauth_url, $req_token = NULL, $args = Array(), $callback = null ) {
2095
- if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2096
- if ( !empty( $callback ) ) $args['oauth_callback'] = $callback;
2097
- if ( empty( $this->sig_method ) ) $this->sig_method = new OAuthSignatureMethod_HMAC_SHA1();
2098
- if ( empty( $this->consumer ) ) $this->consumer = new OAuthCOnsumer( 'anonymous', 'anonymous' );
2099
- $req_req = OAuthRequest::from_consumer_and_token( $this->consumer, $req_token, "GET", $oauth_url, $args );
2100
- $req_req->sign_request( $this->sig_method, $this->consumer, $req_token );
2101
- return $req_req;
2102
- }
2103
-
2104
- function oauth_get_token( $oauth_verifier ) {
2105
- if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2106
- $args = Array( 'scope' => 'https://www.google.com/analytics/feeds/', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
2107
- $args['oauth_verifier'] = $oauth_verifier;
2108
- $oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
2109
- $reqData = $this->oauth_get_data( $oauth_access_token, $args );
2110
- $reqOAuthData = OAuthUtil::parse_parameters( wp_remote_retrieve_body( $reqData ) );
2111
- return $reqOAuthData;
2112
- }
2113
-
2114
- function oauth_connect( $count = 0 ) {
2115
- global $aiosp_activation;
2116
- if ( !class_exists( 'OAuthConsumer' ) ) require_once( 'OAuth.php' );
2117
- $url = '';
2118
- $callback_url = NULL;
2119
- $consumer_key = "anonymous";
2120
- $consumer_secret = "anonymous";
2121
- $oauth_request_token = "https://www.google.com/accounts/OAuthGetRequestToken";
2122
- $oauth_authorize = "https://www.google.com/accounts/OAuthAuthorizeToken";
2123
- $oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
2124
- if ( $aiosp_activation ) {
2125
- $oauth_current = false;
2126
- } else {
2127
- $oauth_current = get_transient( "aioseop_oauth_current" );
2128
- }
2129
- if ( !empty( $this->token ) && ( $this->token != 'anonymous' ) && $oauth_current ) {
2130
- return $oauth_authorize . '?oauth_token=' . $this->token;
2131
- } else {
2132
- set_transient( "aioseop_oauth_current", 1, 3600 );
2133
- unset( $this->token );
2134
- unset( $this->secret );
2135
- }
2136
- $args = array(
2137
- 'scope' => 'https://www.google.com/analytics/feeds/',
2138
- 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack')
2139
- );
2140
- $req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack/aioseop_class.php" ) );
2141
- $reqData = wp_remote_get( $req_req->to_url() );
2142
- $reqOAuthData = OAuthUtil::parse_parameters( wp_remote_retrieve_body( $reqData ) );
2143
- if ( !empty( $reqOAuthData['oauth_token'] ) ) $this->token = $reqOAuthData['oauth_token'];
2144
- if ( !empty( $reqOAuthData['oauth_token_secret'] ) ) $this->secret = $reqOAuthData['oauth_token_secret'];
2145
- if ( !empty( $this->token ) && ( $this->token != 'anonymous' ) && ( $oauth_current ) ) {
2146
- $url = $oauth_authorize . "?oauth_token={$this->token}";
2147
- } else {
2148
- if ( !$count ) {
2149
- return $this->oauth_connect( 1 );
2150
- }
2151
- }
2152
- return $url;
2153
- }
2154
-
2155
  function get_analytics_domain() {
2156
  global $aioseop_options;
2157
  if ( !empty( $aioseop_options['aiosp_ga_domain'] ) )
@@ -2206,7 +2262,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
2206
  if ( !empty( $extra_options ) ) $extra_options .= "\n\t\t\t";
2207
  $extra_options .= "ga('require', 'linkid', 'linkid.js');";
2208
  }
2209
-
2210
  if ( !empty( $aioseop_options['aiosp_ga_advanced_options'] ) && !empty( $aioseop_options['aiosp_ga_anonymize_ip'] ) ) {
2211
  if ( !empty( $extra_options ) ) $extra_options .= "\n\t\t\t";
2212
  $extra_options .= "ga('set', 'anonymizeIp', true);";
@@ -2218,7 +2274,7 @@ class All_in_One_SEO_Pack extends All_in_One_SEO_Pack_Module {
2218
  if ( !empty( $js_options ) ) {
2219
  $js_options = join( ',', $js_options );
2220
  $js_options = ', { ' . $js_options . ' } ';
2221
- } else $js_options = '';
2222
  $analytics_id = esc_js( $aioseop_options["aiosp_google_analytics_id"] );
2223
  $analytics =<<<EOF
2224
  <script>
@@ -2246,7 +2302,7 @@ function aiosp_google_analytics() {
2246
  if ( empty( $current_user ) ) get_currentuserinfo();
2247
  if ( !empty( $current_user ) ) {
2248
  $intersect = array_intersect( $aioseop_options['aiosp_ga_exclude_users'], $current_user->roles );
2249
- if ( !empty( $intersect ) ) return;
2250
  }
2251
  }
2252
  }
@@ -2257,7 +2313,7 @@ function aiosp_google_analytics() {
2257
  if ( empty( $analytics ) ) {
2258
  ?> <script type="text/javascript">
2259
  var _gaq = _gaq || [];
2260
- <?php if ( !empty( $aioseop_options['aiosp_ga_advanced_options'] ) && !empty( $aioseop_options['aiosp_ga_link_attribution'] ) ) {
2261
  ?> var pluginUrl =
2262
  '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
2263
  _gaq.push(['_require', 'inpage_linkid', pluginUrl]);
@@ -2321,7 +2377,7 @@ function aiosp_google_analytics() {
2321
  }
2322
  return result;
2323
  }
2324
-
2325
  function aiosp_addLoadEvent(func) {
2326
  var oldonload = window.onload;
2327
  if (typeof window.onload != 'function') {
@@ -2335,7 +2391,7 @@ function aiosp_google_analytics() {
2335
  }
2336
  }
2337
  }
2338
-
2339
  function aiosp_addEvent(element, evnt, funct){
2340
  if (element.attachEvent)
2341
  return element.attachEvent('on'+evnt, funct);
@@ -2405,16 +2461,12 @@ EOF;
2405
  EOF;
2406
  return apply_filters( 'aiosp_sitelinks_search_box', $search_box );
2407
  }
2408
-
2409
- // Thank you, Yoast de Valk, for much of this code.
2410
 
2411
  function aiosp_mrt_get_url( $query, $show_page = true ) {
2412
  if ( $query->is_404 || $query->is_search )
2413
  return false;
2414
-
2415
  $link = '';
2416
  $haspost = count( $query->posts ) > 0;
2417
-
2418
  if ( get_query_var( 'm' ) ) {
2419
  $m = preg_replace( '/[^0-9]/', '', get_query_var( 'm' ) );
2420
  switch ( $this->strlen( $m ) ) {
@@ -2462,7 +2514,7 @@ EOF;
2462
  } elseif ( $query->is_archive && function_exists( 'get_post_type_archive_link' ) && ( $post_type = get_query_var( 'post_type' ) ) ) {
2463
  if ( is_array( $post_type ) )
2464
  $post_type = reset( $post_type );
2465
- $link = get_post_type_archive_link( $post_type );
2466
  } else {
2467
  return false;
2468
  }
@@ -2481,7 +2533,7 @@ EOF;
2481
  }
2482
  return $link;
2483
  }
2484
-
2485
  function get_page_number() {
2486
  $page = get_query_var( 'page' );
2487
  if ( empty( $page ) )
@@ -2503,20 +2555,20 @@ EOF;
2503
  }
2504
  return $link;
2505
  }
2506
-
2507
  function is_singular( $post_types = Array(), $post = null ) {
2508
  if ( !empty( $post_types ) && is_object( $post ) )
2509
  return in_array( $post->post_type, (array)$post_types );
2510
  else
2511
  return is_singular( $post_types );
2512
  }
2513
-
2514
  function show_page_description() {
2515
  global $aioseop_options;
2516
  if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
2517
  $page = $this->get_page_number();
2518
  if ( !empty( $page ) && ( $page > 1 ) )
2519
- return false;
2520
  }
2521
  return true;
2522
  }
@@ -2525,9 +2577,9 @@ EOF;
2525
  global $aioseop_options;
2526
  $description = '';
2527
  if ( !$this->show_page_description() ) {
2528
- return '';
2529
  }
2530
- $description = trim( stripslashes( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
2531
  if ( !empty( $post ) && post_password_required( $post ) ) {
2532
  return $description;
2533
  }
@@ -2541,12 +2593,12 @@ EOF;
2541
  $description = $this->trim_excerpt_without_filters( $this->internationalize( $content ) );
2542
  }
2543
  }
2544
-
2545
  // "internal whitespace trim"
2546
  $description = preg_replace( "/\s\s+/u", " ", $description );
2547
  return $description;
2548
  }
2549
-
2550
  function get_blog_page( $p = null ) {
2551
  static $blog_page = '';
2552
  static $page_for_posts = '';
@@ -2558,7 +2610,7 @@ EOF;
2558
  if ( $blog_page === '' ) {
2559
  if ( $page_for_posts === '' ) $page_for_posts = get_option( 'page_for_posts' );
2560
  if ( $page_for_posts && is_home() && ( !is_object( $post ) || ( $page_for_posts != $post->ID ) ) )
2561
- $blog_page = get_post( $page_for_posts );
2562
  }
2563
  return $blog_page;
2564
  }
@@ -2570,30 +2622,29 @@ EOF;
2570
  $blog_page = $this->get_blog_page();
2571
  $description = '';
2572
  if ( is_front_page() && empty( $aioseop_options['aiosp_use_static_home_info'] ) )
2573
- $description = trim( stripslashes( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
2574
  elseif ( !empty( $blog_page ) )
2575
  $description = $this->get_post_description( $blog_page );
2576
  if ( empty( $description ) && is_object( $post ) && !is_archive() && empty( $blog_page ) )
2577
  $description = $this->get_post_description( $post );
2578
- $description = $this->apply_cf_fields( $description );
2579
  return $description;
2580
  }
2581
-
2582
  function replace_title( $content, $title ) {
 
2583
  $title = trim( strip_tags( $title ) );
2584
  $title_tag_start = "<title";
2585
  $title_tag_end = "</title";
2586
- $title = stripslashes( trim( $title ) );
2587
  $start = $this->strpos( $content, $title_tag_start );
2588
  $end = $this->strpos( $content, $title_tag_end );
2589
-
2590
  $this->title_start = $start;
2591
  $this->title_end = $end;
2592
  $this->orig_title = $title;
2593
-
2594
  return preg_replace( '/<title([^>]*?)\s*>([^<]*?)<\/title\s*>/is', '<title\\1>' . preg_replace('/(\$|\\\\)(?=\d)/', '\\\\\1', strip_tags( $title ) ) . '</title>', $content, 1 );
2595
  }
2596
-
2597
  function internationalize( $in ) {
2598
  if ( function_exists( 'langswitch_filter_langs_with_message' ) )
2599
  $in = langswitch_filter_langs_with_message( $in );
@@ -2604,9 +2655,9 @@ EOF;
2604
  if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
2605
  $in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
2606
  } elseif ( function_exists( 'ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
2607
- $in = ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
2608
  } elseif ( function_exists( 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
2609
- $in = qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
2610
  }
2611
 
2612
  return apply_filters( 'localization', $in );
@@ -2630,12 +2681,12 @@ EOF;
2630
  if ( $title && ( $title = trim( $title ) ) )
2631
  return trim( $title );
2632
  }
2633
-
2634
  // the_search_query() is not suitable, it cannot just return
2635
  global $s;
2636
-
2637
  $title = null;
2638
-
2639
  if ( is_home() ) {
2640
  $title = get_option( 'blogname' );
2641
  } else if ( is_single() ) {
@@ -2687,7 +2738,7 @@ EOF;
2687
  }
2688
  return trim( $title );
2689
  }
2690
-
2691
  function paged_title( $title ) {
2692
  // the page number if paged
2693
  global $paged;
@@ -2707,15 +2758,31 @@ EOF;
2707
  }
2708
  return $title;
2709
  }
2710
-
2711
  function get_tax_title_format( $tax = '' ) {
2712
  global $aioseop_options;
2713
- $title_format = '%category_title% | %blog_title%';
2714
- if ( !empty( $aioseop_options['aiosp_category_title_format'] ) )
 
2715
  $title_format = $aioseop_options['aiosp_category_title_format'];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2716
  return $title_format;
2717
  }
2718
-
2719
  function apply_tax_title_format( $category_name, $category_description, $tax = '' ) {
2720
  if ( empty( $tax ) ) $tax = get_query_var( 'taxonomy' );
2721
  $title_format = $this->get_tax_title_format( $tax );
@@ -2728,23 +2795,41 @@ EOF;
2728
  $title = wp_strip_all_tags( $title );
2729
  return $this->paged_title( $title );
2730
  }
2731
-
2732
  function get_tax_name( $tax ) {
2733
  global $aioseop_options;
2734
- $name = '';
 
 
 
 
 
 
2735
  if ( empty( $name ) ) $name = single_term_title( '', false );
2736
- if ( ( $tax == 'category' ) && ( !empty( $aioseop_options['aiosp_cap_cats'] ) ) )
2737
- $name = $this->ucwords( $name );
 
 
2738
  return $this->internationalize( $name );
2739
  }
2740
-
2741
  function get_tax_desc( $tax ) {
2742
- $desc = '';
 
 
 
 
 
 
2743
  if ( empty( $desc ) ) $desc = term_description( '', $tax );
2744
  return $this->internationalize( $desc );
2745
  }
2746
-
2747
  function get_tax_title( $tax = '' ) {
 
 
 
 
2748
  if ( empty( $tax ) )
2749
  if ( is_category() )
2750
  $tax = 'category';
@@ -2754,7 +2839,7 @@ EOF;
2754
  $desc = $this->get_tax_desc( $tax );
2755
  return $this->apply_tax_title_format( $name, $desc, $tax );
2756
  }
2757
-
2758
  function get_post_title_format( $title_type = 'post', $p = null ) {
2759
  global $aioseop_options;
2760
  if ( ( $title_type != 'post' ) && ( $title_type != 'archive' ) ) return false;
@@ -2765,21 +2850,21 @@ EOF;
2765
  $wp_post_types = $aioseop_options['aiosp_cpostactive'];
2766
  if ( !empty( $aioseop_options["aiosp_cposttitles"] ) ) {
2767
  if ( ( ( $title_type == 'archive' ) && is_post_type_archive( $wp_post_types ) && $prefix = "aiosp_{$title_type}_" ) ||
2768
- ( ( $title_type == 'post' ) && $this->is_singular( $wp_post_types, $p ) && $prefix = "aiosp_" ) ) {
2769
  $post_type = get_post_type( $p );
2770
  if ( !empty( $aioseop_options["{$prefix}{$post_type}_title_format"] ) ) {
2771
  $title_format = $aioseop_options["{$prefix}{$post_type}_title_format"];
2772
- }
2773
  }
2774
  }
2775
  }
2776
  return $title_format;
2777
  }
2778
-
2779
  function get_archive_title_format() {
2780
  return $this->get_post_title_format( "archive" );
2781
  }
2782
-
2783
  function apply_archive_title_format( $title, $category = '' ) {
2784
  $title_format = $this->get_archive_title_format();
2785
  $r_title = array( '%blog_title%', '%blog_description%', '%archive_title%' );
@@ -2787,7 +2872,7 @@ EOF;
2787
  $title = trim( str_replace( $r_title, $d_title, $title_format ) );
2788
  return $title;
2789
  }
2790
-
2791
  function title_placeholder_helper( $title, $post, $type = 'post', $title_format = '', $category = '' ) {
2792
  if ( !empty( $post ) )
2793
  $authordata = get_userdata( $post->post_author );
@@ -2819,17 +2904,17 @@ EOF;
2819
  $title = trim( $new_title );
2820
  return $title;
2821
  }
2822
-
2823
  function apply_post_title_format( $title, $category = '', $p = null ) {
2824
  if ( $p === null ) {
2825
  global $post;
2826
  } else {
2827
  $post = $p;
2828
  }
2829
- $title_format = $this->get_post_title_format( 'post', $post );
2830
  return $this->title_placeholder_helper( $title, $post, 'post', $title_format, $category );
2831
  }
2832
-
2833
  function apply_page_title_format( $title, $p = null, $title_format = '' ) {
2834
  global $aioseop_options;
2835
  if ( $p === null ) {
@@ -2863,12 +2948,14 @@ EOF;
2863
  } else {
2864
  $title = $this->internationalize( $aioseop_options['aiosp_home_title'] );
2865
  if ( !empty( $aioseop_options['aiosp_home_page_title_format'] ) )
2866
- $title = $this->apply_page_title_format( $title, null, $aioseop_options['aiosp_home_page_title_format'] );
2867
  }
2868
  if (empty( $title ) )
2869
  $title = $this->internationalize( get_option( 'blogname' ) ) . ' | ' . $this->internationalize( get_bloginfo( 'description' ) );
 
2870
  global $post;
2871
  $post_id = $post->ID;
 
2872
  if ( is_post_type_archive() && is_post_type_archive( 'product' ) && $post_id = woocommerce_get_page_id( 'shop' ) && $post = get_post( $post_id ) ){
2873
  $frontpage_id = get_option('page_on_front');
2874
 
@@ -2879,18 +2966,16 @@ EOF;
2879
  if ( !$title ) $title = $this->internationalize( get_post_meta( $frontpage_id, "_aioseop_title", true ) ); //this is/was causing the first product to come through
2880
  if ( !$title ) $title = $this->internationalize( $post->post_title );
2881
  if ( !$title ) $title = $this->internationalize( $this->get_original_title( '', false ) );
2882
-
2883
-
2884
-
2885
  $title = $this->apply_page_title_format( $title, $post );
2886
  $title = $this->paged_title( $title );
2887
  $title = apply_filters( 'aioseop_title_page', $title );
2888
  return $title;
2889
-
2890
- }
2891
-
2892
-
2893
-
2894
  return $this->paged_title( $title ); //this is returned for woo
2895
  } else if ( is_attachment() ) {
2896
  if ( $post === null ) return false;
@@ -2915,7 +3000,7 @@ EOF;
2915
  $title = $this->internationalize( get_post_meta( $page_for_posts, "_aioseop_title", true ) );
2916
  if ( !$title ) {
2917
  $post_page = get_post( $page_for_posts );
2918
- $title = $this->internationalize( $post_page->post_title );
2919
  }
2920
  } else {
2921
  $title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
@@ -2976,6 +3061,13 @@ EOF;
2976
  $tag = $tags[0]->tag;
2977
  $tag = str_replace('-', ' ', $tag);
2978
  } else {
 
 
 
 
 
 
 
2979
  if ( empty( $tag ) ) $tag = $this->get_original_title( '', false );
2980
  if ( empty( $tag_description ) ) $tag_description = tag_description();
2981
  $tag = $this->internationalize( $tag );
@@ -3043,7 +3135,7 @@ EOF;
3043
  return $title;
3044
  } else if ( is_404() ) {
3045
  $title_format = $aioseop_options['aiosp_404_title_format'];
3046
- $new_title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name') ), $title_format );
3047
  if ( strpos( $new_title, '%blog_description%' ) !== false ) $new_title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $new_title );
3048
  if ( strpos( $new_title, '%request_url%' ) !== false ) $new_title = str_replace( '%request_url%', $_SERVER['REQUEST_URI'], $new_title );
3049
  if ( strpos( $new_title, '%request_words%' ) !== false ) $new_title = str_replace( '%request_words%', $this->request_as_words( $_SERVER['REQUEST_URI'] ), $new_title );
@@ -3052,7 +3144,7 @@ EOF;
3052
  }
3053
  return false;
3054
  }
3055
-
3056
  /*** Used to filter wp_title(), get our title. ***/
3057
  function wp_title() {
3058
  global $aioseop_options;
@@ -3062,9 +3154,14 @@ EOF;
3062
  $title = $this->get_aioseop_title( $post );
3063
  $title = $this->apply_cf_fields( $title );
3064
  }
3065
-
3066
  if ( $title === false )
3067
  $title = $this->get_original_title();
 
 
 
 
 
3068
  return apply_filters( 'aioseop_title', $title );
3069
  }
3070
 
@@ -3073,14 +3170,14 @@ EOF;
3073
  global $wp_query;
3074
  if (!$wp_query) {
3075
  $header .= "<!-- no wp_query found! -->\n";
3076
- return $header;
3077
  }
3078
  $title = $this->wp_title();
3079
  if ( !empty( $title ) )
3080
  $header = $this->replace_title( $header, $title );
3081
  return $header;
3082
  }
3083
-
3084
  /**
3085
  * @return User-readable nice words for a given request.
3086
  */
@@ -3099,7 +3196,7 @@ EOF;
3099
  $request = implode( ' ', $request_new );
3100
  return $request;
3101
  }
3102
-
3103
  function capitalize( $s ) {
3104
  $s = trim( $s );
3105
  $tokens = explode( ' ', $s );
@@ -3110,16 +3207,19 @@ EOF;
3110
  $s = implode( ' ', $tokens );
3111
  return $s;
3112
  }
3113
-
3114
  function trim_excerpt_without_filters( $text, $max = 0 ) {
3115
  $text = str_replace( ']]>', ']]&gt;', $text );
3116
- $text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text );
3117
  $text = wp_strip_all_tags( $text );
 
 
3118
  if ( !$max ) $max = $this->maximum_description_length;
3119
- $len = $this->strlen( $text );
 
3120
  if ( $max < $len ) {
3121
  if ( function_exists( 'mb_strrpos' ) ) {
3122
- $pos = mb_strrpos( $text, ' ', -($len - $max) );
3123
  if ( $pos === false ) $pos = $max;
3124
  if ( $pos > $this->minimum_description_length ) {
3125
  $max = $pos;
@@ -3127,22 +3227,27 @@ EOF;
3127
  $max = $this->minimum_description_length;
3128
  }
3129
  } else {
3130
- while( $text[$max] != ' ' && $max > $this->minimum_description_length ) {
3131
  $max--;
3132
- }
 
 
 
 
 
3133
  }
3134
  }
3135
  $text = $this->substr( $text, 0, $max );
3136
- return trim( stripslashes( $text ) );
3137
  }
3138
-
3139
  function trim_excerpt_without_filters_full_length( $text ) {
3140
  $text = str_replace( ']]>', ']]&gt;', $text );
3141
  $text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text );
3142
  $text = wp_strip_all_tags( $text );
3143
- return trim( stripslashes( $text ) );
3144
  }
3145
-
3146
  function keyword_string_to_list( $keywords ) {
3147
  $traverse = Array();
3148
  $keywords_i = str_replace( '"', '', $keywords );
@@ -3151,7 +3256,7 @@ EOF;
3151
  }
3152
  return $traverse;
3153
  }
3154
-
3155
  function get_all_categories( $id = 0 ) {
3156
  $keywords = Array();
3157
  $categories = get_the_category( $id );
@@ -3160,7 +3265,7 @@ EOF;
3160
  $keywords[] = $this->internationalize( $category->cat_name );
3161
  return $keywords;
3162
  }
3163
-
3164
  function get_all_tags( $id = 0 ) {
3165
  $keywords = Array();
3166
  $tags = get_the_tags( $id );
@@ -3182,7 +3287,7 @@ EOF;
3182
  }
3183
  return $keywords;
3184
  }
3185
-
3186
  function get_all_terms( $id, $taxonomy ) {
3187
  $keywords = Array();
3188
  $terms = get_the_terms( $id, $taxonomy );
@@ -3191,7 +3296,7 @@ EOF;
3191
  $keywords[] = $this->internationalize( $term->name );
3192
  return $keywords;
3193
  }
3194
-
3195
  /**
3196
  * @return comma-separated list of unique keywords
3197
  */
@@ -3200,7 +3305,7 @@ EOF;
3200
  global $aioseop_options;
3201
  if ( is_404() ) return null;
3202
  // if we are on synthetic pages
3203
- if ( !is_home() && !is_page() && !is_single() && !$this->is_static_front_page() && !$this->is_static_posts_page() && !is_archive() && !is_post_type_archive() )
3204
  return null;
3205
  $keywords = array();
3206
  $opts = $this->meta_opts;
@@ -3222,7 +3327,7 @@ EOF;
3222
  $id = $p->ID;
3223
  if ( $postcount == 1 || !empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) ) {
3224
  // custom field keywords
3225
- $keywords_i = null;
3226
  $keywords_i = stripslashes( $this->internationalize( get_post_meta( $id, "_aioseop_keywords", true ) ) );
3227
  if ( is_attachment() ) {
3228
  $id = $p->post_parent;
@@ -3231,9 +3336,9 @@ EOF;
3231
  }
3232
  $traverse = $this->keyword_string_to_list( $keywords_i );
3233
  if ( !empty( $traverse ) )
3234
- foreach ( $traverse as $keyword ) $keywords[] = $keyword;
3235
  }
3236
-
3237
  if ( !empty( $aioseop_options['aiosp_use_tags_as_keywords'] ) ) {
3238
  $keywords = array_merge( $keywords, $this->get_all_tags( $id ) );
3239
  }
@@ -3244,7 +3349,7 @@ EOF;
3244
  foreach ( $autometa_array as $e )
3245
  $keywords[] = $e;
3246
  }
3247
-
3248
  if ( $aioseop_options['aiosp_use_categories'] && !is_page() ) {
3249
  $keywords = array_merge( $keywords, $this->get_all_categories( $id ) );
3250
  }
@@ -3253,7 +3358,7 @@ EOF;
3253
  }
3254
  return $this->get_unique_keywords( $keywords );
3255
  }
3256
-
3257
  function clean_keyword_list( $keywords ) {
3258
  $small_keywords = array();
3259
  if ( !is_array( $keywords ) ) $keywords = $this->keyword_string_to_list( $keywords );
@@ -3263,11 +3368,11 @@ EOF;
3263
  }
3264
  return array_unique( $small_keywords );
3265
  }
3266
-
3267
  function get_unique_keywords($keywords) {
3268
  return implode( ',', $this->clean_keyword_list( $keywords ) );
3269
  }
3270
-
3271
  function log( $message ) {
3272
  if ( $this->do_log ) {
3273
  @error_log( date( 'Y-m-d H:i:s' ) . " " . $message . "\n", 3, $this->log_file );
@@ -3281,7 +3386,7 @@ EOF;
3281
  if ( isset( $_POST[ 'nonce-aioseop-edit' ] ) ) $nonce = $_POST['nonce-aioseop-edit'];
3282
 
3283
  if ( isset($awmp_edit) && !empty($awmp_edit) && wp_verify_nonce($nonce, 'edit-aioseop-nonce') ) {
3284
-
3285
  $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'sitemap_exclude', 'disable', 'disable_analytics', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
3286
  if ( !( !empty( $this->options['aiosp_can'] ) ) && ( !empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
3287
  unset( $optlist["custom_link"] );
@@ -3290,20 +3395,20 @@ EOF;
3290
  $field = "aiosp_$f";
3291
  if ( isset( $_POST[$field] ) ) $$field = $_POST[$field];
3292
  }
3293
-
3294
  $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
3295
  if ( !( !empty( $this->options['aiosp_can'] ) ) && ( !empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
3296
  unset( $optlist["custom_link"] );
3297
  }
3298
  foreach ( $optlist as $f )
3299
  delete_post_meta( $id, "_aioseop_{$f}" );
3300
-
3301
  if ( $this->is_admin() ) {
3302
  delete_post_meta($id, '_aioseop_sitemap_exclude' );
3303
  delete_post_meta($id, '_aioseop_disable' );
3304
  delete_post_meta($id, '_aioseop_disable_analytics' );
3305
  }
3306
-
3307
  foreach ( $optlist as $f ) {
3308
  $var = "aiosp_$f";
3309
  $field = "_aioseop_$f";
@@ -3335,30 +3440,35 @@ EOF;
3335
  }
3336
  echo '</div>';
3337
  }
3338
-
3339
  function admin_bar_menu() {
3340
  global $wp_admin_bar, $aioseop_admin_menu, $aioseop_options, $post;
3341
- if ( !empty( $aioseop_options['aiosp_admin_bar'] ) ) {
 
 
 
 
 
3342
  $menu_slug = plugin_basename( __FILE__ );
3343
-
3344
  $url = '';
3345
  if ( function_exists( 'menu_page_url' ) )
3346
  $url = menu_page_url( $menu_slug, 0 );
3347
  if ( empty( $url ) )
3348
  $url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
3349
-
3350
  $wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', 'all-in-one-seo-pack' ), 'href' => $url ) );
3351
- if ( current_user_can( 'update_plugins' ) )
3352
  add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
3353
  $aioseop_admin_menu = 1;
3354
  if ( !is_admin() && !empty( $post ) ) {
3355
  $blog_page = $this->get_blog_page( $post );
3356
  if ( !empty( $blog_page ) ) $post = $blog_page;
3357
- $wp_admin_bar->add_menu( array( 'id' => 'aiosp_edit_' . $post->ID, 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Edit SEO', 'all-in-one-seo-pack' ), 'href' => get_edit_post_link( $post->ID ) . '#aiosp' ) );
3358
  }
3359
  }
3360
  }
3361
-
3362
  function admin_bar_upgrade_menu() {
3363
  global $wp_admin_bar;
3364
  $wp_admin_bar->add_menu( array( 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Upgrade To Pro', 'all-in-one-seo-pack' ), 'id' => 'aioseop-pro-upgrade', 'href' => 'http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=menu', 'meta' => Array( 'target' => '_blank' ) ) );
@@ -3367,26 +3477,75 @@ EOF;
3367
  function menu_order() {
3368
  return 5;
3369
  }
3370
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3371
  function admin_menu() {
3372
  $file = plugin_basename( __FILE__ );
3373
  $menu_name = __( 'All in One SEO', 'all-in-one-seo-pack' );
3374
 
3375
  $this->locations['aiosp']['default_options']['nonce-aioseop-edit']['default'] = wp_create_nonce('edit-aioseop-nonce');
3376
-
3377
  $custom_menu_order = false;
3378
  global $aioseop_options;
3379
  if ( !isset( $aioseop_options['custom_menu_order'] ) )
3380
- $custom_menu_order = true;
3381
 
3382
  $this->update_options( );
3383
-
3384
  $this->add_admin_pointers();
3385
  if ( !empty( $this->pointers ) )
3386
  foreach( $this->pointers as $k => $p )
3387
  if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) )
3388
  unset( $this->pointers[$k] );
3389
-
3390
  $donated = false;
3391
  if ( ( isset( $_POST ) ) && ( isset( $_POST['module'] ) ) && ( isset( $_POST['nonce-aioseop'] ) ) && ( $_POST['module'] == 'All_in_One_SEO_Pack' ) && ( wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) ) ) {
3392
  if ( isset( $_POST["aiosp_donate"] ) )
@@ -3395,9 +3554,9 @@ EOF;
3395
  if ( isset( $_POST["aiosp_custom_menu_order"] ) )
3396
  $custom_menu_order = $_POST["aiosp_custom_menu_order"];
3397
  else
3398
- $custom_menu_order = false;
3399
  } else if ( ( isset($_POST["Submit_Default"] ) ) || ( ( isset($_POST["Submit_All_Default"] ) ) ) ) {
3400
- $custom_menu_order = true;
3401
  }
3402
  } else {
3403
  if ( isset( $this->options["aiosp_donate"] ) )
@@ -3405,49 +3564,68 @@ EOF;
3405
  if ( isset( $this->options["aiosp_custom_menu_order"] ) )
3406
  $custom_menu_order = $this->options["aiosp_custom_menu_order"];
3407
  }
3408
-
3409
  if ( $custom_menu_order ) {
3410
  add_filter( 'custom_menu_order', '__return_true' );
3411
  add_filter( 'menu_order', array( $this, 'set_menu_order' ) );
3412
  }
3413
-
3414
  if ( $donated ) {
3415
  // Thank you for your donation
3416
  $this->pointers['aioseop_donate'] = Array( 'pointer_target' => '#aiosp_donate_wrapper',
3417
- 'pointer_text' => '<h3>' . __( 'Thank you!', 'all-in-one-seo-pack' )
3418
  . '</h3><p>' . __( 'Thank you for your donation, it helps keep this plugin free and actively developed!', 'all-in-one-seo-pack' ) . '</p>'
3419
  );
3420
  }
3421
-
 
3422
  if ( !empty( $this->pointers ) )
3423
  foreach( $this->pointers as $k => $p )
3424
  if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) )
3425
  unset( $this->pointers[$k] );
3426
-
3427
  $this->filter_pointers();
 
 
3428
  if ( !empty( $this->options['aiosp_enablecpost'] ) && $this->options['aiosp_enablecpost'] ) {
3429
- if ( !empty( $this->options['aiosp_cpostactive'] ) ) {
3430
- $this->locations['aiosp']['display'] = $this->options['aiosp_cpostactive'];
 
 
 
 
 
 
 
3431
  } else {
3432
- $this->locations['aiosp']['display'] = Array();
 
 
 
 
3433
  }
3434
  } else {
3435
  $this->locations['aiosp']['display'] = Array( 'post', 'page' );
3436
  }
 
3437
  if ( $custom_menu_order )
3438
- add_menu_page( $menu_name, $menu_name, 'manage_options', $file, Array( $this, 'display_settings_page' ) );
3439
  else
3440
- add_utility_page( $menu_name, $menu_name, 'manage_options', $file, Array( $this, 'display_settings_page' ) );
3441
-
3442
  add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all-in-one-seo-pack' ), array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
3443
- add_meta_box('aioseop-about', "About <span style='float:right;'>Version <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3444
- add_meta_box('aioseop-support', __( "Support", 'all-in-one-seo-pack' ) . " <span style='float:right;'>" . __( "Version", 'all-in-one-seo-pack' ) . " <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3445
-
 
 
 
 
3446
  add_action( 'aioseop_modules_add_menus', Array( $this, 'add_menu' ), 5 );
3447
  do_action( 'aioseop_modules_add_menus', $file );
3448
-
3449
-
3450
  $metaboxes = apply_filters( 'aioseop_add_post_metabox', Array() );
 
3451
  if ( !empty( $metaboxes ) ) {
3452
  if ( $this->tabbed_metaboxes ) {
3453
  $tabs = Array();
@@ -3456,7 +3634,7 @@ EOF;
3456
  if ( !isset( $tabs[ $m['post_type'] ] ) ) $tabs[ $m['post_type'] ] = Array();
3457
  $tabs[ $m['post_type'] ][] = $m;
3458
  }
3459
-
3460
  if ( !empty( $tabs ) ) {
3461
  foreach( $tabs as $p => $m ) {
3462
  $tab_num = count( $m );
@@ -3482,7 +3660,7 @@ EOF;
3482
  }
3483
  }
3484
  }
3485
-
3486
  function get_metabox_header( $tabs ) {
3487
  $header = '<ul class="aioseop_header_tabs hide">';
3488
  $active = ' active';
@@ -3497,7 +3675,7 @@ EOF;
3497
  $header .= '</ul>';
3498
  return $header;
3499
  }
3500
-
3501
  function set_menu_order( $menu_order ) {
3502
  $order = array();
3503
  $file = plugin_basename( __FILE__ );
@@ -3508,16 +3686,12 @@ EOF;
3508
  return $order;
3509
  }
3510
 
3511
- function display_settings_header() { ?>
3512
- <?php
3513
  }
3514
  function display_settings_footer( ) {
3515
  }
3516
 
3517
- function display_right_sidebar( ) { ?>
3518
-
3519
- <?php
3520
- /* <label class="aioseop_generic_label"><?php _e('Click on option titles to get help!', 'all-in-one-seo-pack' ); ?></label> */
3521
  global $wpdb;
3522
 
3523
  if( !get_option( 'aioseop_options' ) ) {
@@ -3541,10 +3715,10 @@ EOF;
3541
  }
3542
  </style>
3543
  <div class="aioseop_right_sidebar aioseop_options_wrapper">
3544
-
3545
  <div class="aioseop_sidebar">
3546
  <?php
3547
- do_meta_boxes( 'aioseop_metaboxes', 'side', Array( 'test' ) );
3548
  ?>
3549
  <script type="text/javascript">
3550
  //<![CDATA[
@@ -3554,42 +3728,38 @@ EOF;
3554
  // postboxes setup
3555
  if ( typeof postboxes !== 'undefined' )
3556
  postboxes.add_postbox_toggles('<?php echo $this->pagehook; ?>');
3557
- // $('.meta-box-sortables').removeClass('meta-box-sortables');
3558
  });
3559
  //]]>
3560
  </script>
3561
- <div class="aioseop_advert aioseop_nopad_all">
3562
- <?php $adid = mt_rand( 21, 23 );
3563
-
3564
- if($adid == 23){ ?><div style="height: 220px; background-image: url('https://www.wincher.com/Content/Images/plugin/wp/banner30.jpg')">
3565
- <form style="position: relative; top: 170px; left: 40px;" action="https://www.wincher.com/FastReg" method="post" target="_blank">
3566
- <input type="hidden" name="adreferer" value="banner<?php echo $adid; ?>"/>
3567
- <input type="hidden" name="referer" value="all-in-one-seo-pack"/>
3568
- <input type="text" name="email" placeholder="Email" style="padding-left: 7px; height: 30px; width: 290px; border: solid 1px #DDD;"/>
3569
- <input type="submit" name="sub" value="Sign up!" style="height: 30px; width: 90px; background-color: #42DA76; color: #FFF; font-weight: bold; border:none; margin-left:5px;"/>
3570
- </form></div>
3571
- <?
3572
- }else{
3573
- ?>
3574
- <a href="https://www.wincher.com/?referer=all-in-one-seo-pack&adreferer=banner<?php echo $adid; ?>" target="_blank"><div class=wincherad id=wincher<?php echo $adid; ?>>
3575
- </div></a>
3576
- <?php } ?>
3577
-
3578
- </div>
3579
-
3580
-
3581
- <!-- Headway Themes-->
3582
- <div class="aioseop_advert headwaythemes">
3583
- <div>
3584
- <h3>Drag and Drop WordPress Design</h3>
3585
- <p><a href="http://semperfiwebdesign.com/headwayaio/" target="_blank">Headway Themes</a> allows you to easily create your own stunning website designs! Stop using premade themes start making your own design with Headway's easy to use Drag and Drop interface. All in One SEO Pack users have an exclusive discount by using coupon code <strong>SEMPERFI30</strong> at checkout.</p>
3586
- </div>
3587
- <a href="http://semperfiwebdesign.com/headwayaio/" target="_blank"><img src="<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>headwaybanner.png"></a>
3588
- </div>
3589
-
3590
-
3591
- </div>
3592
- </div>
3593
- <?php
3594
- }
3595
- }
5
  /**
6
  * Include the module base class.
7
  */
8
+ require_once( AIOSEOP_PLUGIN_DIR . 'admin/aioseop_module_class.php' );
9
  /**
10
  * The main class.
11
  */
13
 
14
  /** The current version of the plugin. **/
15
  var $version = AIOSEOP_VERSION;
16
+
17
  /** Max numbers of chars in auto-generated description */
18
  var $maximum_description_length = 160;
19
+
20
  /** Minimum number of chars an excerpt should be so that it can be used
21
  * as description. Touch only if you know what you're doing
22
  */
23
  var $minimum_description_length = 1;
24
+
25
  /** Whether output buffering is already being used during forced title rewrites. **/
26
  var $ob_start_detected = false;
27
 
28
  /** The start of the title text in the head section for forced title rewrites. **/
29
  var $title_start = -1;
30
+
31
  /** The end of the title text in the head section for forced title rewrites. **/
32
  var $title_end = -1;
33
+
34
  /** The title before rewriting */
35
  var $orig_title = '';
36
+
37
  /** Filename of log file. */
38
  var $log_file;
39
+
40
  /** Flag whether there should be logging. */
41
  var $do_log;
42
 
48
  var $profile_id;
49
  var $meta_opts = false;
50
  var $is_front_page = null;
51
+
52
  function __construct() {
53
  global $aioseop_options;
54
+ $this->log_file = dirname( __FILE__ ) . '/all-in-one-seo-pack.log';
55
+
56
  if ( !empty( $aioseop_options ) && isset( $aioseop_options['aiosp_do_log'] ) && $aioseop_options['aiosp_do_log'] )
57
  $this->do_log = true;
58
  else
59
  $this->do_log = false;
60
 
 
 
61
  $this->name = sprintf( __( '%s Plugin Options', 'all-in-one-seo-pack' ), AIOSEOP_PLUGIN_NAME );
62
  $this->menu_name = __( 'General Settings', 'all-in-one-seo-pack' );
63
+
64
  $this->prefix = 'aiosp_'; // option prefix
65
  $this->option_name = 'aioseop_options';
66
  $this->store_option = true;
67
  $this->file = __FILE__; // the current file
68
  $blog_name = esc_attr( get_bloginfo( 'name' ) );
69
  parent::__construct();
70
+
71
  $this->help_text = Array(
72
  "donate" => __( "All donations support continued development of this free software.", 'all-in-one-seo-pack'),
73
+ "license_key" => __( "This will be the license key received when the product was purchased. This is used for automatic upgrades.", 'all-in-one-seo-pack'),
74
  "can" => __( "This option will automatically generate Canonical URLs for your entire WordPress installation. This will help to prevent duplicate content penalties by <a href=\'http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html\' target=\'_blank\'>Google</a>.", 'all-in-one-seo-pack'),
75
  "no_paged_canonical_links"=> __( "Checking this option will set the Canonical URL for all paginated content to the first page.", 'all-in-one-seo-pack'),
76
  "customize_canonical_links"=> __( "Checking this option will allow you to customize Canonical URLs for specific posts.", 'all-in-one-seo-pack'),
77
  "can_set_protocol" => __( "Set protocol for canonical URLs.", 'all-in-one-seo-pack' ),
78
  "use_original_title" => __( "Use wp_title to get the title used by the theme; this is disabled by default. If you use this option, set your title formats appropriately, as your theme might try to do its own title SEO as well.", 'all-in-one-seo-pack' ),
79
+ "do_log" => __( "Check this and All in One SEO Pack will create a log of important events (all-in-one-seo-pack.log) in its plugin directory which might help debugging. Make sure this directory is writable.", 'all-in-one-seo-pack' ),
80
+ "home_title" => __( "As the name implies, this will be the Meta Title of your homepage. This is independent of any other option. If not set, the default Site Title (found in WordPress under Settings, General, Site Title) will be used.", 'all-in-one-seo-pack' ),
81
+ "home_description" => __( "This will be the Meta Description for your homepage. This is independent of any other option. The default is no Meta Description at all if this is not set.", 'all-in-one-seo-pack' ),
82
+ "home_keywords" => __( "Enter a comma separated list of your most important keywords for your site that will be written as Meta Keywords on your homepage. Don\'t stuff everything in here.", 'all-in-one-seo-pack' ),
83
  "use_static_home_info" => __( "Checking this option uses the title, description, and keywords set on your static Front Page.", 'all-in-one-seo-pack' ),
84
+ "togglekeywords" => __( "This option allows you to toggle the use of Meta Keywords throughout the whole of the site.", 'all-in-one-seo-pack' ),
85
  "use_categories" => __( "Check this if you want your categories for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all-in-one-seo-pack' ),
86
  "use_tags_as_keywords" => __( "Check this if you want your tags for a given post used as the Meta Keywords for this post (in addition to any keywords you specify on the Edit Post screen).", 'all-in-one-seo-pack' ),
87
  "dynamic_postspage_keywords"=> __( "Check this if you want your keywords on your Posts page (set in WordPress under Settings, Reading, Front Page Displays) and your archive pages to be dynamically generated from the keywords of the posts showing on that page. If unchecked, it will use the keywords set in the edit page screen for the posts page.", 'all-in-one-seo-pack'),
90
  "cap_cats" => __( "Check this and Category Titles will have the first letter of each word capitalized.", 'all-in-one-seo-pack'),
91
  "home_page_title_format" =>
92
  __( "This controls the format of the title tag for your Home Page.<br />The following macros are supported:", 'all-in-one-seo-pack' )
93
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
94
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
95
+ __( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
96
+ __( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
97
+ __( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
98
+ __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
99
+ __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
100
  '</ul>',
101
  "page_title_format" =>
102
  __( "This controls the format of the title tag for Pages.<br />The following macros are supported:", 'all-in-one-seo-pack' )
103
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
104
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
105
+ __( '%page_title% - The original title of the page', 'all-in-one-seo-pack' ) . '</li><li>' .
106
+ __( "%page_author_login% - This page's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
107
+ __( "%page_author_nicename% - This page's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
108
+ __( "%page_author_firstname% - This page's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
109
+ __( "%page_author_lastname% - This page's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
110
  '</ul>',
111
+ "post_title_format" =>
112
  __( "This controls the format of the title tag for Posts.<br />The following macros are supported:", 'all-in-one-seo-pack' )
113
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
114
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
115
+ __( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
116
+ __( '%category_title% - The (main) category of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
117
+ __( '%category% - Alias for %category_title%', 'all-in-one-seo-pack' ) . '</li><li>' .
118
+ __( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
119
+ __( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
120
+ __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
121
+ __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
122
  '</ul>',
123
+ "category_title_format" =>
124
  __( "This controls the format of the title tag for Category Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
125
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
126
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
127
+ __( '%category_title% - The original title of the category', 'all-in-one-seo-pack' ) . '</li><li>' .
128
  __( '%category_description% - The description of the category', 'all-in-one-seo-pack' ) . '</li></ul>',
129
+ "archive_title_format" =>
130
+ __( "This controls the format of the title tag for Custom Post Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
131
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
132
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
133
  __( '%archive_title - The original archive title given by wordpress', 'all-in-one-seo-pack' ) . '</li></ul>',
134
+ "date_title_format" =>
135
+ __( "This controls the format of the title tag for Date Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
136
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
137
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
138
  __( '%date% - The original archive title given by wordpress, e.g. "2007" or "2007 August"', 'all-in-one-seo-pack' ) . '</li><li>' .
139
  __( '%day% - The original archive day given by wordpress, e.g. "17"', 'all-in-one-seo-pack' ) . '</li><li>' .
140
  __( '%month% - The original archive month given by wordpress, e.g. "August"', 'all-in-one-seo-pack' ) . '</li><li>' .
141
  __( '%year% - The original archive year given by wordpress, e.g. "2007"', 'all-in-one-seo-pack' ) . '</li></ul>',
142
+ "author_title_format" =>
143
+ __( "This controls the format of the title tag for Author Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
144
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
145
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
146
  __( '%author% - The original archive title given by wordpress, e.g. "Steve" or "John Smith"', 'all-in-one-seo-pack' ) . '</li></ul>',
147
+ "tag_title_format" =>
148
+ __( "This controls the format of the title tag for Tag Archives.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
149
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
150
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
151
  __( '%tag% - The name of the tag', 'all-in-one-seo-pack' ) . '</li></ul>',
152
+ "search_title_format" =>
153
+ __( "This controls the format of the title tag for the Search page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
154
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
155
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
156
  __( '%search% - What was searched for', 'all-in-one-seo-pack' ) . '</li></ul>',
157
+ "description_format" => __( "This controls the format of Meta Descriptions.The following macros are supported:", 'all-in-one-seo-pack' ) .
158
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
159
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
160
+ __( '%description% - The original description as determined by the plugin, e.g. the excerpt if one is set or an auto-generated one if that option is set', 'all-in-one-seo-pack' ) . '</li><li>' .
161
+ __( '%post_title% - The original title of the post', 'all-in-one-seo-pack' ) . '</li><li>' .
162
  __( '%wp_title% - The original wordpress title, e.g. post_title for posts', 'all-in-one-seo-pack' ) . '</li></ul>',
163
  "404_title_format" => __( "This controls the format of the title tag for the 404 page.<br />The following macros are supported:", 'all-in-one-seo-pack' ) .
164
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
165
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
166
+ __( '%request_url% - The original URL path, like "/url-that-does-not-exist/"', 'all-in-one-seo-pack' ) . '</li><li>' .
167
+ __( '%request_words% - The URL path in human readable form, like "Url That Does Not Exist"', 'all-in-one-seo-pack' ) . '</li><li>' .
168
  __( '%404_title% - Additional 404 title input"', 'all-in-one-seo-pack' ) . '</li></ul>',
169
  "paged_format" => __( "This string gets appended/prepended to titles of paged index pages (like home or archive pages).", 'all-in-one-seo-pack' )
170
  . __( 'The following macros are supported:', 'all-in-one-seo-pack' )
172
  "enablecpost" => __( "Check this if you want to use All in One SEO Pack with any Custom Post Types on this site.", 'all-in-one-seo-pack' ),
173
  "cpostadvanced" => __( "This will show or hide the advanced options for SEO for Custom Post Types.", 'all-in-one-seo-pack' ),
174
  "cpostactive" => __( "Use these checkboxes to select which Post Types you want to use All in One SEO Pack with.", 'all-in-one-seo-pack' ),
175
+ "taxactive" => __( "Use these checkboxes to select which Taxonomies you want to use All in One SEO Pack with.", 'all-in-one-seo-pack' ),
176
  "cposttitles" => __( "This allows you to set the title tags for each Custom Post Type.", 'all-in-one-seo-pack' ),
177
  "posttypecolumns" => __( "This lets you select which screens display the SEO Title, SEO Keywords and SEO Description columns.", 'all-in-one-seo-pack' ),
178
  "admin_bar" => __( "Check this to add All in One SEO Pack to the Admin Bar for easy access to your SEO settings.", 'all-in-one-seo-pack' ),
194
  "ga_advanced_options" => __( "Check to use advanced Google Analytics options.", 'all-in-one-seo-pack' ),
195
  "ga_domain" => __( "Enter your domain name without the http:// to set your cookie domain.", 'all-in-one-seo-pack' ),
196
  "ga_multi_domain" => __( "Use this option to enable tracking of multiple or additional domains.", 'all-in-one-seo-pack' ),
197
+ "ga_addl_domains" => __( "Add a list of additional domains to track here. Enter one domain name per line without the http://.", 'all-in-one-seo-pack' ),
198
+ "ga_anonymize_ip" => __( "This enables support for IP Anonymization in Google Analytics.", 'all-in-one-seo-pack' ),
199
  "ga_display_advertising"=> __( "This enables support for the Display Advertiser Features in Google Analytics.", 'all-in-one-seo-pack' ),
200
  "ga_exclude_users" => __( "Exclude logged-in users from Google Analytics tracking by role.", 'all-in-one-seo-pack' ),
201
  "ga_track_outbound_links"=> __( "Check this if you want to track outbound links with Google Analytics.", 'all-in-one-seo-pack' ),
229
  "front_meta_tags" => __( "What you enter here will be copied verbatim to the header of the front page if you have set a static page in Settings, Reading, Front Page Displays. You can enter whatever additional headers you want here, even references to stylesheets. This will fall back to using Additional Page Headers if you have them set and nothing is entered here.", 'all-in-one-seo-pack' ),
230
  "home_meta_tags" => __( "What you enter here will be copied verbatim to the header of the home page if you have Front page displays your latest posts selected in Settings, Reading.  It will also be copied verbatim to the header on the Posts page if you have one set in Settings, Reading. You can enter whatever additional headers you want here, even references to stylesheets.", 'all-in-one-seo-pack' ),
231
  );
232
+
233
  $this->help_anchors = Array(
234
+ 'license_key' => '#license-key',
235
  'can' => '#canonical-urls',
236
  'no_paged_canonical_links' => '#no-pagination-for-canonical-urls',
237
  'customize_canonical_links' => '#enable-custom-canonical-urls',
260
  'enablecpost' => '#seo-for-custom-post-types',
261
  'cpostadvanced' => '#enable-advanced-options',
262
  'cpostactive' => '#seo-on-only-these-post-types',
263
+ 'taxactive' => '#seo-on-only-these-taxonomies',
264
  'cposttitles' => '#custom-titles',
265
  'posttypecolumns' => '#show-column-labels-for-custom-post-types',
266
  'admin_bar' => '#display-menu-in-admin-bar',
317
  'disable' => __( 'Disable SEO on this page.', 'all-in-one-seo-pack' ),
318
  'disable_analytics' => __( 'Disable Google Analytics on this page.', 'all-in-one-seo-pack' )
319
  );
320
+
321
+ $this->default_options = array(
322
+ "license_key" => Array(
323
+ 'name' => __( 'License Key:', 'all-in-one-seo-pack' ),
324
+ 'type' => 'text' ),
325
+ "donate" => Array(
326
+ 'name' => __( 'I enjoy this plugin and have made a donation:', 'all-in-one-seo-pack' ) ),
327
+ "home_title"=> Array(
328
+ 'name' => __( 'Home Title:', 'all-in-one-seo-pack' ),
329
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
330
  'count' => true, 'rows' => 1, 'cols' => 60,
331
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
332
+ "home_description"=> Array(
333
+ 'name' => __( 'Home Description:', 'all-in-one-seo-pack' ),
334
  'default' => '', 'type' => 'textarea', 'sanitize' => 'text',
335
  'count' => true, 'cols' => 80, 'rows' => 2,
336
  'condshow' => Array( "aiosp_use_static_home_info" => 0 ) ),
337
+ "togglekeywords" => Array(
338
+ 'name' => __( 'Use Keywords:', 'all-in-one-seo-pack' ),
339
  'default' => 0,
340
  'type' => 'radio',
341
  'initial_options' => Array( 0 => __( 'Enabled', 'all-in-one-seo-pack' ),
342
  1 => __( 'Disabled', 'all-in-one-seo-pack' ) )
343
  ),
344
+ "home_keywords"=> Array(
345
+ 'name' => __( 'Home Keywords (comma separated):', 'all-in-one-seo-pack' ),
346
  'default' => null, 'type' => 'textarea', 'sanitize' => 'text',
347
  'condshow' => Array( "aiosp_togglekeywords" => 0, "aiosp_use_static_home_info" => 0 ) ),
348
  "use_static_home_info" => Array(
372
  'https' => __( 'HTTPS', 'all-in-one-seo-pack' ) ),
373
  'condshow' => Array( "aiosp_can" => 'on' )
374
  ),
375
+ "rewrite_titles"=> Array(
376
+ 'name' => __( 'Rewrite Titles:', 'all-in-one-seo-pack' ),
377
  'default' => 1,
378
  'type' => 'radio',
379
  'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
380
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
381
  ),
382
+ "force_rewrites"=> Array(
383
+ 'name' => __( 'Force Rewrites:', 'all-in-one-seo-pack' ),
384
  'default' => 1,
385
  'type' => 'hidden',
386
  'prefix' => $this->prefix,
392
  'type' => 'radio',
393
  'default' => 0,
394
  'initial_options' => Array( 1 => __( 'Enabled', 'all-in-one-seo-pack' ),
395
+ 0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
396
  ),
397
  "cap_titles"=> Array(
398
  'name' => __( 'Capitalize Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
399
  "cap_cats"=> Array(
400
  'name' => __( 'Capitalize Category Titles:', 'all-in-one-seo-pack' ), 'default' => 1),
401
+ "home_page_title_format"=> Array(
402
+ 'name' => __( 'Home Page Title Format:', 'all-in-one-seo-pack' ),
403
  'type' => 'text', 'default' => '%page_title%',
404
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
405
+ "page_title_format"=> Array(
406
+ 'name' => __( 'Page Title Format:', 'all-in-one-seo-pack' ),
407
  'type' => 'text', 'default' => '%page_title% | %blog_title%',
408
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
409
+ "post_title_format"=> Array(
410
+ 'name' => __( 'Post Title Format:', 'all-in-one-seo-pack' ),
411
  'type' => 'text', 'default' => '%post_title% | %blog_title%',
412
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
413
+ "category_title_format"=> Array(
414
+ 'name' => __( 'Category Title Format:', 'all-in-one-seo-pack' ),
415
  'type' => 'text', 'default' => '%category_title% | %blog_title%',
416
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
417
  "archive_title_format"=> Array(
418
+ 'name' => __( 'Archive Title Format:', 'all-in-one-seo-pack' ),
419
  'type' => 'text', 'default' => '%archive_title% | %blog_title%',
420
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
421
  "date_title_format"=> Array(
422
+ 'name' => __( 'Date Archive Title Format:', 'all-in-one-seo-pack' ),
423
  'type' => 'text', 'default' => '%date% | %blog_title%',
424
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
425
  "author_title_format"=> Array(
426
+ 'name' => __( 'Author Archive Title Format:', 'all-in-one-seo-pack' ),
427
  'type' => 'text', 'default' => '%author% | %blog_title%',
428
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
429
+ "tag_title_format"=> Array(
430
+ 'name' => __( 'Tag Title Format:', 'all-in-one-seo-pack' ),
431
  'type' => 'text', 'default' => '%tag% | %blog_title%',
432
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
433
+ "search_title_format"=> Array(
434
+ 'name' => __( 'Search Title Format:', 'all-in-one-seo-pack' ),
435
  'type' => 'text', 'default' => '%search% | %blog_title%',
436
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
437
+ "description_format"=> Array(
438
+ 'name' => __( 'Description Format', 'all-in-one-seo-pack' ),
439
  'type' => 'text', 'default' => '%description%',
440
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
441
+ "404_title_format"=> Array(
442
+ 'name' => __( '404 Title Format:', 'all-in-one-seo-pack' ),
443
  'type' => 'text', 'default' => 'Nothing found for %request_words%',
444
  'condshow' => Array( "aiosp_rewrite_titles" => 1 ) ),
445
  "paged_format"=> Array(
454
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) )
455
  ),
456
  "cpostactive" => Array(
457
+ 'name' => __( 'SEO on only these post types:', 'all-in-one-seo-pack' ),
458
  'type' => 'multicheckbox', 'default' => array('post', 'page'),
459
  'condshow' => Array( 'aiosp_enablecpost' => 'on' )
460
  ),
461
+ "taxactive" => Array(
462
+ 'name' => __( 'SEO on only these taxonomies:', 'all-in-one-seo-pack' ),
463
+ 'type' => 'multicheckbox', 'default' => array('category', 'post_tag'),
464
+ 'condshow' => Array( 'aiosp_enablecpost' => 'on' )
465
+ ),
466
  "cpostadvanced" => Array(
467
+ 'name' => __( 'Enable Advanced Options:', 'all-in-one-seo-pack' ),
468
  'default' => 0, 'type' => 'radio',
469
  'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
470
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
472
  'condshow' => Array( "aiosp_enablecpost" => 'on' )
473
  ),
474
  "cpostnoindex" => Array(
475
+ 'name' => __( 'Default to NOINDEX:', 'all-in-one-seo-pack' ),
476
  'type' => 'multicheckbox', 'default' => array(),
477
  ),
478
  "cpostnofollow" => Array(
479
+ 'name' => __( 'Default to NOFOLLOW:', 'all-in-one-seo-pack' ),
480
  'type' => 'multicheckbox', 'default' => array(),
481
  ),
482
  "cpostnoodp"=> Array(
488
  'type' => 'multicheckbox', 'default' => array(),
489
  ),
490
  "cposttitles" => Array(
491
+ 'name' => __( 'Custom titles:', 'all-in-one-seo-pack' ),
492
  'type' => 'checkbox', 'default' => 0,
493
  'condshow' => Array( "aiosp_rewrite_titles" => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on' )
494
  ),
495
  "posttypecolumns" => Array(
496
  'name' => __( 'Show Column Labels for Custom Post Types:', 'all-in-one-seo-pack' ),
497
+ 'type' => 'multicheckbox', 'default' => array('post', 'page'),
498
+ 'condshow' => Array( 'aiosp_enablecpost' => 'on' ) ),
499
  "admin_bar" => Array(
500
  'name' => __( 'Display Menu In Admin Bar:', 'all-in-one-seo-pack' ), 'default' => 'on',
501
  ),
530
  'condshow' => Array( 'aiosp_google_set_site_name' => 'on' )
531
  ),
532
  "google_author_advanced" => Array(
533
+ 'name' => __( 'Advanced Authorship Options:', 'all-in-one-seo-pack' ),
534
  'default' => 0, 'type' => 'radio',
535
  'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
536
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
541
  'condshow' => Array( 'aiosp_google_author_advanced' => 'on' )
542
  ),
543
  "google_enable_publisher" => Array(
544
+ 'name' => __( 'Display Publisher Meta on Front Page:', 'all-in-one-seo-pack' ),
545
  'default' => 'on', 'type' => 'radio',
546
  'initial_options' => Array( 'on' => __( 'Enabled', 'all-in-one-seo-pack' ),
547
  0 => __( 'Disabled', 'all-in-one-seo-pack' ) ),
601
  "ga_enhanced_ecommerce"=> Array(
602
  'name' => __( 'Enhanced Ecommerce:', 'all-in-one-seo-pack' ),
603
  'default' => 0,
604
+ 'condshow' => Array( 'aiosp_google_analytics_id' => Array( 'lhs' => 'aiosp_google_analytics_id', 'op' => '!=', 'rhs' => '' ), 'aiosp_ga_use_universal_analytics' => 'on', 'aiosp_ga_advanced_options' => 'on' ) ),
605
  "use_categories"=> Array(
606
  'name' => __( 'Use Categories for META keywords:', 'all-in-one-seo-pack' ),
607
  'default' => 0,
691
  'default' => null ),
692
  );
693
 
694
+ if ( AIOSEOPPRO ) {
695
+ unset($this->default_options['donate']);
696
+ } else {
697
+ unset($this->default_options['license_key']);
698
+ unset($this->default_options['taxactive']);
699
+ }
700
+
701
  $this->locations = Array(
702
  'default' => Array( 'name' => $this->name, 'prefix' => 'aiosp_', 'type' => 'settings', 'options' => null ),
703
  'aiosp' => Array( 'name' => $this->plugin_name, 'type' => 'metabox', 'prefix' => '', 'help_link' => 'http://semperplugins.com/sections/postpage-settings/',
704
+ 'options' => Array( 'edit', 'nonce-aioseop-edit', AIOSEOPPRO ? 'support' : 'upgrade' , 'snippet', 'title', 'description', 'keywords', 'custom_link', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel', 'sitemap_exclude', 'disable', 'disable_analytics' ),
705
+ 'default_options' => Array(
706
  'edit' => Array( 'type' => 'hidden', 'default' => 'aiosp_edit', 'prefix' => true, 'nowrap' => 1 ),
707
  'nonce-aioseop-edit' => Array( 'type' => 'hidden', 'default' => null, 'prefix' => false, 'nowrap' => 1 ),
708
  'upgrade' => Array( 'type' => 'html', 'label' => 'none',
709
+ 'default' => '<a target="__blank" href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=meta">'
710
  . __( 'Upgrade to All in One SEO Pack Pro Version', 'all-in-one-seo-pack' ) . '</a>'
711
  ),
712
+ 'support' => Array( 'type' => 'html', 'label' => 'none',
713
+ 'default' => '<a target="_blank" href="http://semperplugins.com/support/">'
714
+ . __( 'Support Forum', 'all-in-one-seo-pack' ) . '</a>'
715
+ ),
716
+ 'snippet' => Array( 'name' => __( 'Preview Snippet', 'all-in-one-seo-pack' ), 'type' => 'custom', 'label' => 'top',
717
  'default' => '
718
  <script>
719
  jQuery(document).ready(function() {
728
  <div class="preview_snippet"><div id="aioseop_snippet"><h3><a>%s</a></h3><div><div><cite id="aioseop_snippet_link">%s</cite></div><span id="aioseop_snippet_description">%s</span></div></div></div>' ),
729
  'title' => Array( 'name' => __( 'Title', 'all-in-one-seo-pack' ), 'type' => 'text', 'count' => true, 'size' => 60 ),
730
  'description' => Array( 'name' => __( 'Description', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'count' => true, 'cols' => 80, 'rows' => 2 ),
731
+
732
  'keywords' => Array( 'name' => __( 'Keywords (comma separated)', 'all-in-one-seo-pack' ), 'type' => 'text' ),
733
+ 'custom_link' => Array( 'name' => __( 'Custom Canonical URL', 'all-in-one-seo-pack' ), 'type' => 'text', 'size' => 60 ),
734
  'noindex' => Array( 'name' => __( "Robots Meta NOINDEX", 'all-in-one-seo-pack' ), 'default' => '' ),
735
  'nofollow' => Array( 'name' => __( "Robots Meta NOFOLLOW", 'all-in-one-seo-pack' ), 'default' => '' ),
736
  'noodp' => Array( 'name' => __( "Robots Meta NOODP", 'all-in-one-seo-pack' ) ),
742
  'disable_analytics' => Array( 'name' => __( 'Disable Google Analytics', 'all-in-one-seo-pack' ), 'condshow' => Array( 'aiosp_disable' => 'on' ) ) ),
743
  'display' => null )
744
  );
745
+
746
  if ( !empty( $meta_help_text ) )
747
  foreach( $meta_help_text as $k => $v )
748
  $this->locations['aiosp']['default_options'][$k]['help_text'] = $v;
767
  'name' => __( 'Title Settings', 'all-in-one-seo-pack' ),
768
  'help_link' => 'http://semperplugins.com/documentation/title-settings/',
769
  'options' => Array( "rewrite_titles", "force_rewrites", "cap_titles", "cap_cats", "home_page_title_format", "page_title_format", "post_title_format", "category_title_format", "archive_title_format", "date_title_format", "author_title_format",
770
+ "tag_title_format", "search_title_format", "description_format", "404_title_format", "paged_format" )
771
  ),
772
  'cpt' => Array(
773
  'name' => __( 'Custom Post Type Settings', 'all-in-one-seo-pack' ),
774
  'help_link' => 'http://semperplugins.com/documentation/custom-post-type-settings/',
775
+ 'options' => Array( "enablecpost", "cpostadvanced", "taxactive","cpostactive", "cposttitles" )
776
  ),
777
  'display' => Array(
778
  'name' => __( 'Display Settings', 'all-in-one-seo-pack' ),
788
  'name' => __( 'Google Settings', 'all-in-one-seo-pack' ),
789
  'help_link' => 'http://semperplugins.com/documentation/google-settings/',
790
  'options' => Array( "google_publisher", "google_disable_profile", "google_sitelinks_search", "google_set_site_name", "google_specify_site_name", "google_author_advanced", "google_author_location", "google_enable_publisher" , "google_specify_publisher",
791
+ // "google_connect",
792
  "google_analytics_id", "ga_use_universal_analytics", "ga_advanced_options", "ga_domain", "ga_multi_domain", "ga_addl_domains", "ga_anonymize_ip", "ga_display_advertising", "ga_exclude_users", "ga_track_outbound_links", "ga_link_attribution", "ga_enhanced_ecommerce" )
793
  ),
794
  'noindex' => Array(
795
  'name' => __( 'Noindex Settings', 'all-in-one-seo-pack' ),
796
  'help_link' => 'http://semperplugins.com/documentation/noindex-settings/',
797
+ 'options' => Array( 'cpostnoindex', 'cpostnofollow', 'cpostnoodp', 'cpostnoydir', 'category_noindex', 'archive_date_noindex', 'archive_author_noindex', 'tags_noindex', 'search_noindex', '404_noindex', 'tax_noindex', 'paginated_noindex', 'paginated_nofollow', 'noodp', 'noydir' )
798
  ),
799
  'advanced' => Array(
800
  'name' => __( 'Advanced Settings', 'all-in-one-seo-pack' ),
803
  )
804
  );
805
 
806
+ if(!AIOSEOPPRO){
807
+ unset($this->layout['cpt']['options']['2']);
808
+ }
809
+
810
  $other_options = Array();
811
  foreach( $this->layout as $k => $v )
812
  $other_options = array_merge( $other_options, $v['options'] );
813
+
814
  $this->layout['default']['options'] = array_diff( array_keys( $this->default_options ), $other_options );
815
+
816
  if ( is_admin() ) {
817
  $this->add_help_text_links();
818
  add_action( "aioseop_global_settings_header", Array( $this, 'display_right_sidebar' ) );
819
  add_action( "aioseop_global_settings_footer", Array( $this, 'display_settings_footer' ) );
820
  add_action( "output_option", Array( $this, 'custom_output_option' ), 10, 2 );
821
  add_action('all_admin_notices', array( $this, 'visibility_warning'));
822
+ }
823
+ if(AIOSEOPPRO){
824
+ add_action( 'split_shared_term', Array( $this, 'split_shared_term' ), 10, 4 );
825
+ }
826
+ }
827
+
828
+ //good candidate for pro dir
829
+ function get_all_term_data( $term_id ) {
830
+ $terms = Array();
831
+ $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'sitemap_exclude', 'disable', 'disable_analytics', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
832
+ foreach( $optlist as $f ) {
833
+ $meta = get_term_meta( $term_id, '_aioseop_' . $f, true );
834
+ if ( !empty( $meta ) ) {
835
+ $terms['_aioseop_' . $f] = $meta;
836
+ }
837
+ }
838
+ return $terms;
839
+ }
840
+
841
+ //good candidate for pro dir
842
+ function split_shared_term( $term_id, $new_term_id, $term_taxonomy_id = '', $taxonomy = '' ) {
843
+ $terms = $this->get_all_term_data( $term_id );
844
+ if ( !empty( $terms ) ) {
845
+ $new_terms = $this->get_all_term_data( $new_term_id );
846
+ if ( empty( $new_terms ) ) {
847
+ foreach( $terms as $k => $v ) {
848
+ add_term_meta( $new_term_id, $k, $v, true );
849
+ }
850
+ add_term_meta( $term_id, '_aioseop_term_was_split', true, true );
851
+ }
852
+ }
853
  }
854
+
 
855
  function get_page_snippet_info() {
856
  static $info = Array();
857
  if ( !empty( $info ) )
912
  } else if ( $_GET['taxonomy'] == 'post_tag' ) {
913
  query_posts( Array( 'tag' => $term->slug ) );
914
  } else {
915
+ query_posts( Array( 'page' => '', $_GET['taxonomy'] => $term->slug, 'post_type' => $_GET['post_type'] ) );
916
  }
917
  if ( empty( $this->meta_opts ) )
918
  $this->meta_opts = $this->get_current_options( Array(), 'aiosp' );
933
  $url = apply_filters( 'aioseop_canonical_url', $url );
934
  }
935
  if ( !$url ) $url = get_permalink();
936
+
937
  $title = $this->apply_cf_fields( $title );
938
  $description = $this->apply_cf_fields( $description );
939
  $description = apply_filters( 'aioseop_description', $description );
940
+
941
  $keywords = $this->get_main_keywords();
942
  $keywords = $this->apply_cf_fields( $keywords );
943
  $keywords = apply_filters( 'aioseop_keywords', $keywords );
944
+
945
  $info = Array( 'title' => $title, 'description' => $description, 'keywords' => $keywords, 'url' => $url,
946
  'title_format' => $title_format, 'category' => $category, 'w' => $wp_query, 'p' => $post );
947
  wp_reset_postdata();
948
  $wp_query = $w; $post = $p;
949
  return $info;
950
  }
951
+
952
  /*** Use custom callback for outputting snippet ***/
953
  function custom_output_option( $buf, $args ) {
954
  if ( $args['name'] == 'aiosp_snippet' ) {
958
  $info = $this->get_page_snippet_info();
959
  extract( $info );
960
  } else return '';
961
+
962
  if ( $this->strlen( $title ) > 70 ) $title = $this->trim_excerpt_without_filters( $title, 70 ) . '...';
963
  if ( $this->strlen( $description ) > 156 ) $description = $this->trim_excerpt_without_filters( $description, 156 ) . '...';
964
  $extra_title_len = 0;
971
  if ( strpos( $title_format, '%post_title%' ) !== false ) $title_format = str_replace( '%post_title%', $replace_title, $title_format );
972
  if ( strpos( $title_format, '%page_title%' ) !== false ) $title_format = str_replace( '%page_title%', $replace_title, $title_format );
973
  if ( $w->is_category || $w->is_tag || $w->is_tax ) {
974
+ if(AIOSEOPPRO){
975
+ if ( !empty( $_GET ) && !empty( $_GET['taxonomy'] ) && function_exists( 'wp_get_split_terms' ) ) {
976
+ $was_split = get_term_meta( $term_id, '_aioseop_term_was_split', true );
977
+ if ( !$was_split ) {
978
+ $split_terms = wp_get_split_terms( $featured_tag_id, $_GET['taxonomy'] );
979
+ if ( !empty( $split_terms ) ) {
980
+ foreach ( $split_terms as $new_tax => $new_term ) {
981
+ $this->split_shared_term( $term_id, $new_term );
982
+ }
983
+ }
984
+ }
985
+ }
986
+ }
987
  if ( strpos( $title_format, '%category_title%' ) !== false ) $title_format = str_replace( '%category_title%', $replace_title, $title_format );
988
  if ( strpos( $title_format, '%taxonomy_title%' ) !== false ) $title_format = str_replace( '%taxonomy_title%', $replace_title, $title_format );
989
  } else {
990
  if ( strpos( $title_format, '%category%' ) !== false ) $title_format = str_replace( '%category%', $category, $title_format );
991
  if ( strpos( $title_format, '%category_title%' ) !== false ) $title_format = str_replace( '%category_title%', $category, $title_format );
992
+ if ( strpos( $title_format, '%taxonomy_title%' ) !== false ) $title_format = str_replace( '%taxonomy_title%', $category, $title_format );
993
+ if(AIOSEOPPRO){
994
+ if ( strpos( $title_format, "%tax_" ) && !empty( $p ) ) {
995
+ $taxes = get_object_taxonomies( $p, 'objects' );
996
+ if ( !empty( $taxes ) )
997
+ foreach( $taxes as $t )
998
+ if ( strpos( $title_format, "%tax_{$t->name}%" ) ) {
999
+ $terms = $this->get_all_terms( $p->ID, $t->name );
1000
+ $term = '';
1001
+ if ( count( $terms ) > 0 )
1002
+ $term = $terms[0];
1003
+ $title_format = str_replace( "%tax_{$t->name}%", $term, $title_format );
1004
+ }
1005
+ }
1006
+ }
1007
+ }
1008
  if ( strpos( $title_format, '%taxonomy_description%' ) !== false ) $title_format = str_replace( '%taxonomy_description%', $description, $title_format );
1009
+
1010
  $title_format = preg_replace( '/%([^%]*?)%/', '', $title_format );
1011
  $title = $title_format;
1012
  $extra_title_len = strlen( str_replace( $replace_title, '', $title_format ) );
1013
  }
1014
+
1015
  $args['value'] = sprintf( $args['value'], $title, esc_url( $url ), esc_attr( wp_strip_all_tags( $description ) ) );
1016
  $extra_title_len = (int)$extra_title_len;
1017
  $args['value'] .= "<script>var aiosp_title_extra = {$extra_title_len};</script>";
1019
 
1020
  return $buf;
1021
  }
1022
+
1023
  function add_page_icon() {
1024
  wp_enqueue_script( 'wp-pointer', false, array( 'jquery' ) );
1025
  wp_enqueue_style( 'wp-pointer' );
1026
  $this->add_admin_pointers();
1027
  ?>
1028
  <style>
1029
+ #toplevel_page_all-in-one-seo-pack-pro-aioseop_class .wp-menu-image {
1030
+ background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-16.png) no-repeat 8px 6px !important;
1031
+ }
1032
+ #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
1033
+ background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-16.png) no-repeat 8px 6px !important;
1034
+ }
1035
+ #toplevel_page_all-in-one-seo-pack-pro-aioseop_class .wp-menu-image img {
1036
+ display: none;
1037
+ }
1038
+ #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image img {
1039
+ display: none;
1040
+ }
1041
+ #adminmenu #toplevel_page_all-in-one-seo-pack-pro-aioseop_class .wp-menu-image:before {
1042
+ content: '';
1043
+ }
1044
  #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image:before {
1045
  content: '' !important;
1046
  }
1047
+ #toplevel_page_all-in-one-seo-pack-pro-aioseop_class:hover .wp-menu-image, #toplevel_page_all-in-one-seo-pack-pro-aioseop_class.wp-has-current-submenu .wp-menu-image {
1048
+ background-position: 8px -26px !important;
1049
  }
1050
+ #toplevel_page_all-in-one-seo-pack-aioseop_class:hover .wp-menu-image, #toplevel_page_all-in-one-seo-pack-aioseop_class.wp-has-current-submenu .wp-menu-image {
1051
+ background-position: 8px -26px !important;
1052
  }
1053
  #icon-aioseop.icon32 {
1054
  background: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield32.png) no-repeat left top !important;
1060
  background-position: 10px;
1061
  font-size: 14px;
1062
  min-height: 32px;
1063
+ clear: none;
1064
  }
1065
 
1066
  @media
1070
  only screen and ( min-device-pixel-ratio: 1.5),
1071
  only screen and ( min-resolution: 1.5dppx) {
1072
 
1073
+ #toplevel_page_all-in-one-seo-pack-pro-aioseop_class .wp-menu-image {
1074
+ background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-32.png') !important;
1075
+ -webkit-background-size: 16px 48px !important;
1076
+ -moz-background-size: 16px 48px !important;
1077
+ background-size: 16px 48px !important;
1078
+ }
1079
+
1080
+ #toplevel_page_all-in-one-seo-pack-aioseop_class .wp-menu-image {
1081
+ background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield-sprite-32.png') !important;
1082
+ -webkit-background-size: 16px 48px !important;
1083
+ -moz-background-size: 16px 48px !important;
1084
+ background-size: 16px 48px !important;
1085
+ }
1086
+
1087
+ #icon-aioseop.icon32 {
1088
+ background-image: url('<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>shield64.png') !important;
1089
+ -webkit-background-size: 32px 32px !important;
1090
+ -moz-background-size: 32px 32px !important;
1091
+ background-size: 32px 32px !important;
1092
+ }
1093
+
1094
  #aioseop_settings_header #message {
1095
  background-image: url(<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>update64.png) !important;
1096
+ -webkit-background-size: 32px 32px !important;
1097
+ -moz-background-size: 32px 32px !important;
1098
+ background-size: 32px 32px !important;
1099
  }
1100
+ }
1101
+ </style>
1102
+ <script>
1103
  function aioseop_show_pointer( handle, value ) {
1104
  if ( typeof( jQuery ) != 'undefined' ) {
1105
  var p_edge = 'bottom';
1108
  if ( typeof( value.pointer_edge ) != 'undefined' ) p_edge = value.pointer_edge;
1109
  if ( typeof( value.pointer_align ) != 'undefined' ) p_align = value.pointer_align;
1110
  jQuery(value.pointer_target).pointer({
1111
+ content : value.pointer_text,
1112
+ position: {
1113
+ edge: p_edge,
1114
+ align: p_align
1115
+ },
1116
+ close : function() {
1117
+ jQuery.post( ajaxurl, {
1118
+ pointer: handle,
1119
+ action: 'dismiss-wp-pointer'
1120
+ });
1121
+ }
1122
+ }).pointer('open');
1123
  }
1124
  }
1125
  }
1126
+ <?php
1127
  if ( !empty( $this->pointers ) ) {
1128
  ?>
1129
  if ( typeof( jQuery ) != 'undefined' ) {
1130
  jQuery(document).ready(function() {
1131
  var admin_pointer;
1132
  var admin_index;
1133
+ <?php
1134
  foreach( $this->pointers as $k => $p )
1135
  if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) ) {
1136
  ?>admin_index = "<?php echo esc_attr($k); ?>";
1147
  </script>
1148
  <?php
1149
  }
1150
+
1151
  function add_page_hooks() {
1152
+
1153
+ global $aioseop_options;
1154
+
1155
  $post_objs = get_post_types( '', 'objects' );
1156
  $pt = array_keys( $post_objs );
1157
  $rempost = array( 'revision', 'nav_menu_item' );
1158
  $pt = array_diff( $pt, $rempost );
1159
  $post_types = Array();
1160
+ $default_posttypes = Array('Posts','Pages','Media');
1161
+
1162
+ $aiosp_enablecpost = '';
1163
+ if (isset($_REQUEST['aiosp_enablecpost'])) $aiosp_enablecpost = $_REQUEST['aiosp_enablecpost'];
1164
+
1165
  foreach ( $pt as $p ) {
1166
+ if ( !empty( $post_objs[$p]->label ) ){
1167
+ if (in_array($post_objs[$p]->label,$default_posttypes) && empty( $aioseop_options['aiosp_enablecpost'] )){
1168
  $post_types[$p] = $post_objs[$p]->label;
1169
+ }elseif (!empty( $aioseop_options['aiosp_enablecpost'] ) || $aiosp_enablecpost == 'on' ) {
1170
+ $post_types[$p] = $post_objs[$p]->label;
1171
+ }
1172
+ }
1173
+ else{
1174
  $post_types[$p] = $p;
1175
+ }
1176
  }
1177
  $taxes = get_taxonomies( '', 'objects' );
1178
  $tx = array_keys( $taxes );
1190
  $this->default_options["cpostnofollow"]['initial_options'] = $post_types;
1191
  $this->default_options["cpostnoodp"]['initial_options'] = $post_types;
1192
  $this->default_options["cpostnoydir"]['initial_options'] = $post_types;
1193
+ if ( AIOSEOPPRO ) $this->default_options["taxactive"]['initial_options'] = $tax_types;
1194
  $this->default_options["google_author_location"]['initial_options'] = $post_types;
1195
  $this->default_options['google_author_location' ]['initial_options'] = array_merge( Array( 'front' => __( 'Front Page', 'all-in-one-seo-pack' ) ), $post_types, Array( 'all' => __( 'Everywhere Else', 'all-in-one-seo-pack' ) ) );
1196
  $this->default_options["google_author_location"]['default'] = array_keys( $this->default_options["google_author_location"]['initial_options'] );
1197
+
1198
  foreach ( $post_types as $p => $pt ) {
1199
  $field = $p . "_title_format";
1200
  $name = $post_objs[$p]->labels->singular_name;
1206
  'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_cpostactive\[\]' => $p )
1207
  );
1208
  $this->help_text[$field] = __( 'The following macros are supported:', 'all-in-one-seo-pack' )
1209
+ . '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
1210
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
1211
  __( '%post_title% - The original title of the post.', 'all-in-one-seo-pack' ) . '</li><li>';
1212
  $taxes = get_object_taxonomies( $p, 'objects' );
1213
  if ( !empty( $taxes ) )
1214
  foreach( $taxes as $n => $t )
1215
  $this->help_text[$field] .= sprintf( __( "%%tax_%s%% - This post's associated %s taxonomy title", 'all-in-one-seo-pack' ), $n, $t->label ) . '</li><li>';
1216
+ $this->help_text[$field] .=
1217
+ __( "%post_author_login% - This post's author' login", 'all-in-one-seo-pack' ) . '</li><li>' .
1218
+ __( "%post_author_nicename% - This post's author' nicename", 'all-in-one-seo-pack' ) . '</li><li>' .
1219
+ __( "%post_author_firstname% - This post's author' first name (capitalized)", 'all-in-one-seo-pack' ) . '</li><li>' .
1220
+ __( "%post_author_lastname% - This post's author' last name (capitalized)", 'all-in-one-seo-pack' ) . '</li>' .
1221
  '</ul>';
1222
  $this->help_anchors[$field] = '#custom-titles';
1223
  $this->layout['cpt']['options'][] = $field;
1225
  }
1226
  global $wp_roles;
1227
  if ( ! isset( $wp_roles ) ) {
1228
+ $wp_roles = new WP_Roles();
1229
  }
1230
  $role_names = $wp_roles->get_names();
1231
  ksort( $role_names );
1232
  $this->default_options["ga_exclude_users"]['initial_options'] = $role_names;
1233
+
1234
  unset( $tax_types['category'] );
1235
  unset( $tax_types['post_tag'] );
1236
  $this->default_options["tax_noindex"]['initial_options'] = $tax_types;
1237
  if ( empty( $tax_types ) )
1238
  unset( $this->default_options["tax_noindex"] );
1239
+
1240
+ if (AIOSEOPPRO) {
1241
+ foreach ( $tax_types as $p => $pt ) {
1242
+ $field = $p . "_tax_title_format";
1243
+ $name = $pt;
1244
+ if ( !isset( $this->default_options[$field] ) ) {
1245
+ $this->default_options[$field] = Array (
1246
+ 'name' => "$name " . __( 'Taxonomy Title Format:', 'all-in-one-seo-pack' ),
1247
+ 'type' => 'text',
1248
+ 'default' => '%taxonomy_title% | %blog_title%',
1249
+ 'condshow' => Array( 'aiosp_rewrite_titles' => 1, 'aiosp_enablecpost' => 'on', 'aiosp_cpostadvanced' => 'on', 'aiosp_cposttitles' => 'on', 'aiosp_taxactive\[\]' => $p )
1250
+ );
1251
+ $this->help_text[$field] = __( "The following macros are supported:", 'all-in-one-seo-pack' ) .
1252
+ '<ul><li>' . __( '%blog_title% - Your blog title', 'all-in-one-seo-pack' ) . '</li><li>' .
1253
+ __( '%blog_description% - Your blog description', 'all-in-one-seo-pack' ) . '</li><li>' .
1254
+ __( '%taxonomy_title% - The original title of the taxonomy', 'all-in-one-seo-pack' ) . '</li><li>' .
1255
+ __( '%taxonomy_description% - The description of the taxonomy', 'all-in-one-seo-pack' ) . '</li></ul>';
1256
+ $this->help_anchors[$field] = '#custom-titles';
1257
+ $this->layout['cpt']['options'][] = $field;
1258
+ }
1259
+ }
1260
+ }
1261
  $this->setting_options();
1262
  $this->add_help_text_links();
1263
+
1264
+ if (AIOSEOPPRO){
1265
+ global $aioseop_update_checker;
1266
+ add_action( "{$this->prefix}update_options", Array( $aioseop_update_checker, 'license_change_check' ), 10, 2 );
1267
+ add_action( "{$this->prefix}settings_update", Array( $aioseop_update_checker, 'update_check' ), 10, 2 );
1268
+ }
1269
+
1270
  add_filter( "{$this->prefix}display_options", Array( $this, 'filter_options' ), 10, 2 );
1271
  parent::add_page_hooks();
1272
  }
1273
+
1274
  function add_admin_pointers() {
1275
+ if ( AIOSEOPPRO ) {
1276
+ $this->pointers['aioseop_menu_236'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-pro-aioseop_class',
1277
  'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1278
+ . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack Pro ever! Please review your settings, as we\'re always adding new features for you!', 'all-in-one-seo-pack' ) . '</p>',
1279
  'pointer_edge' => 'top',
1280
  'pointer_align' => 'left',
1281
  'pointer_scope' => 'global'
1282
  );
1283
+ $this->pointers['aioseop_welcome_230'] = Array( 'pointer_target' => '#aioseop_top_button',
1284
  'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1285
+ . '</h3><p>' . __( 'New in 2.3: improved support for taxonomies and a Video Sitemap module; enable modules from our feature manager! And please review your settings, we have added some new ones!', 'all-in-one-seo-pack' ) . '</p>',
1286
  'pointer_edge' => 'bottom',
1287
  'pointer_align' => 'left',
1288
  'pointer_scope' => 'local'
1289
  );
1290
  $this->filter_pointers();
1291
+ }
1292
+ else {
1293
+ $this->pointers['aioseop_menu_220'] = Array( 'pointer_target' => '#toplevel_page_all-in-one-seo-pack-aioseop_class',
1294
+ 'pointer_text' => '<h3>' . sprintf( __( 'Welcome to Version %s!', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1295
+ . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! Please review your settings, as we\'re always adding new features for you!', 'all-in-one-seo-pack' ) . '</p>',
1296
+ 'pointer_edge' => 'top',
1297
+ 'pointer_align' => 'left',
1298
+ 'pointer_scope' => 'global'
1299
+ );
1300
+ $this->pointers['aioseop_welcome_220'] = Array( 'pointer_target' => '#aioseop_top_button',
1301
+ 'pointer_text' => '<h3>' . sprintf( __( 'Review Your Settings', 'all-in-one-seo-pack' ), AIOSEOP_VERSION )
1302
+ . '</h3><p>' . __( 'Thank you for running the latest and greatest All in One SEO Pack ever! New since 2.2: Control who accesses your site with the new Robots.txt Editor and File Editor modules! Enable them from the Feature Manager. Remember to review your settings, we have added some new ones!', 'all-in-one-seo-pack' ) . '</p>',
1303
+ 'pointer_edge' => 'bottom',
1304
+ 'pointer_align' => 'left',
1305
+ 'pointer_scope' => 'local'
1306
+ );
1307
+ $this->filter_pointers();
1308
+ }
1309
  }
1310
+
1311
  function settings_page_init() {
1312
  add_filter( "{$this->prefix}submit_options", Array( $this, 'filter_submit' ) );
1313
  }
1314
+
1315
  function enqueue_scripts() {
1316
  add_filter( "{$this->prefix}display_settings", Array( $this, 'filter_settings' ), 10, 3 );
1317
  add_filter( "{$this->prefix}display_options", Array( $this, 'filter_options' ), 10, 2 );
1318
  parent::enqueue_scripts();
1319
  }
1320
+
1321
  function filter_submit( $submit ) {
1322
  $submit['Submit_Default']['value'] = __( 'Reset General Settings to Defaults', 'all-in-one-seo-pack' ) . ' &raquo;';
1323
  $submit['Submit_All_Default'] = Array( 'type' => 'submit', 'class' => 'button-primary', 'value' => __( 'Reset ALL Settings to Defaults', 'all-in-one-seo-pack' ) . ' &raquo;' );
1324
  return $submit;
1325
  }
1326
+
1327
  /**
1328
+ * Handle resetting options to defaults, but preserve the license key if pro.
1329
  */
1330
  function reset_options( $location = null, $delete = false ) {
1331
+ if ( AIOSEOPPRO) {
1332
+ global $aioseop_update_checker;
1333
+ }
1334
  if ( $delete === true ) {
1335
+
1336
+ if ( AIOSEOPPRO ) {
1337
+ $license_key = '';
1338
+ if ( isset( $this->options ) && isset( $this->options['aiosp_license_key'] ) )
1339
+ $license_key = $this->options['aiosp_license_key'];
1340
+ }
1341
+
1342
  $this->delete_class_option( $delete );
1343
+
1344
+ if ( AIOSEOPPRO ) {
1345
+ $this->options = Array( 'aiosp_license_key' => $license_key );
1346
+ } else {
1347
+ $this->options = Array();
1348
+ }
1349
  }
1350
  $default_options = $this->default_options( $location );
1351
+
1352
+ if ( AIOSEOPPRO ) {
1353
  foreach ( $default_options as $k => $v )
1354
+ if ( $k != 'aiosp_license_key' )
1355
+ $this->options[$k] = $v;
1356
+ $aioseop_update_checker->license_key = $this->options['aiosp_license_key'];
1357
+ } else {
1358
+ foreach ( $default_options as $k => $v )
1359
  $this->options[$k] = $v;
1360
+ }
1361
  $this->update_class_option( $this->options );
1362
  }
1363
 
1375
  unset( $optlist["custom_link"] );
1376
  }
1377
  foreach ( $optlist as $f ) {
1378
+ $meta = '';
1379
  $field = "aiosp_$f";
1380
+
1381
+ if ( AIOSEOPPRO ) {
1382
+ if ( ( isset( $_GET['taxonomy'] ) && isset( $_GET['tag_ID'] ) ) || is_category() || is_tag() || is_tax() ) {
1383
+ if ( is_admin() && isset( $_GET['tag_ID'] ) ) {
1384
+ $meta = get_term_meta( $_GET['tag_ID'], '_aioseop_' . $f, true );
1385
+ } else {
1386
+ $queried_object = get_queried_object();
1387
+ if ( !empty( $queried_object ) && !empty( $queried_object->term_id ) ) {
1388
+ $meta = get_term_meta( $queried_object->term_id, '_aioseop_' . $f, true );
1389
+ }
1390
+ }
1391
+ } else
1392
+ $meta = get_post_meta( $post_id, '_aioseop_' . $f, true );
1393
+ if ( 'title' === $f || 'description' === $f ) {
1394
+ $get_opts[$field] = htmlspecialchars( ( $meta ) );
1395
+ } else {
1396
+ $get_opts[$field] = htmlspecialchars( stripslashes( $meta ) );
1397
+ }
1398
+ } else {
1399
+ $field = "aiosp_$f";
1400
+ $meta = get_post_meta( $post_id, '_aioseop_' . $f, true );
1401
+ if ( 'title' === $f || 'description' === $f ) {
1402
+ $get_opts[$field] = htmlspecialchars( ( $meta ) );
1403
+ } else {
1404
+ $get_opts[$field] = htmlspecialchars( stripslashes( $meta ) );
1405
+ }
1406
+ }
1407
+
1408
  }
1409
  $opts = wp_parse_args( $opts, $get_opts );
1410
  return $opts;
1413
  return $options;
1414
  }
1415
  }
1416
+
1417
  function filter_settings( $settings, $location, $current ) {
1418
  if ( $location == null ) {
1419
  $prefix = $this->prefix;
1420
+
1421
  foreach ( Array( 'seopostcol', 'seocustptcol', 'debug_info', 'max_words_excerpt' ) as $opt )
1422
  unset( $settings["{$prefix}$opt"] );
1423
+
1424
  if ( !class_exists( 'DOMDocument' ) ) {
1425
  unset( $settings["{prefix}google_connect"] );
1426
  }
1427
+ if ( AIOSEOPPRO ) {
1428
+ if ( !empty( $this->options['aiosp_license_key'] ) ) {
1429
+ $settings['aiosp_license_key']['type'] = 'password';
1430
+ $settings['aiosp_license_key']['size'] = 38;
1431
+ }
1432
+ }
1433
  } elseif ( $location == 'aiosp' ) {
1434
  global $post, $aioseop_sitemap;
1435
  $prefix = $this->get_prefix( $location ) . $location . '_';
1458
  $settings["{$prefix}description"]['placeholder'] = $description;
1459
  $settings["{$prefix}keywords"]['placeholder'] = $keywords;
1460
  }
1461
+
1462
+ if ( !AIOSEOPPRO ){
1463
+ if ( !current_user_can( 'update_plugins' ) )
1464
+ unset( $settings["{$prefix}upgrade"] );
1465
+ }
1466
+
1467
  if ( !is_object( $aioseop_sitemap ) )
1468
  unset( $settings['aiosp_sitemap_exclude'] );
1469
  if ( is_object( $post ) ) {
1478
  } elseif ( !empty( $current["{$prefix}togglekeywords"] ) ) {
1479
  unset( $settings["{$prefix}keywords"] );
1480
  }
1481
+ if ( empty( $this->options['aiosp_can'] ) || ( empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
1482
  unset( $settings["{$prefix}custom_link"] );
1483
  }
1484
  }
1485
  return $settings;
1486
  }
1487
+
1488
  function filter_options( $options, $location ) {
1489
  if ( $location == 'aiosp' ) {
1490
  global $post;
1509
  }
1510
  return $options;
1511
  }
1512
+
1513
  function display_extra_metaboxes( $add, $meta ) {
1514
  echo "<div class='aioseop_metabox_wrapper' >";
1515
  switch ( $meta['id'] ) {
1528
  $url = '?' . build_query( $qa );
1529
  echo '<p><a href="' . $url . '">' . __( "Reset Dismissed Notices", 'all-in-one-seo-pack' ) . '</a></p>';
1530
  }
1531
+ if ( !AIOSEOPPRO ) {
1532
  ?>
1533
  <p>
1534
  <strong><a target="_blank" title="<?php _e('Pro Version', 'all-in-one-seo-pack' ); ?>"
1535
  href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=side">
1536
  <?php _e('UPGRADE TO PRO VERSION', 'all-in-one-seo-pack' ); ?></a></strong></p>
1537
+ <?php } ?>
1538
  </div>
1539
  <?php
1540
  case "aioseop-donate":
1541
  ?>
1542
  <div>
1543
+
1544
+ <?php if ( !AIOSEOPPRO ) { ?>
1545
+ <div class="aioseop_metabox_text">
1546
+ <p>If you like this plugin and find it useful, help keep this plugin free and actively developed by clicking the <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8"
1547
+ target="_blank"><strong>donate</strong></a> button or send me a gift from my <a
1548
+ href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank">
1549
+ <strong>Amazon wishlist</strong></a>. Also, don't forget to follow me on <a
1550
+ href="http://twitter.com/michaeltorbert/" target="_blank"><strong>Twitter</strong></a>.
1551
+ </p>
1552
+ </div>
1553
+ <?php } ?>
1554
+
1555
+ <div class="aioseop_metabox_feature">
1556
+
1557
+ <?php if ( !AIOSEOPPRO ) { ?>
1558
  <a target="_blank" title="<?php _e( 'Donate', 'all-in-one-seo-pack' ); ?>"
1559
  href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8">
1560
  <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/donate.jpg" alt="<?php _e('Donate with Paypal', 'all-in-one-seo-pack' ); ?>" /> </a>
1561
  <a target="_blank" title="Amazon Wish List" href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web">
1562
  <img src="<?php echo AIOSEOP_PLUGIN_URL; ?>images/amazon.jpg" alt="<?php _e('My Amazon Wish List', 'all-in-one-seo-pack' ); ?>" /> </a>
1563
+ <?php } ?>
1564
+
1565
  <a target="_blank" title="<?php _e( 'Follow us on Facebook', 'all-in-one-seo-pack' ); ?>" href="http://www.facebook.com/pages/Semper-Fi-Web-Design/121878784498475"><span class="aioseop_follow_button aioseop_facebook_follow"></span></a>
1566
  <a target="_blank" title="<?php _e( 'Follow us on Twitter', 'all-in-one-seo-pack' ); ?>" href="http://twitter.com/semperfidev/"><span class="aioseop_follow_button aioseop_twitter_follow"></span></a>
1567
+ </div><?php if(get_locale() != 'en_US'){ ?>
1568
+ <div><strong>
1569
+ <a target="_blank" title="translate" href="https://translate.wordpress.org/projects/wp-plugins/all-in-one-seo-pack">
1570
+ <?php _e( 'We need your help translating All in One SEO Pack into your language! Click Here to help make the translation complete and fix any errors.' , 'all-in-one-seo-pack' ); ?>
1571
+ </a></strong>
1572
  </div>
1573
+ <?php } ?>
1574
  </div>
1575
  <?php
1576
  break;
1577
  case "aioseop-list":
1578
  ?>
1579
  <div class="aioseop_metabox_text">
1580
+ <form action="http://semperfiwebdesign.us1.list-manage.com/subscribe/post?u=794674d3d54fdd912f961ef14&amp;id=af0a96d3d9"
1581
  method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank">
1582
  <h2><?php _e( 'Join our mailing list for tips, tricks, and WordPress secrets.', 'all-in-one-seo-pack' ); ?></h2>
1583
  <p><i><?php _e( 'Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress ($39 value).', 'all-in-one-seo-pack' ); ?></i></p>
1593
  <p><div class="aioseop_icon aioseop_support_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Support Forum', 'all-in-one-seo-pack' ); ?>"
1594
  href="http://semperplugins.com/support/"><?php _e( 'Access our Premium Support Forums', 'all-in-one-seo-pack' ); ?></a></p>
1595
  <p><div class="aioseop_icon aioseop_cog_icon"></div><a target="_blank" title="<?php _e( 'All in One SEO Pro Plugin Changelog', 'all-in-one-seo-pack' ); ?>"
1596
+ href="<?php if ( AIOSEOPPRO ) { echo 'http://semperplugins.com/documentation/all-in-one-seo-pack-pro-changelog/'; } else { echo 'http://semperfiwebdesign.com/blog/all-in-one-seo-pack/all-in-one-seo-pack-release-history/'; } ?>"><?php _e( 'View the Changelog', 'all-in-one-seo-pack' ); ?></a></p>
1597
  <p><div class="aioseop_icon aioseop_youtube_icon"></div><a target="_blank" href="http://semperplugins.com/doc-type/video/"><?php _e( 'Watch video tutorials', 'all-in-one-seo-pack' ); ?></a></p>
1598
  <p><div class="aioseop_icon aioseop_book_icon"></div><a target="_blank" href="http://semperplugins.com/documentation/quick-start-guide/"><?php _e( 'Getting started? Read the Beginners Guide', 'all-in-one-seo-pack' ); ?></a></p>
1599
  </div>
1602
  }
1603
  echo "</div>";
1604
  }
1605
+
1606
  function get_queried_object() {
1607
  static $p = null;
1608
  global $wp_query, $post;
1611
  $p = $post;
1612
  else {
1613
  if ( !$wp_query ) return null;
1614
+ $p = $wp_query->get_queried_object();
1615
  }
1616
  return $p;
1617
  }
1618
+
1619
  function is_page_included() {
1620
  global $aioseop_options;
1621
  if ( is_feed() ) return false;
1630
  } else {
1631
  $wp_post_types = $aioseop_options['aiosp_cpostactive'];
1632
  if ( empty( $wp_post_types ) ) $wp_post_types = Array();
1633
+ if ( AIOSEOPPRO ) {
1634
+ if ( is_tax() ) {
1635
+ if ( empty( $aioseop_options['aiosp_taxactive'] ) || !is_tax( $aioseop_options['aiosp_taxactive'] ) ) return false;
1636
+ } elseif ( is_category() ) {
1637
+ if ( empty( $aioseop_options['aiosp_taxactive'] ) || !in_array( 'category', $aioseop_options['aiosp_taxactive'] ) ) return false;
1638
+ } elseif ( is_tag() ) {
1639
+ if ( empty( $aioseop_options['aiosp_taxactive'] ) || !in_array( 'post_tag', $aioseop_options['aiosp_taxactive'] ) ) return false;
1640
+ } else if ( !in_array( $post_type, $wp_post_types ) && !is_front_page() && !is_post_type_archive( $wp_post_types ) && !is_404() ) return false;
1641
+ } else {
1642
+ if ( is_singular() && !in_array( $post_type, $wp_post_types ) && !is_front_page() ) return false;
1643
+ if ( is_post_type_archive() && !is_post_type_archive( $wp_post_types ) ) return false;
1644
+ }
1645
  }
1646
+
1647
  $this->meta_opts = $this->get_current_options( Array(), 'aiosp' );
1648
+
1649
  $aiosp_disable = $aiosp_disable_analytics = false;
1650
+
1651
  if ( !empty( $this->meta_opts ) ) {
1652
  if ( isset( $this->meta_opts['aiosp_disable'] ) ) $aiosp_disable = $this->meta_opts['aiosp_disable'];
1653
  if ( isset( $this->meta_opts['aiosp_disable_analytics'] ) ) $aiosp_disable_analytics = $this->meta_opts['aiosp_disable_analytics'];
1654
  }
1655
+
1656
  if ( $aiosp_disable ) {
1657
  if ( !$aiosp_disable_analytics ) {
1658
  if ( aioseop_option_isset( 'aiosp_google_analytics_id' ) ) {
1662
  }
1663
  return false;
1664
  }
1665
+
1666
  if ( !empty( $this->meta_opts ) && $this->meta_opts['aiosp_disable'] == true ) return false;
1667
+
1668
  return true;
1669
  }
1670
+
1671
  function template_redirect() {
1672
  global $aioseop_options;
1673
 
1674
  $post = $this->get_queried_object();
1675
+
1676
  if ( !$this->is_page_included() ) return;
1677
+
1678
  if ( !empty( $aioseop_options['aiosp_rewrite_titles'] ) ) {
1679
  $force_rewrites = 1;
1680
  if ( isset( $aioseop_options['aiosp_force_rewrites'] ) )
1685
  add_filter( 'wp_title', array( $this, 'wp_title' ), 20 );
1686
  }
1687
  }
1688
+
1689
  function output_callback_for_title( $content ) {
1690
  return $this->rewrite_title( $content );
1691
  }
1692
 
 
 
 
 
 
 
 
 
1693
  function add_hooks() {
1694
+ global $aioseop_options, $aioseop_update_checker;
1695
  aioseop_update_settings_check();
1696
  add_filter( 'user_contactmethods', 'aioseop_add_contactmethods' );
1697
+ if ( is_user_logged_in() && function_exists( 'is_admin_bar_showing' ) && is_admin_bar_showing() && current_user_can( 'aiosp_manage_seo' ) )
1698
  add_action( 'admin_bar_menu', array( $this, 'admin_bar_menu' ), 1000 );
1699
 
1700
  if ( is_admin() ) {
1702
  add_action( 'admin_head', array( $this, 'add_page_icon' ) );
1703
  add_action( 'admin_init', 'aioseop_addmycolumns', 1 );
1704
  add_action( 'admin_init', 'aioseop_handle_ignore_notice' );
1705
+ if ( AIOSEOPPRO ){
1706
+ if ( current_user_can( 'update_plugins' ) )
1707
+ add_action( 'admin_notices', Array( $aioseop_update_checker, 'key_warning' ) );
1708
+ add_action( 'after_plugin_row_' . AIOSEOP_PLUGIN_BASENAME, Array( $aioseop_update_checker, 'add_plugin_row' ) );
1709
+ }
1710
  } else {
1711
  if ( $aioseop_options['aiosp_can'] == '1' || $aioseop_options['aiosp_can'] == 'on' )
1712
  remove_action( 'wp_head', 'rel_canonical' );
1717
  add_action( 'wp_head', array( $this, 'wp_head'), apply_filters( 'aioseop_wp_head_priority', 1 ) );
1718
  add_action( 'template_redirect', array( $this, 'template_redirect' ), 0 );
1719
  add_filter( 'wp_list_pages_excludes', 'aioseop_get_pages_start' );
1720
+ add_filter( 'get_pages', 'aioseop_get_pages' );
1721
  }
1722
  }
1723
 
1727
  $this->is_front_page = ( get_option( 'show_on_front' ) == 'page' && is_page() && !empty( $post ) && $post->ID == get_option( 'page_on_front' ) );
1728
  return $this->is_front_page;
1729
  }
1730
+
1731
  function is_static_posts_page() {
1732
  static $is_posts_page = null;
1733
  if ( $is_posts_page !== null ) return $is_posts_page;
1735
  $is_posts_page = ( get_option( 'show_on_front' ) == 'page' && is_home() && !empty( $post ) && $post->ID == get_option( 'page_for_posts' ) );
1736
  return $is_posts_page;
1737
  }
1738
+
1739
  function check_rewrite_handler() {
1740
  global $aioseop_options;
1741
 
1771
  }
1772
  }
1773
  }
1774
+
1775
  // handle prev / next links
1776
  function get_prev_next_links( $post = null ) {
1777
  $prev = $next = '';
1829
  }
1830
  return Array( 'prev' => $prev, 'next' => $next );
1831
  }
1832
+
1833
  function get_google_authorship( $post ) {
1834
  global $aioseop_options;
1835
  $page = $this->get_page_number();
1852
  } elseif ( !empty( $aioseop_options["aiosp_google_specify_publisher"] ) ) {
1853
  $publisher = $aioseop_options["aiosp_google_specify_publisher"];
1854
  }
1855
+ }
1856
  }
1857
  if ( is_singular() && ( !empty( $googleplus ) ) )
1858
  $author = $googleplus;
1859
  else if ( !empty( $aioseop_options['aiosp_google_publisher'] ) )
1860
  $author = $aioseop_options['aiosp_google_publisher'];
1861
+
1862
  if ( !empty( $aioseop_options['aiosp_google_author_advanced'] ) && isset( $aioseop_options['aiosp_google_author_location'] ) ) {
1863
  if ( empty( $aioseop_options['aiosp_google_author_location'] ) )
1864
  $aioseop_options['aiosp_google_author_location'] = Array();
1874
  }
1875
  }
1876
  }
1877
+
1878
  return Array( 'publisher' => $publisher, 'author' => $author );
1879
  }
1880
+
1881
  function visibility_warning() {
1882
+
1883
+ $aioseop_visibility_notice_dismissed = get_user_meta( get_current_user_id(), 'aioseop_visibility_notice_dismissed', true );
1884
+
1885
  if ( '0' == get_option('blog_public') && empty( $aioseop_visibility_notice_dismissed ) ) {
1886
+
1887
  printf( '
1888
  <div id="message" class="error notice is-dismissible aioseop-notice">
1889
  <p>
1890
  <strong>%1$s</strong>
1891
  %2$s
1892
+
1893
  </p>
1894
  </div>',
1895
  __( 'Warning: You\'re blocking access to search engines.', 'all-in-one-seo-pack' ),
1896
  sprintf( __( 'You can %s click here%s to go to your reading settings and toggle your blog visibility.', 'all-in-one-seo-pack' ), sprintf( '<a href="%s">', esc_url( admin_url( 'options-reading.php' ) ) ), '</a>' ));
1897
+
1898
  }elseif( '1' == get_option('blog_public') && !empty( $aioseop_visibility_notice_dismissed ) ){
1899
  delete_user_meta( get_current_user_id(), 'aioseop_visibility_notice_dismissed' );
1900
  }
1901
  }
 
1902
 
1903
  function get_robots_meta() {
1904
  global $aioseop_options;
1906
  $page = $this->get_page_number();
1907
  $robots_meta = $tax_noindex = '';
1908
  if ( isset( $aioseop_options['aiosp_tax_noindex'] ) ) $tax_noindex = $aioseop_options['aiosp_tax_noindex'];
1909
+
1910
  if ( empty( $tax_noindex ) || !is_array( $tax_noindex) ) $tax_noindex = Array();
1911
+
1912
  $aiosp_noindex = $aiosp_nofollow = $aiosp_noodp = $aiosp_noydir = '';
1913
  $noindex = "index";
1914
  $nofollow = "follow";
1915
  if ( ( is_category() && !empty( $aioseop_options['aiosp_category_noindex'] ) ) || ( !is_category() && is_archive() && !is_tag() && !is_tax()
1916
+ && ( ( is_date() && !empty( $aioseop_options['aiosp_archive_date_noindex'] ) ) || ( is_author() && !empty( $aioseop_options['aiosp_archive_author_noindex'] ) ) ) )
1917
+ || ( is_tag() && !empty( $aioseop_options['aiosp_tags_noindex'] ) )
1918
  || ( is_search() && !empty( $aioseop_options['aiosp_search_noindex'] ) )
1919
  || ( is_404() && !empty( $aioseop_options['aiosp_404_noindex'] ) )
1920
  || ( is_tax() && in_array( get_query_var( 'taxonomy' ), $tax_noindex ) ) ) {
1921
  $noindex = 'noindex';
1922
+ } elseif ( ( is_single() || is_page() || $this->is_static_posts_page() || is_attachment() || is_category() || is_tag() || is_tax() || ( $page > 1 ) ) ) {
1923
  $post_type = get_post_type();
1924
  if ( !empty( $opts ) ) {
1925
  $aiosp_noindex = htmlspecialchars( stripslashes( $opts['aiosp_noindex'] ) );
1926
  $aiosp_nofollow = htmlspecialchars( stripslashes( $opts['aiosp_nofollow'] ) );
1927
  $aiosp_noodp = htmlspecialchars( stripslashes( $opts['aiosp_noodp'] ) );
1928
+ $aiosp_noydir = htmlspecialchars( stripslashes( $opts['aiosp_noydir'] ) );
1929
  }
1930
+ if ( $aiosp_noindex || $aiosp_nofollow || $aiosp_noodp || $aiosp_noydir || !empty( $aioseop_options['aiosp_cpostnoindex'] )
1931
  || !empty( $aioseop_options['aiosp_cpostnofollow'] ) || !empty( $aioseop_options['aiosp_cpostnoodp'] ) || !empty( $aioseop_options['aiosp_cpostnoydir'] )
1932
  || !empty( $aioseop_options['aiosp_paginated_noindex'] ) || !empty( $aioseop_options['aiosp_paginated_nofollow'] ) ) {
1933
  if ( ( $aiosp_noindex == 'on' ) || ( ( !empty( $aioseop_options['aiosp_paginated_noindex'] ) ) && ( ( $page > 1 ) ) ) ||
1934
  ( ( $aiosp_noindex == '' ) && ( !empty( $aioseop_options['aiosp_cpostnoindex'] ) ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnoindex'] ) ) ) )
1935
+ $noindex = "noindex";
1936
  if ( ( $aiosp_nofollow == 'on' ) || ( ( !empty( $aioseop_options['aiosp_paginated_nofollow'] ) ) && ( ( $page > 1 ) ) ) ||
1937
  ( ( $aiosp_nofollow == '' ) && ( !empty( $aioseop_options['aiosp_cpostnofollow'] ) ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnofollow'] ) ) ) )
1938
+ $nofollow = "nofollow";
1939
+ if ( ( $aiosp_noodp == 'on' ) || ( empty( $aiosp_noodp ) && ( !empty( $aioseop_options['aiosp_cpostnoodp'] ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnoodp'] ) ) ) ) )
1940
  $aiosp_noodp = true;
1941
+ else
1942
+ $aiosp_noodp = false;
1943
+ if ( ( $aiosp_noydir == 'on' ) || ( empty( $aiosp_noydir ) && ( !empty( $aioseop_options['aiosp_cpostnoydir'] ) && ( in_array( $post_type, $aioseop_options['aiosp_cpostnoydir'] ) ) ) ) )
1944
  $aiosp_noydir = true;
1945
+ else
1946
+ $aiosp_noydir = false;
1947
  }
1948
  }
1949
  if ( !empty( $aioseop_options['aiosp_noodp'] ) && $aioseop_options['aiosp_noodp'] ) $aiosp_noodp = true;
1954
  if ( $robots_meta == 'index,follow' ) $robots_meta = '';
1955
  return $robots_meta;
1956
  }
1957
+
 
 
 
 
1958
  function get_main_description( $post = null ) {
1959
  global $aioseop_options;
1960
  $opts = $this->meta_opts;
1962
  if ( is_author() && $this->show_page_description() ) {
1963
  $description = $this->internationalize( get_the_author_meta( 'description' ) );
1964
  } else if ( function_exists( 'woocommerce_get_page_id' ) && is_post_type_archive( 'product' ) && ( $post_id = woocommerce_get_page_id( 'shop' ) ) && ( $post = get_post( $post_id ) ) ) {
 
 
1965
  //$description = $this->get_post_description( $post );
1966
  //$description = $this->apply_cf_fields( $description );
1967
  if ( !(woocommerce_get_page_id( 'shop' ) == get_option( 'page_on_front' ) ) ){
1968
+ $description = trim( ( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
1969
+ }
1970
  else if ( woocommerce_get_page_id( 'shop' ) == get_option( 'page_on_front' ) && !empty( $aioseop_options['aiosp_use_static_home_info'] ) ){
 
1971
  //$description = $this->get_aioseop_description( $post );
1972
+ $description = trim( ( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
1973
  }else if ( woocommerce_get_page_id( 'shop' ) == get_option( 'page_on_front' ) && empty( $aioseop_options['aiosp_use_static_home_info'] ) ){
1974
  $description = $this->get_aioseop_description( $post );
1975
  }
 
 
1976
  } else if ( is_front_page() ) {
1977
  $description = $this->get_aioseop_description( $post );
1978
  } else if ( is_single() || is_page() || is_attachment() || is_home() || $this->is_static_posts_page() ) {
1979
  $description = $this->get_aioseop_description( $post );
1980
  } else if ( ( is_category() || is_tag() || is_tax() ) && $this->show_page_description() ) {
1981
+ if ( !empty( $opts ) && AIOSEOPPRO ) $description = $opts['aiosp_description'];
1982
  if ( empty( $description ) ) $description = term_description();
1983
  $description = $this->internationalize( $description );
1984
  }
1985
  if ( empty( $aioseop_options['aiosp_dont_truncate_descriptions'] ) ) {
1986
+ $description = $this->trim_excerpt_without_filters( $description );
1987
  }
1988
  return $description;
1989
  }
1990
+
1991
  function trim_description( $description ) {
1992
  $description = trim( wp_strip_all_tags( $description ) );
1993
  $description = str_replace( '"', '&quot;', $description );
1995
  $description = str_replace( "\n", ' ', $description );
1996
  return $description;
1997
  }
1998
+
1999
  function apply_description_format( $description, $post = null ) {
2000
+ global $aioseop_options;
2001
  $description_format = $aioseop_options['aiosp_description_format'];
2002
  if ( !isset( $description_format ) || empty( $description_format ) ) {
2003
  $description_format = "%description%";
2006
  if ( strpos( $description, '%blog_title%' ) !== false ) $description = str_replace( '%blog_title%', get_bloginfo( 'name' ), $description );
2007
  if ( strpos( $description, '%blog_description%' ) !== false ) $description = str_replace( '%blog_description%', get_bloginfo( 'description' ), $description );
2008
  if ( strpos( $description, '%wp_title%' ) !== false ) $description = str_replace( '%wp_title%', $this->get_original_title(), $description );
2009
+ if ( strpos( $description, '%post_title%' ) !== false ) $description = str_replace( '%post_title%', $this->get_aioseop_title( $post ), $description );
2010
+
2011
+
2012
+ /*this was intended to make attachment descriptions unique if pulling from the parent... let's remove it and see if there are any problems
2013
+ *on the roadmap is to have a better hierarchy for attachment description pulling
2014
+ * if ($aioseop_options['aiosp_can']) $description = $this->make_unique_att_desc($description);
2015
+ */
2016
+
2017
+ return $description;
2018
+ }
2019
+
2020
+ function make_unique_att_desc($description){
2021
+ global $wp_query;
2022
+ if( is_attachment() ) {
2023
+
2024
  $url = $this->aiosp_mrt_get_url( $wp_query );
2025
  if ( $url ) {
2026
  $matches = Array();
2030
  }
2031
  }
2032
  $description .= ' ' . $uniqueDesc;
2033
+ return $description;
2034
  }
 
2035
  }
2036
+
2037
  function get_main_keywords() {
2038
  global $aioseop_options;
2039
  global $aioseop_keywords;
2043
  if ( !empty( $aioseop_options['aiosp_use_static_home_info'] ) ) {
2044
  $keywords = $this->get_all_keywords();
2045
  } else {
2046
+ $keywords = trim( $this->internationalize( $aioseop_options['aiosp_home_keywords'] ) );
2047
  }
2048
  } elseif ( empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) && $this->is_static_posts_page() ) {
2049
  $keywords = stripslashes( $this->internationalize( $opts["aiosp_keywords"] ) ); // and if option = use page set keywords instead of keywords from recent posts
2060
  function wp_head() {
2061
  if ( !$this->is_page_included() ) return;
2062
  $opts = $this->meta_opts;
2063
+ global $aioseop_update_checker, $wp_query, $aioseop_options, $posts;
2064
  static $aioseop_dup_counter = 0;
2065
  $aioseop_dup_counter++;
2066
  if ( $aioseop_dup_counter > 1 ) {
2076
  $description = '';
2077
  // logging - rewrite handler check for output buffering
2078
  $this->check_rewrite_handler();
2079
+ if ( AIOSEOPPRO ) {
2080
+ echo "\n<!-- All in One SEO Pack Pro $this->version by Michael Torbert of Semper Fi Web Design";
2081
+ } else {
2082
+ echo "\n<!-- All in One SEO Pack $this->version by Michael Torbert of Semper Fi Web Design";
2083
+ }
2084
  if ( $this->ob_start_detected )
2085
  echo "ob_start_detected ";
2086
  echo "[$this->title_start,$this->title_end] ";
2087
  echo "-->\n";
2088
+ if ( AIOSEOPPRO ) echo "<!-- " . __( "Debug String", 'all-in-one-seo-pack' ) . ": " . $aioseop_update_checker->get_verification_code() . " -->\n";
2089
  $blog_page = $this->get_blog_page( $post );
2090
  $save_posts = $posts;
2091
  if ( function_exists( 'woocommerce_get_page_id' ) && is_post_type_archive( 'product' ) && ( $post_id = woocommerce_get_page_id( 'shop' ) ) && ( $post = get_post( $post_id ) ) ) {
2116
  $keywords = $this->get_main_keywords();
2117
  $keywords = $this->apply_cf_fields( $keywords );
2118
  $keywords = apply_filters( 'aioseop_keywords', $keywords );
2119
+
2120
  if ( isset( $keywords ) && !empty( $keywords ) ) {
2121
  if ( isset( $meta_string ) ) $meta_string .= "\n";
2122
  $keywords = wp_filter_nohtml_kses( str_replace( '"', '', $keywords ) );
2136
  foreach( Array( 'google' => 'google-site-verification', 'bing' => 'msvalidate.01', 'pinterest' => 'p:domain_verify' ) as $k => $v )
2137
  if ( !empty( $aioseop_options["aiosp_{$k}_verify"] ) )
2138
  $meta_string .= '<meta name="' . $v . '" content="' . trim( strip_tags( $aioseop_options["aiosp_{$k}_verify"] ) ) . '" />' . "\n";
2139
+
2140
  // sitelinks search
2141
  if ( !empty( $aioseop_options["aiosp_google_sitelinks_search"] ) || !empty( $aioseop_options["aiosp_google_set_site_name"] ) )
2142
  $meta_string .= $this->sitelinks_search_box() . "\n";
2157
  $meta_string .= $post_meta;
2158
  }
2159
  // handle authorship
2160
+ $authorship = $this->get_google_authorship( $post );
2161
  $publisher = apply_filters( 'aioseop_google_publisher', $authorship["publisher"] );
2162
  if ( !empty( $publisher ) )
2163
  $meta_string = '<link rel="publisher" href="' . esc_url( $publisher ) . '" />' . "\n" . $meta_string;
2183
  // handle canonical links
2184
  $show_page = true;
2185
  if ( !empty( $aioseop_options["aiosp_no_paged_canonical_links"] ) ) $show_page = false;
2186
+
2187
  if ( $aioseop_options['aiosp_can'] ) {
2188
  $url = '';
2189
  if ( !empty( $aioseop_options['aiosp_customize_canonical_links'] ) && !empty( $opts['aiosp_custom_link'] ) ) $url = $opts['aiosp_custom_link'];
2194
  echo '<link rel="canonical" href="'. esc_url( $url ) . '" />'."\n";
2195
  }
2196
  do_action( 'aioseop_modules_wp_head' );
2197
+ if ( AIOSEOPPRO ) {
2198
+ echo "<!-- /all in one seo pack pro -->\n";
2199
+ } else{
2200
+ echo "<!-- /all in one seo pack -->\n";
2201
+ }
2202
  }
2203
+
2204
  function override_options( $options, $location, $settings ) {
2205
  if ( class_exists( 'DOMDocument' ) ) {
2206
+ $options['aiosp_google_connect'] = $settings['aiosp_google_connect']['default'];
2207
  }
2208
  return $options;
2209
  }
2210
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2211
  function get_analytics_domain() {
2212
  global $aioseop_options;
2213
  if ( !empty( $aioseop_options['aiosp_ga_domain'] ) )
2262
  if ( !empty( $extra_options ) ) $extra_options .= "\n\t\t\t";
2263
  $extra_options .= "ga('require', 'linkid', 'linkid.js');";
2264
  }
2265
+
2266
  if ( !empty( $aioseop_options['aiosp_ga_advanced_options'] ) && !empty( $aioseop_options['aiosp_ga_anonymize_ip'] ) ) {
2267
  if ( !empty( $extra_options ) ) $extra_options .= "\n\t\t\t";
2268
  $extra_options .= "ga('set', 'anonymizeIp', true);";
2274
  if ( !empty( $js_options ) ) {
2275
  $js_options = join( ',', $js_options );
2276
  $js_options = ', { ' . $js_options . ' } ';
2277
+ } else $js_options = '';
2278
  $analytics_id = esc_js( $aioseop_options["aiosp_google_analytics_id"] );
2279
  $analytics =<<<EOF
2280
  <script>
2302
  if ( empty( $current_user ) ) get_currentuserinfo();
2303
  if ( !empty( $current_user ) ) {
2304
  $intersect = array_intersect( $aioseop_options['aiosp_ga_exclude_users'], $current_user->roles );
2305
+ if ( !empty( $intersect ) ) return;
2306
  }
2307
  }
2308
  }
2313
  if ( empty( $analytics ) ) {
2314
  ?> <script type="text/javascript">
2315
  var _gaq = _gaq || [];
2316
+ <?php if ( !empty( $aioseop_options['aiosp_ga_advanced_options'] ) && !empty( $aioseop_options['aiosp_ga_link_attribution'] ) ) {
2317
  ?> var pluginUrl =
2318
  '//www.google-analytics.com/plugins/ga/inpage_linkid.js';
2319
  _gaq.push(['_require', 'inpage_linkid', pluginUrl]);
2377
  }
2378
  return result;
2379
  }
2380
+
2381
  function aiosp_addLoadEvent(func) {
2382
  var oldonload = window.onload;
2383
  if (typeof window.onload != 'function') {
2391
  }
2392
  }
2393
  }
2394
+
2395
  function aiosp_addEvent(element, evnt, funct){
2396
  if (element.attachEvent)
2397
  return element.attachEvent('on'+evnt, funct);
2461
  EOF;
2462
  return apply_filters( 'aiosp_sitelinks_search_box', $search_box );
2463
  }
 
 
2464
 
2465
  function aiosp_mrt_get_url( $query, $show_page = true ) {
2466
  if ( $query->is_404 || $query->is_search )
2467
  return false;
 
2468
  $link = '';
2469
  $haspost = count( $query->posts ) > 0;
 
2470
  if ( get_query_var( 'm' ) ) {
2471
  $m = preg_replace( '/[^0-9]/', '', get_query_var( 'm' ) );
2472
  switch ( $this->strlen( $m ) ) {
2514
  } elseif ( $query->is_archive && function_exists( 'get_post_type_archive_link' ) && ( $post_type = get_query_var( 'post_type' ) ) ) {
2515
  if ( is_array( $post_type ) )
2516
  $post_type = reset( $post_type );
2517
+ $link = get_post_type_archive_link( $post_type );
2518
  } else {
2519
  return false;
2520
  }
2533
  }
2534
  return $link;
2535
  }
2536
+
2537
  function get_page_number() {
2538
  $page = get_query_var( 'page' );
2539
  if ( empty( $page ) )
2555
  }
2556
  return $link;
2557
  }
2558
+
2559
  function is_singular( $post_types = Array(), $post = null ) {
2560
  if ( !empty( $post_types ) && is_object( $post ) )
2561
  return in_array( $post->post_type, (array)$post_types );
2562
  else
2563
  return is_singular( $post_types );
2564
  }
2565
+
2566
  function show_page_description() {
2567
  global $aioseop_options;
2568
  if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
2569
  $page = $this->get_page_number();
2570
  if ( !empty( $page ) && ( $page > 1 ) )
2571
+ return false;
2572
  }
2573
  return true;
2574
  }
2577
  global $aioseop_options;
2578
  $description = '';
2579
  if ( !$this->show_page_description() ) {
2580
+ return '';
2581
  }
2582
+ $description = trim( ( $this->internationalize( get_post_meta( $post->ID, "_aioseop_description", true ) ) ) );
2583
  if ( !empty( $post ) && post_password_required( $post ) ) {
2584
  return $description;
2585
  }
2593
  $description = $this->trim_excerpt_without_filters( $this->internationalize( $content ) );
2594
  }
2595
  }
2596
+
2597
  // "internal whitespace trim"
2598
  $description = preg_replace( "/\s\s+/u", " ", $description );
2599
  return $description;
2600
  }
2601
+
2602
  function get_blog_page( $p = null ) {
2603
  static $blog_page = '';
2604
  static $page_for_posts = '';
2610
  if ( $blog_page === '' ) {
2611
  if ( $page_for_posts === '' ) $page_for_posts = get_option( 'page_for_posts' );
2612
  if ( $page_for_posts && is_home() && ( !is_object( $post ) || ( $page_for_posts != $post->ID ) ) )
2613
+ $blog_page = get_post( $page_for_posts );
2614
  }
2615
  return $blog_page;
2616
  }
2622
  $blog_page = $this->get_blog_page();
2623
  $description = '';
2624
  if ( is_front_page() && empty( $aioseop_options['aiosp_use_static_home_info'] ) )
2625
+ $description = trim( ( $this->internationalize( $aioseop_options['aiosp_home_description'] ) ) );
2626
  elseif ( !empty( $blog_page ) )
2627
  $description = $this->get_post_description( $blog_page );
2628
  if ( empty( $description ) && is_object( $post ) && !is_archive() && empty( $blog_page ) )
2629
  $description = $this->get_post_description( $post );
2630
+ $description = $this->apply_cf_fields( $description );
2631
  return $description;
2632
  }
2633
+
2634
  function replace_title( $content, $title ) {
2635
+ //We can probably improve this... I'm not sure half of this is even being used.
2636
  $title = trim( strip_tags( $title ) );
2637
  $title_tag_start = "<title";
2638
  $title_tag_end = "</title";
 
2639
  $start = $this->strpos( $content, $title_tag_start );
2640
  $end = $this->strpos( $content, $title_tag_end );
 
2641
  $this->title_start = $start;
2642
  $this->title_end = $end;
2643
  $this->orig_title = $title;
2644
+
2645
  return preg_replace( '/<title([^>]*?)\s*>([^<]*?)<\/title\s*>/is', '<title\\1>' . preg_replace('/(\$|\\\\)(?=\d)/', '\\\\\1', strip_tags( $title ) ) . '</title>', $content, 1 );
2646
  }
2647
+
2648
  function internationalize( $in ) {
2649
  if ( function_exists( 'langswitch_filter_langs_with_message' ) )
2650
  $in = langswitch_filter_langs_with_message( $in );
2655
  if ( function_exists( 'qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
2656
  $in = qtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
2657
  } elseif ( function_exists( 'ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
2658
+ $in = ppqtrans_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
2659
  } elseif ( function_exists( 'qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage' ) ) {
2660
+ $in = qtranxf_useCurrentLanguageIfNotFoundUseDefaultLanguage( $in );
2661
  }
2662
 
2663
  return apply_filters( 'localization', $in );
2681
  if ( $title && ( $title = trim( $title ) ) )
2682
  return trim( $title );
2683
  }
2684
+
2685
  // the_search_query() is not suitable, it cannot just return
2686
  global $s;
2687
+
2688
  $title = null;
2689
+
2690
  if ( is_home() ) {
2691
  $title = get_option( 'blogname' );
2692
  } else if ( is_single() ) {
2738
  }
2739
  return trim( $title );
2740
  }
2741
+
2742
  function paged_title( $title ) {
2743
  // the page number if paged
2744
  global $paged;
2758
  }
2759
  return $title;
2760
  }
2761
+
2762
  function get_tax_title_format( $tax = '' ) {
2763
  global $aioseop_options;
2764
+ if ( AIOSEOPPRO ){
2765
+ $title_format = '%taxonomy_title% | %blog_title%';
2766
+ if ( is_category() ) {
2767
  $title_format = $aioseop_options['aiosp_category_title_format'];
2768
+ } else {
2769
+ $taxes = $aioseop_options['aiosp_taxactive'];
2770
+ if ( empty( $tax ) )
2771
+ $tax = get_query_var( 'taxonomy' );
2772
+ if ( !empty( $aioseop_options["aiosp_{$tax}_tax_title_format"] ) )
2773
+ $title_format = $aioseop_options["aiosp_{$tax}_tax_title_format"];
2774
+ }
2775
+ if ( empty( $title_format ) )
2776
+ $title_format = '%category_title% | %blog_title%';
2777
+ } else {
2778
+ $title_format = '%category_title% | %blog_title%';
2779
+ if ( !empty( $aioseop_options['aiosp_category_title_format'] ) )
2780
+ $title_format = $aioseop_options['aiosp_category_title_format'];
2781
+ return $title_format;
2782
+ }
2783
  return $title_format;
2784
  }
2785
+
2786
  function apply_tax_title_format( $category_name, $category_description, $tax = '' ) {
2787
  if ( empty( $tax ) ) $tax = get_query_var( 'taxonomy' );
2788
  $title_format = $this->get_tax_title_format( $tax );
2795
  $title = wp_strip_all_tags( $title );
2796
  return $this->paged_title( $title );
2797
  }
2798
+
2799
  function get_tax_name( $tax ) {
2800
  global $aioseop_options;
2801
+ if ( AIOSEOPPRO ){
2802
+ $opts = $this->meta_opts;
2803
+ if ( !empty( $opts ) )
2804
+ $name = $opts['aiosp_title'];
2805
+ } else {
2806
+ $name = '';
2807
+ }
2808
  if ( empty( $name ) ) $name = single_term_title( '', false );
2809
+ //apparently we're already ucwordsing this elsewhere, and doing it a second time messes it up... why aren't we just doing this at the end??
2810
+ // if ( ( $tax == 'category' ) && ( !empty( $aioseop_options['aiosp_cap_cats'] ) ) )
2811
+ // $name = $this->ucwords( $name );
2812
+
2813
  return $this->internationalize( $name );
2814
  }
2815
+
2816
  function get_tax_desc( $tax ) {
2817
+ if ( AIOSEOPPRO ) {
2818
+ $opts = $this->meta_opts;
2819
+ if ( !empty( $opts ) )
2820
+ $desc = $opts['aiosp_description'];
2821
+ } else {
2822
+ $desc = '';
2823
+ }
2824
  if ( empty( $desc ) ) $desc = term_description( '', $tax );
2825
  return $this->internationalize( $desc );
2826
  }
2827
+
2828
  function get_tax_title( $tax = '' ) {
2829
+ if ( AIOSEOPPRO ){
2830
+ if ( empty( $this->meta_opts ) )
2831
+ $this->meta_opts = $this->get_current_options( Array(), 'aiosp' );
2832
+ }
2833
  if ( empty( $tax ) )
2834
  if ( is_category() )
2835
  $tax = 'category';
2839
  $desc = $this->get_tax_desc( $tax );
2840
  return $this->apply_tax_title_format( $name, $desc, $tax );
2841
  }
2842
+
2843
  function get_post_title_format( $title_type = 'post', $p = null ) {
2844
  global $aioseop_options;
2845
  if ( ( $title_type != 'post' ) && ( $title_type != 'archive' ) ) return false;
2850
  $wp_post_types = $aioseop_options['aiosp_cpostactive'];
2851
  if ( !empty( $aioseop_options["aiosp_cposttitles"] ) ) {
2852
  if ( ( ( $title_type == 'archive' ) && is_post_type_archive( $wp_post_types ) && $prefix = "aiosp_{$title_type}_" ) ||
2853
+ ( ( $title_type == 'post' ) && $this->is_singular( $wp_post_types, $p ) && $prefix = "aiosp_" ) ) {
2854
  $post_type = get_post_type( $p );
2855
  if ( !empty( $aioseop_options["{$prefix}{$post_type}_title_format"] ) ) {
2856
  $title_format = $aioseop_options["{$prefix}{$post_type}_title_format"];
2857
+ }
2858
  }
2859
  }
2860
  }
2861
  return $title_format;
2862
  }
2863
+
2864
  function get_archive_title_format() {
2865
  return $this->get_post_title_format( "archive" );
2866
  }
2867
+
2868
  function apply_archive_title_format( $title, $category = '' ) {
2869
  $title_format = $this->get_archive_title_format();
2870
  $r_title = array( '%blog_title%', '%blog_description%', '%archive_title%' );
2872
  $title = trim( str_replace( $r_title, $d_title, $title_format ) );
2873
  return $title;
2874
  }
2875
+
2876
  function title_placeholder_helper( $title, $post, $type = 'post', $title_format = '', $category = '' ) {
2877
  if ( !empty( $post ) )
2878
  $authordata = get_userdata( $post->post_author );
2904
  $title = trim( $new_title );
2905
  return $title;
2906
  }
2907
+
2908
  function apply_post_title_format( $title, $category = '', $p = null ) {
2909
  if ( $p === null ) {
2910
  global $post;
2911
  } else {
2912
  $post = $p;
2913
  }
2914
+ $title_format = $this->get_post_title_format( 'post', $post );
2915
  return $this->title_placeholder_helper( $title, $post, 'post', $title_format, $category );
2916
  }
2917
+
2918
  function apply_page_title_format( $title, $p = null, $title_format = '' ) {
2919
  global $aioseop_options;
2920
  if ( $p === null ) {
2948
  } else {
2949
  $title = $this->internationalize( $aioseop_options['aiosp_home_title'] );
2950
  if ( !empty( $aioseop_options['aiosp_home_page_title_format'] ) )
2951
+ $title = $this->apply_page_title_format( $title, null, $aioseop_options['aiosp_home_page_title_format'] );
2952
  }
2953
  if (empty( $title ) )
2954
  $title = $this->internationalize( get_option( 'blogname' ) ) . ' | ' . $this->internationalize( get_bloginfo( 'description' ) );
2955
+
2956
  global $post;
2957
  $post_id = $post->ID;
2958
+
2959
  if ( is_post_type_archive() && is_post_type_archive( 'product' ) && $post_id = woocommerce_get_page_id( 'shop' ) && $post = get_post( $post_id ) ){
2960
  $frontpage_id = get_option('page_on_front');
2961
 
2966
  if ( !$title ) $title = $this->internationalize( get_post_meta( $frontpage_id, "_aioseop_title", true ) ); //this is/was causing the first product to come through
2967
  if ( !$title ) $title = $this->internationalize( $post->post_title );
2968
  if ( !$title ) $title = $this->internationalize( $this->get_original_title( '', false ) );
2969
+
2970
+
2971
+
2972
  $title = $this->apply_page_title_format( $title, $post );
2973
  $title = $this->paged_title( $title );
2974
  $title = apply_filters( 'aioseop_title_page', $title );
2975
  return $title;
2976
+
2977
+ }
2978
+
 
 
2979
  return $this->paged_title( $title ); //this is returned for woo
2980
  } else if ( is_attachment() ) {
2981
  if ( $post === null ) return false;
3000
  $title = $this->internationalize( get_post_meta( $page_for_posts, "_aioseop_title", true ) );
3001
  if ( !$title ) {
3002
  $post_page = get_post( $page_for_posts );
3003
+ $title = $this->internationalize( $post_page->post_title );
3004
  }
3005
  } else {
3006
  $title = $this->internationalize( get_post_meta( $post->ID, "_aioseop_title", true ) );
3061
  $tag = $tags[0]->tag;
3062
  $tag = str_replace('-', ' ', $tag);
3063
  } else {
3064
+ if ( AIOSEOPPRO ){
3065
+ if ( !empty( $opts ) && !empty( $opts['aiosp_title'] ) ) $tag = $opts['aiosp_title'];
3066
+ if ( !empty( $opts ) ) {
3067
+ if ( !empty( $opts['aiosp_title'] ) ) $tag = $opts['aiosp_title'];
3068
+ if ( !empty( $opts['aiosp_description'] ) ) $tag_description = $opts['aiosp_description'];
3069
+ }
3070
+ }
3071
  if ( empty( $tag ) ) $tag = $this->get_original_title( '', false );
3072
  if ( empty( $tag_description ) ) $tag_description = tag_description();
3073
  $tag = $this->internationalize( $tag );
3135
  return $title;
3136
  } else if ( is_404() ) {
3137
  $title_format = $aioseop_options['aiosp_404_title_format'];
3138
+ $new_title = str_replace( '%blog_title%', $this->internationalize( get_bloginfo( 'name') ), $title_format );
3139
  if ( strpos( $new_title, '%blog_description%' ) !== false ) $new_title = str_replace( '%blog_description%', $this->internationalize( get_bloginfo( 'description' ) ), $new_title );
3140
  if ( strpos( $new_title, '%request_url%' ) !== false ) $new_title = str_replace( '%request_url%', $_SERVER['REQUEST_URI'], $new_title );
3141
  if ( strpos( $new_title, '%request_words%' ) !== false ) $new_title = str_replace( '%request_words%', $this->request_as_words( $_SERVER['REQUEST_URI'] ), $new_title );
3144
  }
3145
  return false;
3146
  }
3147
+
3148
  /*** Used to filter wp_title(), get our title. ***/
3149
  function wp_title() {
3150
  global $aioseop_options;
3154
  $title = $this->get_aioseop_title( $post );
3155
  $title = $this->apply_cf_fields( $title );
3156
  }
3157
+
3158
  if ( $title === false )
3159
  $title = $this->get_original_title();
3160
+
3161
+ //if we're going to have this here, which seems logical, we should probably take it out of other places... do all titles pass through here?
3162
+ if ( !empty( $aioseop_options['aiosp_cap_titles'] ) )
3163
+ $title = $this->capitalize( $title );
3164
+
3165
  return apply_filters( 'aioseop_title', $title );
3166
  }
3167
 
3170
  global $wp_query;
3171
  if (!$wp_query) {
3172
  $header .= "<!-- no wp_query found! -->\n";
3173
+ return $header;
3174
  }
3175
  $title = $this->wp_title();
3176
  if ( !empty( $title ) )
3177
  $header = $this->replace_title( $header, $title );
3178
  return $header;
3179
  }
3180
+
3181
  /**
3182
  * @return User-readable nice words for a given request.
3183
  */
3196
  $request = implode( ' ', $request_new );
3197
  return $request;
3198
  }
3199
+
3200
  function capitalize( $s ) {
3201
  $s = trim( $s );
3202
  $tokens = explode( ' ', $s );
3207
  $s = implode( ' ', $tokens );
3208
  return $s;
3209
  }
3210
+
3211
  function trim_excerpt_without_filters( $text, $max = 0 ) {
3212
  $text = str_replace( ']]>', ']]&gt;', $text );
3213
+ $text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text );
3214
  $text = wp_strip_all_tags( $text );
3215
+ // Treat other common word-break characters like a space
3216
+ $text2 = preg_replace( '/[,._\-=+&!\?;:*]/s', ' ', $text );
3217
  if ( !$max ) $max = $this->maximum_description_length;
3218
+ $max_orig = $max;
3219
+ $len = $this->strlen( $text2 );
3220
  if ( $max < $len ) {
3221
  if ( function_exists( 'mb_strrpos' ) ) {
3222
+ $pos = mb_strrpos( $text2, ' ', -($len - $max) );
3223
  if ( $pos === false ) $pos = $max;
3224
  if ( $pos > $this->minimum_description_length ) {
3225
  $max = $pos;
3227
  $max = $this->minimum_description_length;
3228
  }
3229
  } else {
3230
+ while( $text2[$max] != ' ' && $max > $this->minimum_description_length ) {
3231
  $max--;
3232
+ }
3233
+ }
3234
+
3235
+ // probably no valid chars to break on?
3236
+ if ( $len > $max_orig && $max < intval( $max_orig / 2 ) ) {
3237
+ $max = $max_orig;
3238
  }
3239
  }
3240
  $text = $this->substr( $text, 0, $max );
3241
+ return trim( $text );
3242
  }
3243
+
3244
  function trim_excerpt_without_filters_full_length( $text ) {
3245
  $text = str_replace( ']]>', ']]&gt;', $text );
3246
  $text = preg_replace( '|\[(.+?)\](.+?\[/\\1\])?|s', '', $text );
3247
  $text = wp_strip_all_tags( $text );
3248
+ return trim( ( $text ) );
3249
  }
3250
+
3251
  function keyword_string_to_list( $keywords ) {
3252
  $traverse = Array();
3253
  $keywords_i = str_replace( '"', '', $keywords );
3256
  }
3257
  return $traverse;
3258
  }
3259
+
3260
  function get_all_categories( $id = 0 ) {
3261
  $keywords = Array();
3262
  $categories = get_the_category( $id );
3265
  $keywords[] = $this->internationalize( $category->cat_name );
3266
  return $keywords;
3267
  }
3268
+
3269
  function get_all_tags( $id = 0 ) {
3270
  $keywords = Array();
3271
  $tags = get_the_tags( $id );
3287
  }
3288
  return $keywords;
3289
  }
3290
+
3291
  function get_all_terms( $id, $taxonomy ) {
3292
  $keywords = Array();
3293
  $terms = get_the_terms( $id, $taxonomy );
3296
  $keywords[] = $this->internationalize( $term->name );
3297
  return $keywords;
3298
  }
3299
+
3300
  /**
3301
  * @return comma-separated list of unique keywords
3302
  */
3305
  global $aioseop_options;
3306
  if ( is_404() ) return null;
3307
  // if we are on synthetic pages
3308
+ if ( !is_home() && !is_page() && !is_single() && !$this->is_static_front_page() && !$this->is_static_posts_page() && !is_archive() && !is_post_type_archive() &&!is_category() && !is_tag() && !is_tax() )
3309
  return null;
3310
  $keywords = array();
3311
  $opts = $this->meta_opts;
3327
  $id = $p->ID;
3328
  if ( $postcount == 1 || !empty( $aioseop_options['aiosp_dynamic_postspage_keywords'] ) ) {
3329
  // custom field keywords
3330
+ $keywords_i = null;
3331
  $keywords_i = stripslashes( $this->internationalize( get_post_meta( $id, "_aioseop_keywords", true ) ) );
3332
  if ( is_attachment() ) {
3333
  $id = $p->post_parent;
3336
  }
3337
  $traverse = $this->keyword_string_to_list( $keywords_i );
3338
  if ( !empty( $traverse ) )
3339
+ foreach ( $traverse as $keyword ) $keywords[] = $keyword;
3340
  }
3341
+
3342
  if ( !empty( $aioseop_options['aiosp_use_tags_as_keywords'] ) ) {
3343
  $keywords = array_merge( $keywords, $this->get_all_tags( $id ) );
3344
  }
3349
  foreach ( $autometa_array as $e )
3350
  $keywords[] = $e;
3351
  }
3352
+
3353
  if ( $aioseop_options['aiosp_use_categories'] && !is_page() ) {
3354
  $keywords = array_merge( $keywords, $this->get_all_categories( $id ) );
3355
  }
3358
  }
3359
  return $this->get_unique_keywords( $keywords );
3360
  }
3361
+
3362
  function clean_keyword_list( $keywords ) {
3363
  $small_keywords = array();
3364
  if ( !is_array( $keywords ) ) $keywords = $this->keyword_string_to_list( $keywords );
3368
  }
3369
  return array_unique( $small_keywords );
3370
  }
3371
+
3372
  function get_unique_keywords($keywords) {
3373
  return implode( ',', $this->clean_keyword_list( $keywords ) );
3374
  }
3375
+
3376
  function log( $message ) {
3377
  if ( $this->do_log ) {
3378
  @error_log( date( 'Y-m-d H:i:s' ) . " " . $message . "\n", 3, $this->log_file );
3386
  if ( isset( $_POST[ 'nonce-aioseop-edit' ] ) ) $nonce = $_POST['nonce-aioseop-edit'];
3387
 
3388
  if ( isset($awmp_edit) && !empty($awmp_edit) && wp_verify_nonce($nonce, 'edit-aioseop-nonce') ) {
3389
+
3390
  $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'sitemap_exclude', 'disable', 'disable_analytics', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
3391
  if ( !( !empty( $this->options['aiosp_can'] ) ) && ( !empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
3392
  unset( $optlist["custom_link"] );
3395
  $field = "aiosp_$f";
3396
  if ( isset( $_POST[$field] ) ) $$field = $_POST[$field];
3397
  }
3398
+
3399
  $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
3400
  if ( !( !empty( $this->options['aiosp_can'] ) ) && ( !empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
3401
  unset( $optlist["custom_link"] );
3402
  }
3403
  foreach ( $optlist as $f )
3404
  delete_post_meta( $id, "_aioseop_{$f}" );
3405
+
3406
  if ( $this->is_admin() ) {
3407
  delete_post_meta($id, '_aioseop_sitemap_exclude' );
3408
  delete_post_meta($id, '_aioseop_disable' );
3409
  delete_post_meta($id, '_aioseop_disable_analytics' );
3410
  }
3411
+
3412
  foreach ( $optlist as $f ) {
3413
  $var = "aiosp_$f";
3414
  $field = "_aioseop_$f";
3440
  }
3441
  echo '</div>';
3442
  }
3443
+
3444
  function admin_bar_menu() {
3445
  global $wp_admin_bar, $aioseop_admin_menu, $aioseop_options, $post;
3446
+
3447
+ $toggle = '';
3448
+ if ( isset($_POST['aiosp_use_original_title']) && isset($_POST['aiosp_admin_bar']) ) $toggle = 'on';
3449
+ if ( isset($_POST['aiosp_use_original_title']) && !isset($_POST['aiosp_admin_bar']) ) $toggle = 'off';
3450
+
3451
+ if ( !empty( $aioseop_options['aiosp_admin_bar'] ) && $toggle != 'off' || isset($_POST['aiosp_admin_bar']) ) {
3452
  $menu_slug = plugin_basename( __FILE__ );
3453
+
3454
  $url = '';
3455
  if ( function_exists( 'menu_page_url' ) )
3456
  $url = menu_page_url( $menu_slug, 0 );
3457
  if ( empty( $url ) )
3458
  $url = esc_url( admin_url( 'admin.php?page=' . $menu_slug ) );
3459
+
3460
  $wp_admin_bar->add_menu( array( 'id' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'SEO', 'all-in-one-seo-pack' ), 'href' => $url ) );
3461
+ if ( current_user_can( 'update_plugins' ) && !AIOSEOPPRO )
3462
  add_action( 'admin_bar_menu', array( $this, 'admin_bar_upgrade_menu' ), 1101 );
3463
  $aioseop_admin_menu = 1;
3464
  if ( !is_admin() && !empty( $post ) ) {
3465
  $blog_page = $this->get_blog_page( $post );
3466
  if ( !empty( $blog_page ) ) $post = $blog_page;
3467
+ $wp_admin_bar->add_menu( array( 'id' => 'aiosp_edit_' . $post->ID, 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Edit SEO', 'all-in-one-seo-pack' ), 'href' => get_edit_post_link( $post->ID ) . '#aiosp' ) );
3468
  }
3469
  }
3470
  }
3471
+
3472
  function admin_bar_upgrade_menu() {
3473
  global $wp_admin_bar;
3474
  $wp_admin_bar->add_menu( array( 'parent' => AIOSEOP_PLUGIN_DIRNAME, 'title' => __( 'Upgrade To Pro', 'all-in-one-seo-pack' ), 'id' => 'aioseop-pro-upgrade', 'href' => 'http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=menu', 'meta' => Array( 'target' => '_blank' ) ) );
3477
  function menu_order() {
3478
  return 5;
3479
  }
3480
+
3481
+ function display_category_metaboxes( $tax ) {
3482
+ $screen = 'edit-' . $tax->taxonomy;
3483
+ ?><div id="poststuff">
3484
+ <?php do_meta_boxes( '', 'advanced', $tax ); ?>
3485
+ </div>
3486
+ <?php
3487
+ }
3488
+
3489
+ function save_category_metaboxes( $id ) {
3490
+ $awmp_edit = $nonce = null;
3491
+ if ( isset( $_POST[ 'aiosp_edit' ] ) ) $awmp_edit = $_POST['aiosp_edit'];
3492
+ if ( isset( $_POST[ 'nonce-aioseop-edit' ] ) ) $nonce = $_POST['nonce-aioseop-edit'];
3493
+
3494
+ if ( isset($awmp_edit) && !empty($awmp_edit) && wp_verify_nonce($nonce, 'edit-aioseop-nonce') ) {
3495
+ $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'sitemap_exclude', 'disable', 'disable_analytics', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
3496
+ foreach ( $optlist as $f ) {
3497
+ $field = "aiosp_$f";
3498
+ if ( isset( $_POST[$field] ) ) $$field = $_POST[$field];
3499
+ }
3500
+
3501
+ $optlist = Array( 'keywords', 'description', 'title', 'custom_link', 'noindex', 'nofollow', 'noodp', 'noydir', 'titleatr', 'menulabel' );
3502
+ if ( !( !empty( $this->options['aiosp_can'] ) ) && ( !empty( $this->options['aiosp_customize_canonical_links'] ) ) ) {
3503
+ unset( $optlist["custom_link"] );
3504
+ }
3505
+ foreach ( $optlist as $f )
3506
+ delete_term_meta( $id, "_aioseop_{$f}" );
3507
+
3508
+ if ( $this->is_admin() ) {
3509
+ delete_term_meta($id, '_aioseop_sitemap_exclude' );
3510
+ delete_term_meta($id, '_aioseop_disable' );
3511
+ delete_term_meta($id, '_aioseop_disable_analytics' );
3512
+ }
3513
+
3514
+ foreach ( $optlist as $f ) {
3515
+ $var = "aiosp_$f";
3516
+ $field = "_aioseop_$f";
3517
+ if ( isset( $$var ) && !empty( $$var ) )
3518
+ add_term_meta( $id, $field, $$var );
3519
+ }
3520
+ if (isset( $aiosp_sitemap_exclude ) && !empty( $aiosp_sitemap_exclude ) && $this->is_admin() )
3521
+ add_term_meta( $id, '_aioseop_sitemap_exclude', $aiosp_sitemap_exclude );
3522
+ if (isset( $aiosp_disable ) && !empty( $aiosp_disable ) && $this->is_admin() ) {
3523
+ add_term_meta( $id, '_aioseop_disable', $aiosp_disable );
3524
+ if (isset( $aiosp_disable_analytics ) && !empty( $aiosp_disable_analytics ) )
3525
+ add_term_meta( $id, '_aioseop_disable_analytics', $aiosp_disable_analytics );
3526
+ }
3527
+ }
3528
+ }
3529
+
3530
  function admin_menu() {
3531
  $file = plugin_basename( __FILE__ );
3532
  $menu_name = __( 'All in One SEO', 'all-in-one-seo-pack' );
3533
 
3534
  $this->locations['aiosp']['default_options']['nonce-aioseop-edit']['default'] = wp_create_nonce('edit-aioseop-nonce');
3535
+
3536
  $custom_menu_order = false;
3537
  global $aioseop_options;
3538
  if ( !isset( $aioseop_options['custom_menu_order'] ) )
3539
+ $custom_menu_order = true;
3540
 
3541
  $this->update_options( );
3542
+
3543
  $this->add_admin_pointers();
3544
  if ( !empty( $this->pointers ) )
3545
  foreach( $this->pointers as $k => $p )
3546
  if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) )
3547
  unset( $this->pointers[$k] );
3548
+
3549
  $donated = false;
3550
  if ( ( isset( $_POST ) ) && ( isset( $_POST['module'] ) ) && ( isset( $_POST['nonce-aioseop'] ) ) && ( $_POST['module'] == 'All_in_One_SEO_Pack' ) && ( wp_verify_nonce( $_POST['nonce-aioseop'], 'aioseop-nonce' ) ) ) {
3551
  if ( isset( $_POST["aiosp_donate"] ) )
3554
  if ( isset( $_POST["aiosp_custom_menu_order"] ) )
3555
  $custom_menu_order = $_POST["aiosp_custom_menu_order"];
3556
  else
3557
+ $custom_menu_order = false;
3558
  } else if ( ( isset($_POST["Submit_Default"] ) ) || ( ( isset($_POST["Submit_All_Default"] ) ) ) ) {
3559
+ $custom_menu_order = true;
3560
  }
3561
  } else {
3562
  if ( isset( $this->options["aiosp_donate"] ) )
3564
  if ( isset( $this->options["aiosp_custom_menu_order"] ) )
3565
  $custom_menu_order = $this->options["aiosp_custom_menu_order"];
3566
  }
3567
+
3568
  if ( $custom_menu_order ) {
3569
  add_filter( 'custom_menu_order', '__return_true' );
3570
  add_filter( 'menu_order', array( $this, 'set_menu_order' ) );
3571
  }
3572
+
3573
  if ( $donated ) {
3574
  // Thank you for your donation
3575
  $this->pointers['aioseop_donate'] = Array( 'pointer_target' => '#aiosp_donate_wrapper',
3576
+ 'pointer_text' => '<h3>' . __( 'Thank you!', 'all-in-one-seo-pack' )
3577
  . '</h3><p>' . __( 'Thank you for your donation, it helps keep this plugin free and actively developed!', 'all-in-one-seo-pack' ) . '</p>'
3578
  );
3579
  }
3580
+
3581
+ if ( !AIOSEOPPRO ){
3582
  if ( !empty( $this->pointers ) )
3583
  foreach( $this->pointers as $k => $p )
3584
  if ( !empty( $p["pointer_scope"] ) && ( $p["pointer_scope"] == 'global' ) )
3585
  unset( $this->pointers[$k] );
3586
+
3587
  $this->filter_pointers();
3588
+ }
3589
+
3590
  if ( !empty( $this->options['aiosp_enablecpost'] ) && $this->options['aiosp_enablecpost'] ) {
3591
+ if ( AIOSEOPPRO ) {
3592
+ $this->locations['aiosp']['display'] = $this->options['aiosp_cpostactive'];
3593
+ if ( !empty( $this->options['aiosp_taxactive'] ) ) {
3594
+ foreach( $this->options['aiosp_taxactive'] as $tax ) {
3595
+ $this->locations['aiosp']['display'][] = 'edit-' . $tax;
3596
+ add_action( "{$tax}_edit_form", Array( $this, 'display_category_metaboxes' ) );
3597
+ add_action( "edited_{$tax}", Array( $this, 'save_category_metaboxes' ) );
3598
+ }
3599
+ }
3600
  } else {
3601
+ if ( !empty( $this->options['aiosp_cpostactive'] ) ) {
3602
+ $this->locations['aiosp']['display'] = $this->options['aiosp_cpostactive'];
3603
+ } else {
3604
+ $this->locations['aiosp']['display'] = Array();
3605
+ }
3606
  }
3607
  } else {
3608
  $this->locations['aiosp']['display'] = Array( 'post', 'page' );
3609
  }
3610
+
3611
  if ( $custom_menu_order )
3612
+ add_menu_page( $menu_name, $menu_name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ) , $file, Array( $this, 'display_settings_page' ) );
3613
  else
3614
+ add_utility_page( $menu_name, $menu_name, apply_filters( 'manage_aiosp', 'aiosp_manage_seo' ), $file, Array( $this, 'display_settings_page' ) );
3615
+
3616
  add_meta_box('aioseop-list', __( "Join Our Mailing List", 'all-in-one-seo-pack' ), array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'normal', 'core');
3617
+ if ( AIOSEOPPRO ){
3618
+ add_meta_box('aioseop-about', __( "About", 'all-in-one-seo-pack' ), array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3619
+ } else {
3620
+ add_meta_box('aioseop-about', "About <span class='Taha' style='float:right;'>Version <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3621
+ }
3622
+ add_meta_box('aioseop-support', __( "Support", 'all-in-one-seo-pack' ) . " <span class='Taha' style='float:right;'>" . __( "Version", 'all-in-one-seo-pack' ) . " <b>" . AIOSEOP_VERSION . "</b></span>", array( $this, 'display_extra_metaboxes'), 'aioseop_metaboxes', 'side', 'core');
3623
+
3624
  add_action( 'aioseop_modules_add_menus', Array( $this, 'add_menu' ), 5 );
3625
  do_action( 'aioseop_modules_add_menus', $file );
3626
+
 
3627
  $metaboxes = apply_filters( 'aioseop_add_post_metabox', Array() );
3628
+
3629
  if ( !empty( $metaboxes ) ) {
3630
  if ( $this->tabbed_metaboxes ) {
3631
  $tabs = Array();
3634
  if ( !isset( $tabs[ $m['post_type'] ] ) ) $tabs[ $m['post_type'] ] = Array();
3635
  $tabs[ $m['post_type'] ][] = $m;
3636
  }
3637
+
3638
  if ( !empty( $tabs ) ) {
3639
  foreach( $tabs as $p => $m ) {
3640
  $tab_num = count( $m );
3660
  }
3661
  }
3662
  }
3663
+
3664
  function get_metabox_header( $tabs ) {
3665
  $header = '<ul class="aioseop_header_tabs hide">';
3666
  $active = ' active';
3675
  $header .= '</ul>';
3676
  return $header;
3677
  }
3678
+
3679
  function set_menu_order( $menu_order ) {
3680
  $order = array();
3681
  $file = plugin_basename( __FILE__ );
3686
  return $order;
3687
  }
3688
 
3689
+ function display_settings_header() {
 
3690
  }
3691
  function display_settings_footer( ) {
3692
  }
3693
 
3694
+ function display_right_sidebar( ) {
 
 
 
3695
  global $wpdb;
3696
 
3697
  if( !get_option( 'aioseop_options' ) ) {
3715
  }
3716
  </style>
3717
  <div class="aioseop_right_sidebar aioseop_options_wrapper">
3718
+
3719
  <div class="aioseop_sidebar">
3720
  <?php
3721
+ do_meta_boxes( 'aioseop_metaboxes', 'side', Array( 'test' ) );
3722
  ?>
3723
  <script type="text/javascript">
3724
  //<![CDATA[
3728
  // postboxes setup
3729
  if ( typeof postboxes !== 'undefined' )
3730
  postboxes.add_postbox_toggles('<?php echo $this->pagehook; ?>');
 
3731
  });
3732
  //]]>
3733
  </script>
3734
+ <?php if ( !AIOSEOPPRO ) { ?>
3735
+ <div class="aioseop_advert aioseop_nopad_all">
3736
+ <?php $adid = mt_rand( 21, 23 );
3737
+
3738
+ if($adid == 23){ ?><div style="height: 220px; background-image: url('https://www.wincher.com/Content/Images/plugin/wp/banner30.jpg')">
3739
+ <form style="position: relative; top: 170px; left: 40px;" action="https://www.wincher.com/FastReg" method="post" target="_blank">
3740
+ <input type="hidden" name="adreferer" value="banner<?php echo $adid; ?>"/>
3741
+ <input type="hidden" name="referer" value="all-in-one-seo-pack"/>
3742
+ <input type="text" name="email" placeholder="Email" style="padding-left: 7px; height: 30px; width: 290px; border: solid 1px #DDD;"/>
3743
+ <input type="submit" name="sub" value="Sign up!" style="height: 30px; width: 90px; background-color: #42DA76; color: #FFF; font-weight: bold; border:none; margin-left:5px;"/>
3744
+ </form></div>
3745
+ <?
3746
+ }else{
3747
+ ?>
3748
+ <a href="https://www.wincher.com/?referer=all-in-one-seo-pack&adreferer=banner<?php echo $adid; ?>" target="_blank"><div class=wincherad id=wincher<?php echo $adid; ?>>
3749
+ </div></a>
3750
+ <?php } ?>
3751
+ </div>
3752
+ <!-- Headway Themes-->
3753
+ <div class="aioseop_advert headwaythemes">
3754
+ <div>
3755
+ <h3>Drag and Drop WordPress Design</h3>
3756
+ <p><a href="http://semperfiwebdesign.com/headwayaio/" target="_blank">Headway Themes</a> allows you to easily create your own stunning website designs! Stop using premade themes start making your own design with Headway's easy to use Drag and Drop interface. All in One SEO Pack users have an exclusive discount by using coupon code <strong>SEMPERFI30</strong> at checkout.</p>
3757
+ </div>
3758
+ <a href="http://semperfiwebdesign.com/headwayaio/" target="_blank"><img src="<?php echo AIOSEOP_PLUGIN_IMAGES_URL; ?>headwaybanner.png"></a>
3759
+ </div>
3760
+ <?php } ?>
3761
+ </div>
3762
+ </div>
3763
+ <?php
3764
+ }
3765
+ }
 
 
 
aioseop_module-rtl.css DELETED
@@ -1,143 +0,0 @@
1
- .form-table.aioseop th {
2
- padding: 10px 9px 12px 0;
3
- }
4
- .aioseop_help_text_link, .aioseop_help_text_link:active {
5
- text-align: right;
6
- float: right;
7
- background: url('images/question.png') no-repeat top right;
8
- }
9
- .aioseop_help_text_link img {
10
- float: right;
11
- }
12
- .aioseop_label {
13
- padding-right: 0px;
14
- padding-left: 10px;
15
- text-align: right;
16
- }
17
- .aioseop input[type="text"] {
18
- padding: 10px 10px 10px 0px;
19
- }
20
- .aioseop textarea {
21
- padding: 10px 10px 0px 0px;
22
- }
23
- .aioseop_help_text_div {
24
- text-align:right;
25
- margin: 10px 0px 10px 0px;
26
- }
27
- .aioseop_help_text {
28
- float: right;
29
- clear: right;
30
- font-style: normal;
31
- }
32
-
33
- .aioseop_head_nav {
34
- float: right;
35
- }
36
- .aioseop_head_nav_tab {
37
- margin: 0 15px 0 0;
38
- border-width: 1px 1px 0;
39
- border-radius: 4px 0 0px 4px;
40
- float: right;
41
- }
42
-
43
- .aioseop_head_nav_tab:first-child {
44
- margin-right: 0px;
45
- margin-left: auto;
46
- }
47
- .aioseop_header {
48
- float: right;
49
- clear: right;
50
- }
51
-
52
- .aioseop_adverts {
53
- float: left;
54
- }
55
- .aioseop_content {
56
- clear: right;
57
- }
58
- #aiosp_feature_manager_metabox.postbox {
59
- float: right;
60
- }
61
- .aioseop_sidebar {
62
- width: 457px;
63
- margin-right: 10px;
64
- margin-left: auto;
65
- }
66
- .aioseop_option_label {
67
- float: right;
68
- margin: 0px 5px 10px 0;
69
- }
70
- .aioseop_settings_left {
71
- float: right;
72
- }
73
-
74
- .aioseop_right_sidebar {
75
- float: left;
76
- }
77
-
78
- .aioseop_input {
79
- clear: right;
80
- }
81
- .aioseop_option_input {
82
- float: right;
83
- width: 61%;
84
- padding-right: 1px;
85
- padding-left: 0px;
86
- }
87
- #aiosp_sitemap_addl_pages {
88
- clear: right;
89
- margin-right: 20px;
90
- margin-left: auto;
91
- max-width: 1072px;
92
- }
93
- #aiosp_sitemap_addl_pages_metabox table.aioseop_table td {
94
- padding: 3px;
95
- padding-right: 5%;
96
- }
97
- .aioseop_top_label .aioseop_option_input,
98
- .aioseop_no_label .aioseop_option_input {
99
- width: 100%;
100
- }
101
-
102
- .aioseop_settings_left .postbox {
103
- float: right;
104
- }
105
- .aioseop_option_setting_label {
106
- padding-right: 1px;
107
- padding-left: 0px;
108
- }
109
- #aiosp_settings_form .aioseop_no_label, .aioseop_no_label {
110
- float: right;
111
- margin: 0px 13px 0px 23px;
112
- }
113
- .aioseop_module.error.below-h2 {
114
- padding: 5px 0px;
115
- margin: 0px 0px 15px 477px !important;
116
- }
117
-
118
- #aiosp {
119
- width: 100%;
120
- }
121
-
122
- .aioseop_help_text ul {
123
- margin: 15px 20px 0 0;
124
- }
125
-
126
- .aioseop_header_tabs li a.aioseop_header_tab {
127
- border: solid 1px #CCC;
128
- border-right: none;
129
- padding: 6px 6px 1px 6px;
130
- }
131
-
132
- form#aiosp_settings_form, .aioseop_tabs_div {
133
- padding-left: 477px;
134
- padding-right: 0px;
135
- }
136
- #aiosp_settings_form ul.sfwd_debug_settings li strong {
137
- float: right;
138
- text-align: left;
139
- margin-left: 8px;
140
- margin-right: auto;
141
- padding: 1px;
142
- padding-left: 8px;
143
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
all_in_one_seo_pack.php CHANGED
@@ -2,16 +2,16 @@
2
  /*
3
  Plugin Name: All In One SEO Pack
4
  Plugin URI: http://semperfiwebdesign.com
5
- Description: Out-of-the-box SEO for your WordPress blog. <a href="admin.php?page=all-in-one-seo-pack/aioseop_class.php">SEO Settings</a> | <a href="http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=plugins" target="_blank">Upgrade to Pro Version</a> | <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8">Donate</a> | <a href="http://semperplugins.com/support/" >Support</a> | <a href="https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web" target="_blank" title="Amazon Wish List">Amazon Wishlist</a>
6
- Version: 2.2.7.6.2
7
  Author: Michael Torbert
8
  Author URI: http://michaeltorbert.com
9
  Text Domain: all-in-one-seo-pack
10
- Domain Path: /languages/
11
  */
12
 
13
  /*
14
- Copyright (C) 2007-2015 Michael Torbert, semperfiwebdesign.com (michael AT semperfiwebdesign DOT com)
15
 
16
  This program is free software; you can redistribute it and/or modify
17
  it under the terms of the GNU General Public License as published by
@@ -27,22 +27,21 @@ You should have received a copy of the GNU General Public License
27
  along with this program. If not, see <http://www.gnu.org/licenses/>.
28
  */
29
 
30
- //register_activation_hook(__FILE__,'aioseop_activate_pl');
31
-
32
  /**
33
  * @package All-in-One-SEO-Pack
34
- * @version 2.2.7.6.2
35
  */
36
 
37
  if ( ! defined( 'ABSPATH' ) ) return;
38
 
 
 
39
  global $aioseop_plugin_name;
40
  $aioseop_plugin_name = 'All in One SEO Pack';
41
- if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) )
42
- define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
43
 
44
- if ( ! defined( 'AIOSEOP_VERSION' ) )
45
- define( 'AIOSEOP_VERSION', '2.2.7.6.2' );
46
 
47
  if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
48
  define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
@@ -55,19 +54,14 @@ if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
55
 
56
  if ( ! defined( 'AIOSEOP_PLUGIN_BASENAME' ) )
57
  define( 'AIOSEOP_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
58
-
59
  if ( ! defined( 'AIOSEOP_PLUGIN_DIRNAME' ) )
60
  define( 'AIOSEOP_PLUGIN_DIRNAME', dirname( AIOSEOP_PLUGIN_BASENAME ) );
61
-
62
  if ( ! defined( 'AIOSEOP_PLUGIN_URL' ) )
63
  define( 'AIOSEOP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
64
-
65
  if ( ! defined( 'AIOSEOP_PLUGIN_IMAGES_URL' ) )
66
  define( 'AIOSEOP_PLUGIN_IMAGES_URL', AIOSEOP_PLUGIN_URL . 'images/' );
67
-
68
  if ( ! defined( 'AIOSEOP_BASELINE_MEM_LIMIT' ) )
69
  define( 'AIOSEOP_BASELINE_MEM_LIMIT', 268435456 ); // 256MB
70
-
71
  if ( ! defined( 'WP_CONTENT_URL' ) )
72
  define( 'WP_CONTENT_URL', site_url() . '/wp-content' );
73
  if ( ! defined( 'WP_ADMIN_URL' ) )
@@ -82,6 +76,10 @@ if ( ! defined( 'WP_PLUGIN_DIR' ) )
82
  global $aiosp, $aioseop_options, $aioseop_modules, $aioseop_module_list, $aiosp_activation, $aioseop_mem_limit, $aioseop_get_pages_start, $aioseop_admin_menu;
83
  $aioseop_get_pages_start = $aioseop_admin_menu = 0;
84
 
 
 
 
 
85
  $aioseop_options = get_option( 'aioseop_options' );
86
 
87
  $aioseop_mem_limit = @ini_get( 'memory_limit' );
@@ -129,6 +127,10 @@ if ( !empty( $aioseop_mem_limit ) ) {
129
  $aiosp_activation = false;
130
  $aioseop_module_list = Array( 'sitemap', 'opengraph', 'robots', 'file_editor', 'importer_exporter', 'bad_robots', 'performance' ); // list all available modules here
131
 
 
 
 
 
132
  if ( class_exists( 'All_in_One_SEO_Pack' ) ) {
133
  add_action( 'admin_notices', create_function( '', 'echo "<div class=\'error\'>The All In One SEO Pack class is already defined";'
134
  . "if ( class_exists( 'ReflectionClass' ) ) { \$r = new ReflectionClass( 'All_in_One_SEO_Pack' ); echo ' in ' . \$r->getFileName(); } "
@@ -136,34 +138,157 @@ if ( class_exists( 'All_in_One_SEO_Pack' ) ) {
136
  return;
137
  }
138
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
139
  /**
140
  * Check if we just got activated.
141
  */
142
  if ( !function_exists( 'aioseop_activate' ) ) {
143
  function aioseop_activate() {
 
 
 
 
144
  global $aiosp_activation;
 
 
 
145
  $aiosp_activation = true;
146
  delete_transient( "aioseop_oauth_current" );
 
 
 
 
147
  }
148
  }
149
 
150
- register_activation_hook( __FILE__, 'aioseop_activate' );
151
-
152
  add_action( 'plugins_loaded', 'aioseop_init_class' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
153
 
154
  if ( !function_exists( 'aioseop_init_class' ) ) {
155
  function aioseop_init_class() {
156
  global $aiosp;
157
- require_once( AIOSEOP_PLUGIN_DIR . 'aioseop_functions.php' );
 
158
  require_once( AIOSEOP_PLUGIN_DIR . 'aioseop_class.php' );
159
- $aiosp = new All_in_One_SEO_Pack();
 
160
 
 
 
 
 
 
 
 
161
  if ( aioseop_option_isset( 'aiosp_unprotect_meta' ) )
162
  add_filter( 'is_protected_meta', 'aioseop_unprotect_meta', 10, 3 );
163
 
164
- load_plugin_textdomain( 'all-in-one-seo-pack', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
165
-
166
-
167
  add_action( 'init', array( $aiosp, 'add_hooks' ) );
168
 
169
  if ( defined( 'DOING_AJAX' ) && !empty( $_POST ) && !empty( $_POST['action'] ) && ( $_POST['action'] === 'aioseop_ajax_scan_header' ) ) {
@@ -186,11 +311,17 @@ if ( is_admin() ) {
186
  add_action( 'wp_ajax_aioseop_ajax_save_url', 'aioseop_ajax_save_url' );
187
  add_action( 'wp_ajax_aioseop_ajax_delete_url', 'aioseop_ajax_delete_url' );
188
  add_action( 'wp_ajax_aioseop_ajax_scan_header', 'aioseop_ajax_scan_header' );
 
 
 
189
  add_action( 'wp_ajax_aioseop_ajax_save_settings', 'aioseop_ajax_save_settings');
190
  add_action( 'wp_ajax_aioseop_ajax_get_menu_links', 'aioseop_ajax_get_menu_links');
191
- add_action( 'wp_ajax_aioseo_dismiss_visibility_notice' , 'aioseop_update_user_visibilitynotice') ;
 
 
 
192
  }
193
-
194
  if ( !function_exists( 'aioseop_scan_post_header' ) ) {
195
  function aioseop_scan_post_header() {
196
  require_once( ABSPATH . WPINC . '/default-filters.php' );
@@ -200,3 +331,11 @@ if ( !function_exists( 'aioseop_scan_post_header' ) ) {
200
  if (have_posts()) the_post();
201
  }
202
  }
 
 
 
 
 
 
 
 
2
  /*
3
  Plugin Name: All In One SEO Pack
4
  Plugin URI: http://semperfiwebdesign.com
5
+ Description: Out-of-the-box SEO for your WordPress blog. Features like XML Sitemaps, SEO for custom post types, SEO for blogs or business sites, SEO for ecommerce sites, and much more. Almost 30 million downloads since 2007.
6
+ Version: 2.3
7
  Author: Michael Torbert
8
  Author URI: http://michaeltorbert.com
9
  Text Domain: all-in-one-seo-pack
10
+ Domain Path: /i18n/
11
  */
12
 
13
  /*
14
+ Copyright (C) 2007-2016 Michael Torbert, semperfiwebdesign.com (michael AT semperfiwebdesign DOT com)
15
 
16
  This program is free software; you can redistribute it and/or modify
17
  it under the terms of the GNU General Public License as published by
27
  along with this program. If not, see <http://www.gnu.org/licenses/>.
28
  */
29
 
 
 
30
  /**
31
  * @package All-in-One-SEO-Pack
32
+ * @version 2.3
33
  */
34
 
35
  if ( ! defined( 'ABSPATH' ) ) return;
36
 
37
+ define('AIOSEOPPRO', false);
38
+
39
  global $aioseop_plugin_name;
40
  $aioseop_plugin_name = 'All in One SEO Pack';
41
+ if ( ! defined( 'AIOSEOP_PLUGIN_NAME' ) ) define( 'AIOSEOP_PLUGIN_NAME', $aioseop_plugin_name );
42
+ if ( ! defined( 'AIOSEOP_VERSION' ) ) define( 'AIOSEOP_VERSION', '2.3' );
43
 
44
+ //register_activation_hook(__FILE__,'aioseop_activate_pl');
 
45
 
46
  if ( ! defined( 'AIOSEOP_PLUGIN_DIR' ) ) {
47
  define( 'AIOSEOP_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
54
 
55
  if ( ! defined( 'AIOSEOP_PLUGIN_BASENAME' ) )
56
  define( 'AIOSEOP_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
 
57
  if ( ! defined( 'AIOSEOP_PLUGIN_DIRNAME' ) )
58
  define( 'AIOSEOP_PLUGIN_DIRNAME', dirname( AIOSEOP_PLUGIN_BASENAME ) );
 
59
  if ( ! defined( 'AIOSEOP_PLUGIN_URL' ) )
60
  define( 'AIOSEOP_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
 
61
  if ( ! defined( 'AIOSEOP_PLUGIN_IMAGES_URL' ) )
62
  define( 'AIOSEOP_PLUGIN_IMAGES_URL', AIOSEOP_PLUGIN_URL . 'images/' );
 
63
  if ( ! defined( 'AIOSEOP_BASELINE_MEM_LIMIT' ) )
64
  define( 'AIOSEOP_BASELINE_MEM_LIMIT', 268435456 ); // 256MB
 
65
  if ( ! defined( 'WP_CONTENT_URL' ) )
66
  define( 'WP_CONTENT_URL', site_url() . '/wp-content' );
67
  if ( ! defined( 'WP_ADMIN_URL' ) )
76
  global $aiosp, $aioseop_options, $aioseop_modules, $aioseop_module_list, $aiosp_activation, $aioseop_mem_limit, $aioseop_get_pages_start, $aioseop_admin_menu;
77
  $aioseop_get_pages_start = $aioseop_admin_menu = 0;
78
 
79
+ if ( AIOSEOPPRO ) {
80
+ global $aioseop_update_checker;
81
+ }
82
+
83
  $aioseop_options = get_option( 'aioseop_options' );
84
 
85
  $aioseop_mem_limit = @ini_get( 'memory_limit' );
127
  $aiosp_activation = false;
128
  $aioseop_module_list = Array( 'sitemap', 'opengraph', 'robots', 'file_editor', 'importer_exporter', 'bad_robots', 'performance' ); // list all available modules here
129
 
130
+ if (AIOSEOPPRO){
131
+ $aioseop_module_list[] = 'video_sitemap';
132
+ }
133
+
134
  if ( class_exists( 'All_in_One_SEO_Pack' ) ) {
135
  add_action( 'admin_notices', create_function( '', 'echo "<div class=\'error\'>The All In One SEO Pack class is already defined";'
136
  . "if ( class_exists( 'ReflectionClass' ) ) { \$r = new ReflectionClass( 'All_in_One_SEO_Pack' ); echo ' in ' . \$r->getFileName(); } "
138
  return;
139
  }
140
 
141
+ if ( AIOSEOPPRO ){
142
+
143
+ require( AIOSEOP_PLUGIN_DIR . 'pro/sfwd_update_checker.php');
144
+ $aioseop_update_checker = new SFWD_Update_Checker(
145
+ 'http://semperplugins.com/upgrade_plugins.php',
146
+ __FILE__,
147
+ 'aioseop'
148
+ );
149
+
150
+
151
+ $aioseop_update_checker->plugin_name = AIOSEOP_PLUGIN_NAME;
152
+ $aioseop_update_checker->plugin_basename = AIOSEOP_PLUGIN_BASENAME;
153
+ if ( !empty( $aioseop_options['aiosp_license_key'] ) )
154
+ $aioseop_update_checker->license_key = $aioseop_options['aiosp_license_key'];
155
+ else
156
+ $aioseop_update_checker->license_key = '';
157
+ $aioseop_update_checker->options_page = 'all-in-one-seo-pack-pro/aioseop_class.php';
158
+ $aioseop_update_checker->renewal_page = 'http://semperplugins.com/all-in-one-seo-pack-pro-support-updates-renewal/';
159
+
160
+ $aioseop_update_checker->addQueryArgFilter( Array( $aioseop_update_checker, 'add_secret_key' ) );
161
+ }
162
+
163
+
164
  /**
165
  * Check if we just got activated.
166
  */
167
  if ( !function_exists( 'aioseop_activate' ) ) {
168
  function aioseop_activate() {
169
+
170
+ $role = get_role( 'administrator' );
171
+ $role->add_cap( 'aiosp_manage_seo' );
172
+
173
  global $aiosp_activation;
174
+ if ( AIOSEOPPRO ){
175
+ global $aioseop_update_checker;
176
+ }
177
  $aiosp_activation = true;
178
  delete_transient( "aioseop_oauth_current" );
179
+
180
+ if ( AIOSEOPPRO ){
181
+ $aioseop_update_checker->checkForUpdates();
182
+ }
183
  }
184
  }
185
 
 
 
186
  add_action( 'plugins_loaded', 'aioseop_init_class' );
187
+ add_filter( 'plugin_action_links_' . plugin_basename(__FILE__) , 'sfwd_add_action_links', 10, 2 );
188
+ //add_filter( 'plugin_row_meta', 'sfwd_plugin_row_meta', 10, 2 );
189
+
190
+
191
+ function sfwd_add_action_links( $actions, $plugin_file ) {
192
+
193
+ $aioseop_plugin_dirname = AIOSEOP_PLUGIN_DIRNAME;
194
+ $action_links = Array();
195
+ $action_links = array(
196
+ 'settings' => array(
197
+ 'label' => __('SEO Settings', 'all-in-one-seo-pack'),
198
+ 'url' => get_admin_url(null, "admin.php?page=$aioseop_plugin_dirname/aioseop_class.php")
199
+ ),
200
+
201
+ 'forum' => array(
202
+ 'label' => __('Support Forum', 'all-in-one-seo-pack'),
203
+ 'url' => 'http://semperplugins.com/support/'
204
+ ),
205
+
206
+ 'docs' => array(
207
+ 'label' => __('Documentation', 'all-in-one-seo-pack'),
208
+ 'url' => 'http://semperplugins.com/documentation/'
209
+ )
210
+
211
+ );
212
+
213
+ unset( $actions['edit'] );
214
+
215
+ if(!AIOSEOPPRO){
216
+ $action_links['proupgrade'] =
217
+ array(
218
+ 'label' => __('Upgrade to Pro', 'all-in-one-seo-pack'),
219
+ 'url' => 'http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?loc=plugins'
220
+
221
+ );
222
+ }
223
+
224
+ return sfwd_action_links( $actions, $plugin_file, $action_links, 'before');
225
+ }
226
+
227
+ function sfwd_plugin_row_meta( $actions, $plugin_file ) {
228
+
229
+ if(!AIOSEOPPRO){
230
+
231
+ $action_links = array(
232
+ 'donatelink' => array(
233
+ 'label' => __('Donate', 'all-in-one-seo-pack'),
234
+ 'url' => 'https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8'
235
+ )
236
+ ,
237
+ 'amazon' => array(
238
+ 'label' => __('Amazon Wishlist', 'all-in-one-seo-pack'),
239
+ 'url' => 'https://www.amazon.com/wishlist/1NFQ133FNCOOA/ref=wl_web'
240
+ )
241
+
242
+
243
+ );
244
+
245
+ }else{
246
+ $action_links = '';
247
+ }
248
+
249
+ return sfwd_action_links( $actions, $plugin_file, $action_links, 'after');
250
+ }
251
+
252
+ function sfwd_action_links ( $actions, $plugin_file, $action_links = array(), $position = 'after' ) {
253
+ static $plugin;
254
+ if( !isset($plugin) ) {
255
+ $plugin = plugin_basename( __FILE__ );
256
+ }
257
+ if( $plugin == $plugin_file && !empty( $action_links ) ) {
258
+ foreach( $action_links as $key => $value ) {
259
+ $link = array( $key => '<a href="' . $value['url'] . '">' . $value['label'] . '</a>' );
260
+ if( $position == 'after' ) {
261
+ $actions = array_merge( $actions, $link );
262
+ } else {
263
+ $actions = array_merge( $link, $actions );
264
+ }
265
+ }//foreach
266
+ }// if
267
+ return $actions;
268
+ }
269
 
270
  if ( !function_exists( 'aioseop_init_class' ) ) {
271
  function aioseop_init_class() {
272
  global $aiosp;
273
+ load_plugin_textdomain( 'all-in-one-seo-pack', false, dirname( plugin_basename( __FILE__ ) ) . '/i18n/' );
274
+ require_once( AIOSEOP_PLUGIN_DIR . 'inc/aioseop_functions.php' );
275
  require_once( AIOSEOP_PLUGIN_DIR . 'aioseop_class.php' );
276
+ require_once( AIOSEOP_PLUGIN_DIR . 'inc/commonstrings.php');
277
+ require_once( AIOSEOP_PLUGIN_DIR . 'admin/display/postedit.php');
278
 
279
+ if( AIOSEOPPRO ){
280
+ require_once( AIOSEOP_PLUGIN_DIR . 'pro/functions_general.php' );
281
+ require_once( AIOSEOP_PLUGIN_DIR . 'pro/functions_class.php');
282
+ }
283
+
284
+ $aiosp = new All_in_One_SEO_Pack();
285
+
286
  if ( aioseop_option_isset( 'aiosp_unprotect_meta' ) )
287
  add_filter( 'is_protected_meta', 'aioseop_unprotect_meta', 10, 3 );
288
 
289
+
290
+
291
+
292
  add_action( 'init', array( $aiosp, 'add_hooks' ) );
293
 
294
  if ( defined( 'DOING_AJAX' ) && !empty( $_POST ) && !empty( $_POST['action'] ) && ( $_POST['action'] === 'aioseop_ajax_scan_header' ) ) {
311
  add_action( 'wp_ajax_aioseop_ajax_save_url', 'aioseop_ajax_save_url' );
312
  add_action( 'wp_ajax_aioseop_ajax_delete_url', 'aioseop_ajax_delete_url' );
313
  add_action( 'wp_ajax_aioseop_ajax_scan_header', 'aioseop_ajax_scan_header' );
314
+ if(AIOSEOPPRO){
315
+ add_action( 'wp_ajax_aioseop_ajax_facebook_debug', 'aioseop_ajax_facebook_debug' );
316
+ }
317
  add_action( 'wp_ajax_aioseop_ajax_save_settings', 'aioseop_ajax_save_settings');
318
  add_action( 'wp_ajax_aioseop_ajax_get_menu_links', 'aioseop_ajax_get_menu_links');
319
+ add_action( 'wp_ajax_aioseo_dismiss_visibility_notice' , 'aioseop_update_user_visibilitynotice') ;
320
+ if(AIOSEOPPRO){
321
+ add_action( 'wp_ajax_aioseop_ajax_update_oembed', 'aioseop_ajax_update_oembed' );
322
+ }
323
  }
324
+
325
  if ( !function_exists( 'aioseop_scan_post_header' ) ) {
326
  function aioseop_scan_post_header() {
327
  require_once( ABSPATH . WPINC . '/default-filters.php' );
331
  if (have_posts()) the_post();
332
  }
333
  }
334
+
335
+ require_once( 'init.php' );
336
+
337
+ register_activation_hook( __FILE__, 'aiosp_install' );
338
+
339
+ function aiosp_install(){
340
+ aioseop_activate();
341
+ }
css/modules/aioseop_module-rtl.css ADDED
@@ -0,0 +1,301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ * {
2
+ direction: rtl !important
3
+ }
4
+
5
+ .form-table.aioseop {
6
+ clear: none
7
+ }
8
+
9
+ .form-table.aioseop th {
10
+ padding: 10px 9px 12px 0;
11
+ direction: rtl
12
+ }
13
+
14
+ .aioseop_help_text_link,
15
+ .aioseop_help_text_link:active {
16
+ text-align: right;
17
+ float: right
18
+ }
19
+
20
+ .aioseop_help_text_link span {
21
+ left: -60px;
22
+ }
23
+
24
+ .aioseop_meta_box_help > label {
25
+ margin-left: 0;
26
+ margin-right: 8px
27
+ }
28
+
29
+ .aioseop_help_text_link img {
30
+ float: left
31
+ }
32
+
33
+ .aioseop_meta_box_help,
34
+ .aioseop_meta_box_help:active {
35
+ float: left;
36
+ padding-left: 0;
37
+ margin-right: 0;
38
+ margin-left: 64px
39
+ }
40
+
41
+ .aioseop_label {
42
+ padding-left: 0;
43
+ padding-right: 20px;
44
+ text-align: right;
45
+ direction: rtl
46
+ }
47
+
48
+ .aioseop input[type="text"] {
49
+ padding: 2px 10px 2px 0
50
+ }
51
+
52
+ .aioseop textarea {
53
+ padding: 10px 10px 0 0
54
+ }
55
+
56
+ .aioseop_help_text_div {
57
+ text-align: right;
58
+ margin: 8px 0 10px 0
59
+ }
60
+
61
+ .aioseop_help_text {
62
+ float: right;
63
+ clear: right
64
+ }
65
+
66
+ .aioseop_head_nav {
67
+ float: right
68
+ }
69
+
70
+ .aioseop_head_nav_tab {
71
+ margin: 0 15px 0 0;
72
+ float: right
73
+ }
74
+
75
+ .aioseop_head_nav_tab:first-child {
76
+ margin-right: 0
77
+ }
78
+
79
+ .aioseop_header {
80
+ float: right;
81
+ clear: right
82
+ }
83
+
84
+ .aioseop_nopad {
85
+ padding-right: 0
86
+ }
87
+
88
+ .aioseop_adverts {
89
+ float: left
90
+ }
91
+
92
+ .aioseop_content {
93
+ clear: right
94
+ }
95
+
96
+ #aiosp_feature_manager_metabox.postbox {
97
+ float: right
98
+ }
99
+
100
+ .aioseop_sidebar {
101
+ margin-left: 0;
102
+ margin-right: 10px
103
+ }
104
+
105
+ .aioseop_option_label {
106
+ float: right !important;
107
+ clear: right !important;
108
+ }
109
+
110
+ .aioseop_settings_left {
111
+ float: right;
112
+ }
113
+
114
+ .aioseop_option_input {
115
+ float: left; /*clear: right !important;*/
116
+ padding-left: 0;
117
+ padding-right: 1px;
118
+ margin-bottom: 20px;
119
+ width: 60%;
120
+ min-width: 160px;
121
+ }
122
+
123
+ .aioseop_top {
124
+ margin: 10px 0 0 10px
125
+ }
126
+
127
+ .aioseop_right_sidebar {
128
+ float: left
129
+ }
130
+
131
+ div.aioseop_feature {
132
+ float: right
133
+ }
134
+
135
+ .aioseop_feature .feature_button {
136
+ float: left;
137
+ margin-right: 0;
138
+ margin-left: 10px
139
+ }
140
+
141
+ .aioseop_follow_button {
142
+ margin-right: 0;
143
+ margin-left: 5px
144
+ }
145
+
146
+ .aioseop_wrapper {
147
+ padding-left: 0;
148
+ padding-right: 5px;
149
+ direction: rtl
150
+ }
151
+
152
+ .aioseop_input {
153
+ clear: left
154
+ }
155
+
156
+ #aiosp div.preview_snippet {
157
+ padding: 15px 7px 20px 15px
158
+ }
159
+
160
+ #aiosp_sitemap_addl_pages,
161
+ #aiosp_video_sitemap_addl_pages {
162
+ clear: right;
163
+ margin-left: 0px;
164
+ margin-right: 20px
165
+ }
166
+
167
+ .All_in_One_SEO_Pack_Opengraph table.aioseop_table {
168
+ border-left: 0 solid #dfdfdf;
169
+ border-right: 1px solid #dfdfdf
170
+ }
171
+
172
+ .All_in_One_SEO_Pack_Opengraph table.aioseop_table th {
173
+ border-right: 0 solid #dfdfdf;
174
+ border-left: 1px solid #dfdfdf
175
+ }
176
+
177
+ .All_in_One_SEO_Pack_Opengraph table.aioseop_table td {
178
+ border-right: 0 solid #dfdfdf;
179
+ border-left: 1px solid #dfdfdf
180
+ }
181
+
182
+ #aiosp_sitemap_addl_pages_metabox table.aioseop_table td,
183
+ #aiosp_video_sitemap_addl_pages_metabox table.aioseop_table td {
184
+ padding-left: 0;
185
+ padding-right: 5%
186
+ }
187
+
188
+ .aioseop_settings_left .postbox {
189
+ float: right
190
+ }
191
+
192
+ .aioseop_option_setting_label {
193
+ padding-left: 0;
194
+ padding-right: 1px
195
+ }
196
+
197
+ .aioseop_settings_left .postbox .inside {
198
+ clear: left
199
+ }
200
+
201
+ .postbox h2 .Taha {
202
+ float: left !important;
203
+ }
204
+
205
+ #aiosp_settings_form .aioseop_no_label,
206
+ .aioseop_no_label {
207
+ float: right;
208
+ margin: 0 13px 0 23px
209
+ }
210
+
211
+ .aioseop_module.error.below-h2 {
212
+ margin: 0 0 15px 477px !important
213
+ }
214
+
215
+ .robots img {
216
+ margin: 0 2px 0 0
217
+ }
218
+
219
+ /* Robots.txt styling */
220
+ #aiosp_robots_generator_robotgen_wrapper .aioseop_option_div,
221
+ #aiosp_robots_generator_robothtml_wrapper .aioseop_option_div {
222
+ margin-top: 10px;
223
+ }
224
+
225
+ div.aioseop_notice a.aioseop_dismiss_link {
226
+ position: absolute;
227
+ top: 10px;
228
+ left: 10px;
229
+ text-align: left;
230
+ }
231
+
232
+ /*
233
+ .ButtonB{
234
+ border: 1px solid red !important;
235
+ float: left;
236
+ clear: right;
237
+
238
+ }*/
239
+ .aioseop_help_text ul {
240
+ margin: 15px 20px 0 0
241
+ }
242
+
243
+ .aioseop_header_tabs li a.aioseop_header_tab {
244
+ margin: 5px 0 0 5px
245
+ }
246
+
247
+ .aioseop_header_tabs li:first-child a.aioseop_header_tab {
248
+ border-left: solid 0 #CCC;
249
+ border-right: solid 1px #CCC;
250
+ margin-left: 0;
251
+ margin-right: 5px
252
+ }
253
+
254
+ .aioseop_tab {
255
+ padding-left: 0;
256
+ padding-right: 5px
257
+ }
258
+
259
+ form#aiosp_settings_form,
260
+ .aioseop_tabs_div {
261
+ padding-right: 0;
262
+ padding-left: 477px
263
+ }
264
+
265
+ #aiosp_settings_form ul.sfwd_debug_settings li strong {
266
+ float: right;
267
+ text-align: left;
268
+ margin-right: 0;
269
+ margin-left: 8px;
270
+ padding-right: 0;
271
+ padding-left: 8px
272
+ }
273
+
274
+ #aiosp_settings_form ul.sfwd_debug_settings li {
275
+ clear: right
276
+ }
277
+
278
+ .aioseop_advert {
279
+ direction: rtl;
280
+ float: right;
281
+ z-index: 999999
282
+ }
283
+
284
+ .aioseop_advert form input {
285
+ float: left
286
+ }
287
+
288
+ .MRL {
289
+ margin-left: 0 !important;
290
+ margin-right: 20px !important;
291
+ }
292
+
293
+ .aioseop_upload_image_label {
294
+ clear: right !important;
295
+ float: none !important;
296
+ }
297
+
298
+ .aioseop_upload_image_button {
299
+ float: right !important;
300
+ margin-bottom: 5px !important;
301
+ }
aioseop_module.css → css/modules/aioseop_module.css RENAMED
@@ -90,12 +90,12 @@ div.aioseop_tip_icon {
90
  width: 1em;
91
  text-align: center;
92
  padding: 0px 4px;
93
- border-radius: 12px;
94
- box-shadow: 1px 1px 1px #888;
95
  -webkit-border-radius: 12px;
96
  -moz-border-radius: 12px;
97
  -webkit-box-shadow: 1px 1px 1px #888;
98
  -moz-box-shadow: 1px 1px 1px #888;
 
 
99
  }
100
  div.aioseop_tip_icon:before {
101
  content: '?';
@@ -265,10 +265,10 @@ div.aioseop_tip_icon:before {
265
  }
266
  */
267
  #wincher21 {
268
- background-image: url(images/banner21.jpg);
269
  }
270
  #wincher22 {
271
- background-image: url(images/banner22.jpg);
272
  }
273
  }
274
 
@@ -342,6 +342,10 @@ div.aioseop_tip_icon:before {
342
  .aioseop_metabox_feature {
343
  margin-top: 20px;
344
  }
 
 
 
 
345
  .aioseop_option_label {
346
  float: left;
347
  margin: 0px;
@@ -392,6 +396,10 @@ body.all-in-one-seo_page_all-in-one-seo-pack-aioseop_feature_manager .aioseop_se
392
  margin-top: 20px;
393
  }
394
 
 
 
 
 
395
  #aioseop_top_button {
396
  margin-top: 5px;
397
  height: 30px;
@@ -495,52 +503,58 @@ div.aioseop_feature .aioseop_featured_image {
495
  width: 133px;
496
  }
497
  div.aioseop_feature .aioseop_featured_image {
498
- background-image: url(images/Default-BW-Standard.png);
499
  }
500
  div.aioseop_feature .aioseop_featured_image.active {
501
- background-image: url(images/Default-Color-Standard.png);
502
  }
503
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image {
504
- background-image: url(images/XMLSitemaps-BW-Standard.png);
505
  }
506
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image.active {
507
- background-image: url(images/XMLSitemaps-Color-Standard.png);
 
 
 
 
 
 
508
  }
509
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image {
510
- background-image: url(images/SocialMeta-BW-Standard.png);
511
  }
512
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image.active {
513
- background-image: url(images/SocialMeta-Color-Standard.png);
514
  }
515
  div.aioseop_feature#aioseop_robots .aioseop_featured_image, div.aioseop_feature#aioseop_bad_robots .aioseop_featured_image {
516
- background-image: url(images/Robots-BW-Standard.png);
517
  }
518
  div.aioseop_feature#aioseop_robots .aioseop_featured_image.active, div.aioseop_feature#aioseop_bad_robots .aioseop_featured_image.active {
519
- background-image: url(images/Robots-Color-Standard.png);
520
  }
521
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image {
522
- background-image: url(images/FileEditor-BW-Standard.png);
523
  }
524
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image.active {
525
- background-image: url(images/FileEditor-Color-Standard.png);
526
  }
527
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image {
528
- background-image: url(images/ImporterExporter-BW-Standard.png);
529
  }
530
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image.active {
531
- background-image: url(images/ImporterExporter-Color-Standard.png);
532
  }
533
  div.aioseop_feature#aioseop_performance .aioseop_featured_image {
534
- background-image: url(images/Performance-BW-Standard.png);
535
  }
536
  div.aioseop_feature#aioseop_performance .aioseop_featured_image.active {
537
- background-image: url(images/Performance-Color-Standard.png);
538
  }
539
  div.aioseop_feature#aioseop_coming_soon .aioseop_featured_image {
540
- background-image: url(images/Default-Color-Standard.png);
541
  }
542
  div.aioseop_feature#aioseop_coming_soon2 .aioseop_featured_image {
543
- background-image: url(images/Default-Color-Standard.png);
544
  }
545
  .All_in_One_SEO_Pack_Sitemap > form > .wrap > .form-table,
546
  .All_in_One_SEO_Pack_Video_Sitemap > form > .wrap > .form-table {
@@ -553,13 +567,13 @@ div.aioseop_feature#aioseop_coming_soon2 .aioseop_featured_image {
553
  display: inline-block;
554
  width: 100px;
555
  background-size: auto 50px !important;
556
- margin-right: 5px;
557
  }
558
  .aioseop_facebook_follow {
559
- background-image: url(images/facebook-follow-standard.png);
560
  }
561
  .aioseop_twitter_follow {
562
- background-image: url(images/twitter-follow-standard.png);
563
  }
564
  @media
565
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
@@ -571,58 +585,64 @@ only screen and ( min-resolution: 1.5dppx) {
571
  background-size: auto 100px !important;
572
  }
573
  div.aioseop_feature .aioseop_featured_image.active {
574
- background-image: url(images/Default-Color-Retina.png);
575
  }
576
  div.aioseop_feature .aioseop_featured_image {
577
- background-image: url(images/Default-BW-Retina.png);
578
  }
579
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image {
580
- background-image: url(images/XMLSitemaps-BW-Retina.png);
581
  }
582
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image.active {
583
- background-image: url(images/XMLSitemaps-Color-Retina.png);
 
 
 
 
 
 
584
  }
585
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image {
586
- background-image: url(images/SocialMeta-BW-Retina.png);
587
  }
588
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image.active {
589
- background-image: url(images/SocialMeta-Color-Retina.png);
590
  }
591
- div.aioseop_feature#aioseop_robots .aioseop_featured_image {
592
- background-image: url(images/Robots-BW-Retina.png);
593
  }
594
- div.aioseop_feature#aioseop_robots .aioseop_featured_image.active {
595
- background-image: url(images/Robots-Color-Retina.png);
596
  }
597
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image {
598
- background-image: url(images/FileEditor-BW-Retina.png);
599
  }
600
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image.active {
601
- background-image: url(images/FileEditor-Color-Retina.png);
602
  }
603
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image {
604
- background-image: url(images/ImporterExporter-BW-Retina.png);
605
  }
606
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image.active {
607
- background-image: url(images/ImporterExporter-Color-Retina.png);
608
  }
609
  div.aioseop_feature#aioseop_performance .aioseop_featured_image {
610
- background-image: url(images/Performance-BW-Retina.png);
611
  }
612
  div.aioseop_feature#aioseop_performance .aioseop_featured_image.active {
613
- background-image: url(images/Performance-Color-Retina.png);
614
  }
615
  div.aioseop_feature#aioseop_coming_soon .aioseop_featured_image {
616
- background-image: url(images/Default-BW-Retina.png);
617
  }
618
  div.aioseop_feature#aioseop_coming_soon2 .aioseop_featured_image {
619
- background-image: url(images/Default-BW-Retina.png);
620
  }
621
  .aioseop_facebook_follow {
622
- background-image: url(images/facebook-follow-retina.png);
623
  }
624
  .aioseop_twitter_follow {
625
- background-image: url(images/twitter-follow-retina.png);
626
  }
627
  }
628
 
@@ -685,26 +705,31 @@ div#aioseop_snippet > div > span {
685
  padding: 0px;
686
  border: 0px;
687
  }
688
- #aiosp_sitemap_addl_pages {
 
689
  clear: left;
690
  margin-left: 20px;
691
  max-width: 1072px;
692
  }
693
- #aiosp_sitemap_addl_pages_metabox .aioseop_wrapper {
 
694
  width: 23%;
695
  min-width: 165px;
696
  display: inline-block;
697
  max-width: 265px;
698
  }
699
- #aiosp_sitemap_addl_pages_metabox .aioseop_help_text_div {
 
700
  position: absolute;
701
  margin: 5px 0px 10px 0px;
702
  }
703
- #aiosp_sitemap_addl_pages_metabox .aioseop_option_input {
 
704
  width: 94%;
705
  min-width: 94%;
706
  }
707
- #aiosp_sitemap_addl_pages_metabox table.aioseop_table {
 
708
  width: 96%;
709
  border: 1px solid #CCC;
710
  margin: 5px 0px 10px 0px;
@@ -747,6 +772,7 @@ table.aioseop_table td {
747
  border-bottom-color: #dfdfdf;
748
  text-shadow: #fff 0 1px 0;
749
  -webkit-box-shadow: 0 1px 0 #fff;
 
750
  box-shadow: 0 1px 0 #fff;
751
  }
752
  .All_in_One_SEO_Pack_Opengraph table.aioseop_table td {
@@ -764,7 +790,8 @@ table.aioseop_table td {
764
  #aioseop_opengraph_settings_facebook_debug_result li.aioseop_opengraph_settings_facebook_debug_item:nth-child(odd) {
765
  width: 70%;
766
  }
767
- #aiosp_sitemap_addl_pages_metabox table.aioseop_table td {
 
768
  width: 25%;
769
  padding-left: 5%;
770
  }
@@ -984,7 +1011,7 @@ div.aioseop_notice a.aioseop_dismiss_link {
984
  padding-left: 5px;
985
  }
986
  .aioseop_loading {
987
- background-image: url('images/activity.gif');
988
  display: inline-block;
989
  width: 24px;
990
  height: 24px;
@@ -993,7 +1020,7 @@ div.aioseop_notice a.aioseop_dismiss_link {
993
  vertical-align: bottom;
994
  }
995
  .aiosp_delete_url {
996
- background-image: url('images/delete.png');
997
  display: inline-block;
998
  width: 16px;
999
  height: 16px;
@@ -1088,4 +1115,4 @@ div.sfwd_debug_error {
1088
  #aioseop_coming_soon img {
1089
  padding-top: 40%;
1090
  }
1091
- */
90
  width: 1em;
91
  text-align: center;
92
  padding: 0px 4px;
 
 
93
  -webkit-border-radius: 12px;
94
  -moz-border-radius: 12px;
95
  -webkit-box-shadow: 1px 1px 1px #888;
96
  -moz-box-shadow: 1px 1px 1px #888;
97
+ box-shadow: 1px 1px 1px #888;
98
+ border-radius: 12px;
99
  }
100
  div.aioseop_tip_icon:before {
101
  content: '?';
265
  }
266
  */
267
  #wincher21 {
268
+ background-image: url(../../modules/images/banner21.jpg);
269
  }
270
  #wincher22 {
271
+ background-image: url(../../modules/images/banner22.jpg);
272
  }
273
  }
274
 
342
  .aioseop_metabox_feature {
343
  margin-top: 20px;
344
  }
345
+
346
+ .aioseop_metabox_feature img {
347
+ }
348
+
349
  .aioseop_option_label {
350
  float: left;
351
  margin: 0px;
396
  margin-top: 20px;
397
  }
398
 
399
+ body.all-in-one-seo_page_all-in-one-seo-pack-pro-aioseop_feature_manager .aioseop_settings_left {
400
+ margin-top: 20px;
401
+ }
402
+
403
  #aioseop_top_button {
404
  margin-top: 5px;
405
  height: 30px;
503
  width: 133px;
504
  }
505
  div.aioseop_feature .aioseop_featured_image {
506
+ background-image: url(../../modules/images/Default-BW-Standard.png);
507
  }
508
  div.aioseop_feature .aioseop_featured_image.active {
509
+ background-image: url(../../modules/images/Default-Color-Standard.png);
510
  }
511
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image {
512
+ background-image: url(../../modules/images/XMLSitemaps-BW-Standard.png);
513
  }
514
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image.active {
515
+ background-image: url(../../modules/images/XMLSitemaps-Color-Standard.png);
516
+ }
517
+ div.aioseop_feature#aioseop_video_sitemap .aioseop_featured_image {
518
+ background-image: url(../../modules/images/VideoSitemap-BW-Standard.png);
519
+ }
520
+ div.aioseop_feature#aioseop_video_sitemap .aioseop_featured_image.active {
521
+ background-image: url(../../modules/images/VideoSitemap-Color-Standard.png);
522
  }
523
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image {
524
+ background-image: url(../../modules/images/SocialMeta-BW-Standard.png);
525
  }
526
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image.active {
527
+ background-image: url(../../modules/images/SocialMeta-Color-Standard.png);
528
  }
529
  div.aioseop_feature#aioseop_robots .aioseop_featured_image, div.aioseop_feature#aioseop_bad_robots .aioseop_featured_image {
530
+ background-image: url(../../modules/images/Robots-BW-Standard.png);
531
  }
532
  div.aioseop_feature#aioseop_robots .aioseop_featured_image.active, div.aioseop_feature#aioseop_bad_robots .aioseop_featured_image.active {
533
+ background-image: url(../../modules/images/Robots-Color-Standard.png);
534
  }
535
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image {
536
+ background-image: url(../../modules/images/FileEditor-BW-Standard.png);
537
  }
538
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image.active {
539
+ background-image: url(../../modules/images/FileEditor-Color-Standard.png);
540
  }
541
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image {
542
+ background-image: url(../../modules/images/ImporterExporter-BW-Standard.png);
543
  }
544
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image.active {
545
+ background-image: url(../../modules/images/ImporterExporter-Color-Standard.png);
546
  }
547
  div.aioseop_feature#aioseop_performance .aioseop_featured_image {
548
+ background-image: url(../../modules/images/Performance-BW-Standard.png);
549
  }
550
  div.aioseop_feature#aioseop_performance .aioseop_featured_image.active {
551
+ background-image: url(../../modules/images/Performance-Color-Standard.png);
552
  }
553
  div.aioseop_feature#aioseop_coming_soon .aioseop_featured_image {
554
+ background-image: url(../../modules/images/Default-Color-Standard.png);
555
  }
556
  div.aioseop_feature#aioseop_coming_soon2 .aioseop_featured_image {
557
+ background-image: url(../../modules/images/Default-Color-Standard.png);
558
  }
559
  .All_in_One_SEO_Pack_Sitemap > form > .wrap > .form-table,
560
  .All_in_One_SEO_Pack_Video_Sitemap > form > .wrap > .form-table {
567
  display: inline-block;
568
  width: 100px;
569
  background-size: auto 50px !important;
570
+ margin-right: 0px;
571
  }
572
  .aioseop_facebook_follow {
573
+ background-image: url(../../modules/images/facebook-follow-standard.png);
574
  }
575
  .aioseop_twitter_follow {
576
+ background-image: url(../../modules/images/twitter-follow-standard.png);
577
  }
578
  @media
579
  only screen and (-webkit-min-device-pixel-ratio: 1.5),
585
  background-size: auto 100px !important;
586
  }
587
  div.aioseop_feature .aioseop_featured_image.active {
588
+ background-image: url(../../modules/images/Default-Color-Retina.png);
589
  }
590
  div.aioseop_feature .aioseop_featured_image {
591
+ background-image: url(../../modules/images/Default-BW-Retina.png);
592
  }
593
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image {
594
+ background-image: url(../../modules/images/XMLSitemaps-BW-Retina.png);
595
  }
596
  div.aioseop_feature#aioseop_sitemap .aioseop_featured_image.active {
597
+ background-image: url(../../modules/images/XMLSitemaps-Color-Retina.png);
598
+ }
599
+ div.aioseop_feature#aioseop_video_sitemap .aioseop_featured_image {
600
+ background-image: url(../../modules/images/VideoSitemap-BW-Retina.png);
601
+ }
602
+ div.aioseop_feature#aioseop_video_sitemap .aioseop_featured_image.active {
603
+ background-image: url(../../modules/images/VideoSitemap-Color-Retina.png);
604
  }
605
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image {
606
+ background-image: url(../../modules/images/SocialMeta-BW-Retina.png);
607
  }
608
  div.aioseop_feature#aioseop_opengraph .aioseop_featured_image.active {
609
+ background-image: url(../../modules/images/SocialMeta-Color-Retina.png);
610
  }
611
+ div.aioseop_feature#aioseop_robots .aioseop_featured_image, div.aioseop_feature#aioseop_bad_robots .aioseop_featured_image {
612
+ background-image: url(../../modules/images/Robots-BW-Retina.png);
613
  }
614
+ div.aioseop_feature#aioseop_robots .aioseop_featured_image.active, div.aioseop_feature#aioseop_bad_robots .aioseop_featured_image.active {
615
+ background-image: url(../../modules/images/Robots-Color-Retina.png);
616
  }
617
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image {
618
+ background-image: url(../../modules/images/FileEditor-BW-Retina.png);
619
  }
620
  div.aioseop_feature#aioseop_file_editor .aioseop_featured_image.active {
621
+ background-image: url(../../modules/images/FileEditor-Color-Retina.png);
622
  }
623
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image {
624
+ background-image: url(../../modules/images/ImporterExporter-BW-Retina.png);
625
  }
626
  div.aioseop_feature#aioseop_importer_exporter .aioseop_featured_image.active {
627
+ background-image: url(../../modules/images/ImporterExporter-Color-Retina.png);
628
  }
629
  div.aioseop_feature#aioseop_performance .aioseop_featured_image {
630
+ background-image: url(../../modules/images/Performance-BW-Retina.png);
631
  }
632
  div.aioseop_feature#aioseop_performance .aioseop_featured_image.active {
633
+ background-image: url(../../modules/images/Performance-Color-Retina.png);
634
  }
635
  div.aioseop_feature#aioseop_coming_soon .aioseop_featured_image {
636
+ background-image: url(../../modules/images/Default-BW-Retina.png);
637
  }
638
  div.aioseop_feature#aioseop_coming_soon2 .aioseop_featured_image {
639
+ background-image: url(../../modules/images/Default-BW-Retina.png);
640
  }
641
  .aioseop_facebook_follow {
642
+ background-image: url(../../modules/images/facebook-follow-retina.png);
643
  }
644
  .aioseop_twitter_follow {
645
+ background-image: url(../../modules/images/twitter-follow-retina.png);
646
  }
647
  }
648
 
705
  padding: 0px;
706
  border: 0px;
707
  }
708
+ #aiosp_sitemap_addl_pages,
709
+ #aiosp_video_sitemap_addl_pages {
710
  clear: left;
711
  margin-left: 20px;
712
  max-width: 1072px;
713
  }
714
+ #aiosp_sitemap_addl_pages_metabox .aioseop_wrapper,
715
+ #aiosp_video_sitemap_addl_pages_metabox .aioseop_wrapper {
716
  width: 23%;
717
  min-width: 165px;
718
  display: inline-block;
719
  max-width: 265px;
720
  }
721
+ #aiosp_sitemap_addl_pages_metabox .aioseop_help_text_div,
722
+ #aiosp_video_sitemap_addl_pages_metabox .aioseop_help_text_div {
723
  position: absolute;
724
  margin: 5px 0px 10px 0px;
725
  }
726
+ #aiosp_sitemap_addl_pages_metabox .aioseop_option_input,
727
+ #aiosp_video_sitemap_addl_pages_metabox .aioseop_option_input {
728
  width: 94%;
729
  min-width: 94%;
730
  }
731
+ #aiosp_sitemap_addl_pages_metabox table.aioseop_table,
732
+ #aiosp_video_sitemap_addl_pages_metabox table.aioseop_table {
733
  width: 96%;
734
  border: 1px solid #CCC;
735
  margin: 5px 0px 10px 0px;
772
  border-bottom-color: #dfdfdf;
773
  text-shadow: #fff 0 1px 0;
774
  -webkit-box-shadow: 0 1px 0 #fff;
775
+ -moz-box-shadow: 0 1px 0 #fff;
776
  box-shadow: 0 1px 0 #fff;
777
  }
778
  .All_in_One_SEO_Pack_Opengraph table.aioseop_table td {
790
  #aioseop_opengraph_settings_facebook_debug_result li.aioseop_opengraph_settings_facebook_debug_item:nth-child(odd) {
791
  width: 70%;
792
  }
793
+ #aiosp_sitemap_addl_pages_metabox table.aioseop_table td,
794
+ #aiosp_video_sitemap_addl_pages_metabox table.aioseop_table td {
795
  width: 25%;
796
  padding-left: 5%;
797
  }
1011
  padding-left: 5px;
1012
  }
1013
  .aioseop_loading {
1014
+ background-image: url('../../images/activity.gif');
1015
  display: inline-block;
1016
  width: 24px;
1017
  height: 24px;
1020
  vertical-align: bottom;
1021
  }
1022
  .aiosp_delete_url {
1023
+ background-image: url('../../images/delete.png');
1024
  display: inline-block;
1025
  width: 16px;
1026
  height: 16px;
1115
  #aioseop_coming_soon img {
1116
  padding-top: 40%;
1117
  }
1118
+ */
{languages → i18n}/all-in-one-seo-pack-ar.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-arq.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-az.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-az_TR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-bg_BG.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-bg_NO.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-ceb.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-cs_CZ.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-da_DK.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-de_DE.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-el.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-en_AU.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-en_CA.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-en_GB.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-en_ZA.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-eo.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_AR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_CL.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_CO.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_ES.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_MX.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_PE.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_PR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-es_VE.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-fa_IR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-fr_BE.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-fr_CA.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-fr_FR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-he_IL.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-hi_IN.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-hr.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-hu_HU.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-id_ID.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-it_IT.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-ja.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-ko_KR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-nb_NO.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-nl_BE.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-nl_NL.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-nn_NO.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-oci.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-pa_IN.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-pl_PL.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-pt_BR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-pt_PT.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-ro_RO.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-ru_RU.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-ru_UA.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-sk_SK.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-sq.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-sr_RS.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-sv_SE.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-tr_TR.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-uk.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-vi.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-zh_CN.mo RENAMED
File without changes
{languages → i18n}/all-in-one-seo-pack-zh_TW.mo RENAMED
File without changes
all-in-one-seo-pack.pot → i18n/all-in-one-seo-pack.pot RENAMED
@@ -1,23 +1,24 @@
1
- # Copyright (C) 2015 All In One SEO Pack
2
  # This file is distributed under the same license as the All In One SEO Pack package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: All In One SEO Pack 2.2.4.2\n"
6
- "Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/all-in-one-seo-"
7
  "pack\n"
8
- "POT-Creation-Date: 2015-01-16 15:07:23+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
 
16
- #: aioseop_class.php:62
17
  msgid "%s Plugin Options"
18
  msgstr ""
19
 
20
- #: aioseop_class.php:63 aioseop_class.php:683 aioseop_opengraph.php:222
 
21
  msgid "General Settings"
22
  msgstr ""
23
 
@@ -27,91 +28,105 @@ msgstr ""
27
 
28
  #: aioseop_class.php:73
29
  msgid ""
 
 
 
 
 
 
30
  "This option will automatically generate Canonical URLs for your entire "
31
  "WordPress installation. This will help to prevent duplicate content "
32
  "penalties by <a href=\\'http://googlewebmastercentral.blogspot.com/2009/02/"
33
  "specify-your-canonical.html\\' target=\\'_blank\\'>Google</a>."
34
  msgstr ""
35
 
36
- #: aioseop_class.php:74
37
  msgid ""
38
  "Checking this option will set the Canonical URL for all paginated content to "
39
  "the first page."
40
  msgstr ""
41
 
42
- #: aioseop_class.php:75
43
  msgid ""
44
  "Checking this option will allow you to customize Canonical URLs for specific "
45
  "posts."
46
  msgstr ""
47
 
48
- #: aioseop_class.php:76
49
  msgid "Set protocol for canonical URLs."
50
  msgstr ""
51
 
52
- #: aioseop_class.php:77
53
  msgid ""
54
- "Use wp_title to set the title; disable this option if you run into conflicts "
55
- "with the title being set by your theme or another plugin."
 
56
  msgstr ""
57
 
58
- #: aioseop_class.php:78
59
  msgid ""
60
  "Check this and All in One SEO Pack will create a log of important events "
61
- "(all_in_one_seo_pack.log) in its plugin directory which might help "
62
  "debugging. Make sure this directory is writable."
63
  msgstr ""
64
 
65
- #: aioseop_class.php:79
66
  msgid ""
67
  "As the name implies, this will be the Meta Title of your homepage. This is "
68
  "independent of any other option. If not set, the default Site Title (found "
69
  "in WordPress under Settings, General, Site Title) will be used."
70
  msgstr ""
71
 
72
- #: aioseop_class.php:80
73
  msgid ""
74
  "This will be the Meta Description for your homepage. This is independent of "
75
  "any other option. The default is no Meta Description at all if this is not "
76
  "set."
77
  msgstr ""
78
 
79
- #: aioseop_class.php:81
80
  msgid ""
81
  "Enter a comma separated list of your most important keywords for your site "
82
  "that will be written as Meta Keywords on your homepage. Don\\'t stuff "
83
  "everything in here."
84
  msgstr ""
85
 
86
- #: aioseop_class.php:82
 
 
 
 
 
 
87
  msgid ""
88
  "This option allows you to toggle the use of Meta Keywords throughout the "
89
  "whole of the site."
90
  msgstr ""
91
 
92
- #: aioseop_class.php:83
93
  msgid ""
94
  "Check this if you want your categories for a given post used as the Meta "
95
  "Keywords for this post (in addition to any keywords you specify on the Edit "
96
  "Post screen)."
97
  msgstr ""
98
 
99
- #: aioseop_class.php:84
100
  msgid ""
101
  "Check this if you want your tags for a given post used as the Meta Keywords "
102
  "for this post (in addition to any keywords you specify on the Edit Post "
103
  "screen)."
104
  msgstr ""
105
 
106
- #: aioseop_class.php:85
107
  msgid ""
108
  "Check this if you want your keywords on your Posts page (set in WordPress "
109
- "under Settings, Reading, Front Page Displays) to be dynamically generated "
110
- "from the keywords of the posts showing on that page. If unchecked, it will "
111
- "use the keywords set in the edit page screen for the posts page."
 
112
  msgstr ""
113
 
114
- #: aioseop_class.php:86
115
  msgid ""
116
  "Note that this is all about the title tag. This is what you see in your "
117
  "browser's window title bar. This is NOT visible on a page, only in the title "
@@ -123,268 +138,278 @@ msgid ""
123
  "your post in the format string."
124
  msgstr ""
125
 
126
- #: aioseop_class.php:87
127
  msgid ""
128
  "Check this and Search Page Titles and Tag Page Titles will have the first "
129
  "letter of each word capitalized."
130
  msgstr ""
131
 
132
- #: aioseop_class.php:88
133
  msgid ""
134
  "Check this and Category Titles will have the first letter of each word "
135
  "capitalized."
136
  msgstr ""
137
 
138
- #: aioseop_class.php:90
139
  msgid ""
140
- "This controls the format of the title tag for Pages.<br />The following "
141
- "macros are supported:"
142
  msgstr ""
143
 
144
- #: aioseop_class.php:91 aioseop_class.php:103 aioseop_class.php:115
145
- #: aioseop_class.php:121 aioseop_class.php:126 aioseop_class.php:134
146
- #: aioseop_class.php:139 aioseop_class.php:144 aioseop_class.php:148
147
- #: aioseop_class.php:154 aioseop_class.php:1023
 
148
  msgid "%blog_title% - Your blog title"
149
  msgstr ""
150
 
151
- #: aioseop_class.php:92 aioseop_class.php:104 aioseop_class.php:116
152
- #: aioseop_class.php:122 aioseop_class.php:127 aioseop_class.php:135
153
- #: aioseop_class.php:140 aioseop_class.php:145 aioseop_class.php:149
154
- #: aioseop_class.php:155 aioseop_class.php:1024
 
155
  msgid "%blog_description% - Your blog description"
156
  msgstr ""
157
 
158
- #: aioseop_class.php:93
159
  msgid "%page_title% - The original title of the page"
160
  msgstr ""
161
 
162
- #: aioseop_class.php:94
163
- msgid "%category_title% - The (main) category of the page"
164
- msgstr ""
165
-
166
- #: aioseop_class.php:95 aioseop_class.php:107 aioseop_class.php:1027
167
- msgid "%category% - Alias for %category_title%"
168
- msgstr ""
169
-
170
- #: aioseop_class.php:96
171
  msgid "%page_author_login% - This page's author' login"
172
  msgstr ""
173
 
174
- #: aioseop_class.php:97
175
  msgid "%page_author_nicename% - This page's author' nicename"
176
  msgstr ""
177
 
178
- #: aioseop_class.php:98
179
  msgid "%page_author_firstname% - This page's author' first name (capitalized)"
180
  msgstr ""
181
 
182
- #: aioseop_class.php:99
183
  msgid "%page_author_lastname% - This page's author' last name (capitalized)"
184
  msgstr ""
185
 
186
  #: aioseop_class.php:102
187
  msgid ""
 
 
 
 
 
 
188
  "This controls the format of the title tag for Posts.<br />The following "
189
  "macros are supported:"
190
  msgstr ""
191
 
192
- #: aioseop_class.php:105 aioseop_class.php:151 aioseop_class.php:1025
193
  msgid "%post_title% - The original title of the post"
194
  msgstr ""
195
 
196
- #: aioseop_class.php:106 aioseop_class.php:1026
197
  msgid "%category_title% - The (main) category of the post"
198
  msgstr ""
199
 
200
- #: aioseop_class.php:108 aioseop_class.php:1028
 
 
 
 
201
  msgid "%post_author_login% - This post's author' login"
202
  msgstr ""
203
 
204
- #: aioseop_class.php:109 aioseop_class.php:1029
205
  msgid "%post_author_nicename% - This post's author' nicename"
206
  msgstr ""
207
 
208
- #: aioseop_class.php:110 aioseop_class.php:1030
209
  msgid "%post_author_firstname% - This post's author' first name (capitalized)"
210
  msgstr ""
211
 
212
- #: aioseop_class.php:111 aioseop_class.php:1031
213
  msgid "%post_author_lastname% - This post's author' last name (capitalized)"
214
  msgstr ""
215
 
216
- #: aioseop_class.php:114
217
  msgid ""
218
  "This controls the format of the title tag for Category Archives.<br />The "
219
  "following macros are supported:"
220
  msgstr ""
221
 
222
- #: aioseop_class.php:117
223
  msgid "%category_title% - The original title of the category"
224
  msgstr ""
225
 
226
- #: aioseop_class.php:118
227
  msgid "%category_description% - The description of the category"
228
  msgstr ""
229
 
230
- #: aioseop_class.php:120
231
  msgid ""
232
  "This controls the format of the title tag for Custom Post Archives.<br />The "
233
  "following macros are supported:"
234
  msgstr ""
235
 
236
- #: aioseop_class.php:123
237
  msgid "%archive_title - The original archive title given by wordpress"
238
  msgstr ""
239
 
240
- #: aioseop_class.php:125
241
  msgid ""
242
  "This controls the format of the title tag for Date Archives.<br />The "
243
  "following macros are supported:"
244
  msgstr ""
245
 
246
- #: aioseop_class.php:128
247
  msgid ""
248
  "%date% - The original archive title given by wordpress, e.g. \"2007\" or "
249
  "\"2007 August\""
250
  msgstr ""
251
 
252
- #: aioseop_class.php:129
253
  msgid "%day% - The original archive day given by wordpress, e.g. \"17\""
254
  msgstr ""
255
 
256
- #: aioseop_class.php:130
257
  msgid ""
258
  "%month% - The original archive month given by wordpress, e.g. \"August\""
259
  msgstr ""
260
 
261
- #: aioseop_class.php:131
262
  msgid "%year% - The original archive year given by wordpress, e.g. \"2007\""
263
  msgstr ""
264
 
265
- #: aioseop_class.php:133
266
  msgid ""
267
  "This controls the format of the title tag for Author Archives.<br />The "
268
  "following macros are supported:"
269
  msgstr ""
270
 
271
- #: aioseop_class.php:136
272
  msgid ""
273
  "%author% - The original archive title given by wordpress, e.g. \"Steve\" or "
274
  "\"John Smith\""
275
  msgstr ""
276
 
277
- #: aioseop_class.php:138
278
  msgid ""
279
  "This controls the format of the title tag for Tag Archives.<br />The "
280
  "following macros are supported:"
281
  msgstr ""
282
 
283
- #: aioseop_class.php:141
284
  msgid "%tag% - The name of the tag"
285
  msgstr ""
286
 
287
- #: aioseop_class.php:143
288
  msgid ""
289
  "This controls the format of the title tag for the Search page.<br />The "
290
  "following macros are supported:"
291
  msgstr ""
292
 
293
- #: aioseop_class.php:146
294
  msgid "%search% - What was searched for"
295
  msgstr ""
296
 
297
- #: aioseop_class.php:147
298
  msgid ""
299
  "This controls the format of Meta Descriptions.The following macros are "
300
  "supported:"
301
  msgstr ""
302
 
303
- #: aioseop_class.php:150
304
  msgid ""
305
  "%description% - The original description as determined by the plugin, e.g. "
306
  "the excerpt if one is set or an auto-generated one if that option is set"
307
  msgstr ""
308
 
309
- #: aioseop_class.php:152
310
  msgid "%wp_title% - The original wordpress title, e.g. post_title for posts"
311
  msgstr ""
312
 
313
- #: aioseop_class.php:153
314
  msgid ""
315
  "This controls the format of the title tag for the 404 page.<br />The "
316
  "following macros are supported:"
317
  msgstr ""
318
 
319
- #: aioseop_class.php:156
320
  msgid ""
321
  "%request_url% - The original URL path, like \"/url-that-does-not-exist/\""
322
  msgstr ""
323
 
324
- #: aioseop_class.php:157
325
  msgid ""
326
  "%request_words% - The URL path in human readable form, like \"Url That Does "
327
  "Not Exist\""
328
  msgstr ""
329
 
330
- #: aioseop_class.php:158
331
  msgid "%404_title% - Additional 404 title input\""
332
  msgstr ""
333
 
334
- #: aioseop_class.php:159
335
  msgid ""
336
  "This string gets appended/prepended to titles of paged index pages (like "
337
  "home or archive pages)."
338
  msgstr ""
339
 
340
- #: aioseop_class.php:160 aioseop_class.php:1022
341
  msgid "The following macros are supported:"
342
  msgstr ""
343
 
344
- #: aioseop_class.php:161
345
  msgid "%page% - The page number"
346
  msgstr ""
347
 
348
- #: aioseop_class.php:162
349
  msgid ""
350
  "Check this if you want to use All in One SEO Pack with any Custom Post Types "
351
  "on this site."
352
  msgstr ""
353
 
354
- #: aioseop_class.php:163
355
  msgid ""
356
  "This will show or hide the advanced options for SEO for Custom Post Types."
357
  msgstr ""
358
 
359
- #: aioseop_class.php:164
360
  msgid ""
361
  "Use these checkboxes to select which Post Types you want to use All in One "
362
  "SEO Pack with."
363
  msgstr ""
364
 
365
- #: aioseop_class.php:165
 
 
 
 
 
 
366
  msgid "This allows you to set the title tags for each Custom Post Type."
367
  msgstr ""
368
 
369
- #: aioseop_class.php:166
370
  msgid ""
371
  "This lets you select which screens display the SEO Title, SEO Keywords and "
372
  "SEO Description columns."
373
  msgstr ""
374
 
375
- #: aioseop_class.php:167
376
  msgid ""
377
  "Check this to add All in One SEO Pack to the Admin Bar for easy access to "
378
  "your SEO settings."
379
  msgstr ""
380
 
381
- #: aioseop_class.php:168
382
  msgid ""
383
  "Check this to move the All in One SEO Pack menu item to the top of your "
384
  "WordPress Dashboard menu."
385
  msgstr ""
386
 
387
- #: aioseop_class.php:169
388
  msgid ""
389
  "Enter your verification code here to verify your site with Google Webmaster "
390
  "Tools.<br /><a href='http://semperplugins.com/documentation/google-webmaster-"
@@ -392,7 +417,7 @@ msgid ""
392
  "setting</a>"
393
  msgstr ""
394
 
395
- #: aioseop_class.php:170
396
  msgid ""
397
  "Enter your verification code here to verify your site with Bing Webmaster "
398
  "Tools.<br /><a href='http://semperplugins.com/documentation/bing-webmaster-"
@@ -400,7 +425,7 @@ msgid ""
400
  "a>"
401
  msgstr ""
402
 
403
- #: aioseop_class.php:171
404
  msgid ""
405
  "Enter your verification code here to verify your site with Pinterest.<br /"
406
  "><a href='http://semperplugins.com/documentation/pinterest-site-"
@@ -408,7 +433,7 @@ msgid ""
408
  "a>"
409
  msgstr ""
410
 
411
- #: aioseop_class.php:172
412
  msgid ""
413
  "Enter your Google+ Profile URL here to add the rel=“author” tag to your site "
414
  "for Google authorship. It is recommended that the URL you enter here should "
@@ -416,18 +441,18 @@ msgid ""
416
  "if you want greater control over the use of authorship."
417
  msgstr ""
418
 
419
- #: aioseop_class.php:173
420
  msgid ""
421
  "Check this to remove the Google Plus field from the user profile screen."
422
  msgstr ""
423
 
424
- #: aioseop_class.php:174
425
  msgid ""
426
  "Enable this to display advanced options for controlling Google Plus "
427
  "authorship information on your website."
428
  msgstr ""
429
 
430
- #: aioseop_class.php:175
431
  msgid ""
432
  "This option allows you to control which types of pages you want to display "
433
  "rel=\"author\" on for Google authorship. The options include the Front Page "
@@ -436,194 +461,213 @@ msgid ""
436
  "taxonomies, date archives, author archives and any other page template."
437
  msgstr ""
438
 
439
- #: aioseop_class.php:176
440
  msgid ""
441
  "This option allows you to control whether rel=\"publisher\" is displayed on "
442
  "the homepage of your site. Google recommends using this if the site is a "
443
  "business website."
444
  msgstr ""
445
 
446
- #: aioseop_class.php:177
447
  msgid ""
448
  "The Google+ profile you enter here will appear on your homepage only as the "
449
  "rel=\"publisher\" tag. It is recommended that the URL you enter here should "
450
  "be the Google+ profile for your business."
451
  msgstr ""
452
 
453
- #: aioseop_class.php:178
454
  msgid ""
455
  "Add markup to display the Google Sitelinks Search Box next to your search "
456
  "results in Google."
457
  msgstr ""
458
 
459
- #: aioseop_class.php:179
 
 
 
 
460
  msgid ""
461
  "Press the connect button to connect with Google Analytics; or if already "
462
  "connected, press the disconnect button to disable and remove any stored "
463
  "analytics credentials."
464
  msgstr ""
465
 
466
- #: aioseop_class.php:180
467
  msgid ""
468
  "Enter your Google Analytics ID here to track visitor behavior on your site "
469
  "using Google Analytics."
470
  msgstr ""
471
 
472
- #: aioseop_class.php:181
473
  msgid "Use the new Universal Analytics tracking code for Google Analytics."
474
  msgstr ""
475
 
476
- #: aioseop_class.php:182
477
  msgid "Check to use advanced Google Analytics options."
478
  msgstr ""
479
 
480
- #: aioseop_class.php:183
481
  msgid "Enter your domain name without the http:// to set your cookie domain."
482
  msgstr ""
483
 
484
- #: aioseop_class.php:184
485
  msgid "Use this option to enable tracking of multiple or additional domains."
486
  msgstr ""
487
 
488
- #: aioseop_class.php:185
489
  msgid ""
490
  "Add a list of additional domains to track here. Enter one domain name per "
491
  "line without the http://."
492
  msgstr ""
493
 
494
- #: aioseop_class.php:186
495
  msgid "This enables support for IP Anonymization in Google Analytics."
496
  msgstr ""
497
 
498
- #: aioseop_class.php:187
499
  msgid ""
500
  "This enables support for the Display Advertiser Features in Google Analytics."
501
  msgstr ""
502
 
503
- #: aioseop_class.php:188
504
  msgid "Exclude logged-in users from Google Analytics tracking by role."
505
  msgstr ""
506
 
507
- #: aioseop_class.php:189
508
  msgid "Check this if you want to track outbound links with Google Analytics."
509
  msgstr ""
510
 
511
- #: aioseop_class.php:190
512
  msgid ""
513
  "This enables support for the Enhanced Link Attribution in Google Analytics."
514
  msgstr ""
515
 
516
- #: aioseop_class.php:191
517
  msgid "This enables support for the Enhanced Ecommerce in Google Analytics."
518
  msgstr ""
519
 
520
- #: aioseop_class.php:192
521
  msgid "Set the default NOINDEX setting for each Post Type."
522
  msgstr ""
523
 
524
- #: aioseop_class.php:193
525
  msgid "Set the default NOFOLLOW setting for each Post Type."
526
  msgstr ""
527
 
528
- #: aioseop_class.php:194
529
  msgid ""
530
  "Check this to ask search engines not to index Category Archives. Useful for "
531
  "avoiding duplicate content."
532
  msgstr ""
533
 
534
- #: aioseop_class.php:195
535
  msgid ""
536
  "Check this to ask search engines not to index Date Archives. Useful for "
537
  "avoiding duplicate content."
538
  msgstr ""
539
 
540
- #: aioseop_class.php:196
541
  msgid ""
542
  "Check this to ask search engines not to index Author Archives. Useful for "
543
  "avoiding duplicate content."
544
  msgstr ""
545
 
546
- #: aioseop_class.php:197
547
  msgid ""
548
  "Check this to ask search engines not to index Tag Archives. Useful for "
549
  "avoiding duplicate content."
550
  msgstr ""
551
 
552
- #: aioseop_class.php:198
553
  msgid ""
554
  "Check this to ask search engines not to index the Search page. Useful for "
555
  "avoiding duplicate content."
556
  msgstr ""
557
 
558
- #: aioseop_class.php:199
 
 
 
 
 
 
 
 
 
 
559
  msgid ""
560
  "Check this to ask search engines not to index paginated pages/posts. Useful "
561
  "for avoiding duplicate content."
562
  msgstr ""
563
 
564
- #: aioseop_class.php:200
565
  msgid ""
566
  "Check this to ask search engines not to follow links from paginated pages/"
567
  "posts. Useful for avoiding duplicate content."
568
  msgstr ""
569
 
570
- #: aioseop_class.php:201
571
  msgid ""
572
  "Check this box to ask search engines not to use descriptions from the Open "
573
  "Directory Project for your entire site."
574
  msgstr ""
575
 
576
- #: aioseop_class.php:202
577
  msgid "Set the default noodp setting for each Post Type."
578
  msgstr ""
579
 
580
- #: aioseop_class.php:203
581
  msgid ""
582
  "Check this box to ask Yahoo! not to use descriptions from the Yahoo! "
583
  "directory for your entire site."
584
  msgstr ""
585
 
586
- #: aioseop_class.php:204
587
  msgid "Set the default noydir setting for each Post Type."
588
  msgstr ""
589
 
590
- #: aioseop_class.php:205
 
 
 
 
 
591
  msgid ""
592
  "Check this and your Meta Descriptions will be auto-generated from your "
593
  "excerpt or content."
594
  msgstr ""
595
 
596
- #: aioseop_class.php:206
597
  msgid ""
598
  "Check this and shortcodes will get executed for descriptions auto-generated "
599
  "from content."
600
  msgstr ""
601
 
602
- #: aioseop_class.php:207
603
  msgid ""
604
  "Check this and your Meta Descriptions will be removed from page 2 or later "
605
  "of paginated content."
606
  msgstr ""
607
 
608
- #: aioseop_class.php:208
609
  msgid ""
610
  "Check this to prevent your Description from being truncated regardless of "
611
  "its length."
612
  msgstr ""
613
 
614
- #: aioseop_class.php:209
615
  msgid ""
616
  "Check this to support Schema.org markup, i.e., itemprop on supported "
617
  "metadata."
618
  msgstr ""
619
 
620
- #: aioseop_class.php:210
621
  msgid ""
622
  "Check this to unprotect internal postmeta fields for use with XMLRPC. If you "
623
  "don't know what that is, leave it unchecked."
624
  msgstr ""
625
 
626
- #: aioseop_class.php:211
627
  msgid ""
628
  "Enter a comma separated list of pages here to be excluded by All in One SEO "
629
  "Pack. This is helpful when using plugins which generate their own non-"
@@ -634,21 +678,21 @@ msgid ""
634
  "someforumpage here and it will be excluded from All in One SEO Pack."
635
  msgstr ""
636
 
637
- #: aioseop_class.php:212
638
  msgid ""
639
  "What you enter here will be copied verbatim to the header of all Posts. You "
640
  "can enter whatever additional headers you want here, even references to "
641
  "stylesheets."
642
  msgstr ""
643
 
644
- #: aioseop_class.php:213
645
  msgid ""
646
  "What you enter here will be copied verbatim to the header of all Pages. You "
647
  "can enter whatever additional headers you want here, even references to "
648
  "stylesheets."
649
  msgstr ""
650
 
651
- #: aioseop_class.php:214
652
  msgid ""
653
  "What you enter here will be copied verbatim to the header of the front page "
654
  "if you have set a static page in Settings, Reading, Front Page Displays. You "
@@ -657,7 +701,7 @@ msgid ""
657
  "have them set and nothing is entered here."
658
  msgstr ""
659
 
660
- #: aioseop_class.php:215
661
  msgid ""
662
  "What you enter here will be copied verbatim to the header of the home page "
663
  "if you have Front page displays your latest posts selected in Settings, "
@@ -666,552 +710,621 @@ msgid ""
666
  "headers you want here, even references to stylesheets."
667
  msgstr ""
668
 
669
- #: aioseop_class.php:287
670
  msgid "A preview of what this page might look like in search engine results."
671
  msgstr ""
672
 
673
- #: aioseop_class.php:288
674
  msgid "A custom title that shows up in the title tag for this page."
675
  msgstr ""
676
 
677
- #: aioseop_class.php:289
678
  msgid ""
679
  "The META description for this page. This will override any autogenerated "
680
  "descriptions."
681
  msgstr ""
682
 
683
- #: aioseop_class.php:290
684
  msgid ""
685
  "A comma separated list of your most important keywords for this page that "
686
  "will be written as META keywords."
687
  msgstr ""
688
 
689
- #: aioseop_class.php:291
690
  msgid "Override the canonical URLs for this post."
691
  msgstr ""
692
 
693
- #: aioseop_class.php:292
694
  msgid "Check this box to ask search engines not to index this page."
695
  msgstr ""
696
 
697
- #: aioseop_class.php:293
698
  msgid ""
699
  "Check this box to ask search engines not to follow links from this page."
700
  msgstr ""
701
 
702
- #: aioseop_class.php:294
703
  msgid ""
704
  "Check this box to ask search engines not to use descriptions from the Open "
705
  "Directory Project for this page."
706
  msgstr ""
707
 
708
- #: aioseop_class.php:295
709
  msgid ""
710
  "Check this box to ask Yahoo! not to use descriptions from the Yahoo! "
711
  "directory for this page."
712
  msgstr ""
713
 
714
- #: aioseop_class.php:296
715
  msgid "Set the title attribute for menu links."
716
  msgstr ""
717
 
718
- #: aioseop_class.php:297
719
  msgid "Set the label for this page menu item."
720
  msgstr ""
721
 
722
- #: aioseop_class.php:298
723
  msgid "Don't display this page in the sitemap."
724
  msgstr ""
725
 
726
- #: aioseop_class.php:299
727
  msgid "Disable SEO on this page."
728
  msgstr ""
729
 
730
- #: aioseop_class.php:300
731
  msgid "Disable Google Analytics on this page."
732
  msgstr ""
733
 
734
- #: aioseop_class.php:305
 
 
 
 
735
  msgid "I enjoy this plugin and have made a donation:"
736
  msgstr ""
737
 
738
- #: aioseop_class.php:307
739
  msgid "Home Title:"
740
  msgstr ""
741
 
742
- #: aioseop_class.php:310
743
  msgid "Home Description:"
744
  msgstr ""
745
 
746
- #: aioseop_class.php:313
747
  msgid "Use Keywords:"
748
  msgstr ""
749
 
750
- #: aioseop_class.php:316 aioseop_class.php:347 aioseop_class.php:355
751
- #: aioseop_class.php:362 aioseop_class.php:417 aioseop_class.php:423
752
- #: aioseop_class.php:488 aioseop_class.php:499 aioseop_class.php:520
753
- #: aioseop_performance.php:45
754
  msgid "Enabled"
755
  msgstr ""
756
 
757
- #: aioseop_class.php:317 aioseop_class.php:348 aioseop_class.php:356
758
- #: aioseop_class.php:363 aioseop_class.php:418 aioseop_class.php:424
759
- #: aioseop_class.php:489 aioseop_class.php:500 aioseop_class.php:521
760
- #: aioseop_performance.php:46
761
  msgid "Disabled"
762
  msgstr ""
763
 
764
- #: aioseop_class.php:320
765
  msgid "Home Keywords (comma separated):"
766
  msgstr ""
767
 
768
- #: aioseop_class.php:324
 
 
 
 
769
  msgid "Canonical URLs:"
770
  msgstr ""
771
 
772
- #: aioseop_class.php:327
773
  msgid "No Pagination for Canonical URLs:"
774
  msgstr ""
775
 
776
- #: aioseop_class.php:331
777
  msgid "Enable Custom Canonical URLs:"
778
  msgstr ""
779
 
780
- #: aioseop_class.php:335
781
  msgid "Set Protocol For Canonical URLs:"
782
  msgstr ""
783
 
784
- #: aioseop_class.php:338
785
  msgid "Auto"
786
  msgstr ""
787
 
788
- #: aioseop_class.php:339
789
  msgid "HTTP"
790
  msgstr ""
791
 
792
- #: aioseop_class.php:340
793
  msgid "HTTPS"
794
  msgstr ""
795
 
796
- #: aioseop_class.php:344
797
  msgid "Rewrite Titles:"
798
  msgstr ""
799
 
800
- #: aioseop_class.php:351 aioseop_performance.php:43
801
  msgid "Force Rewrites:"
802
  msgstr ""
803
 
804
- #: aioseop_class.php:359
805
  msgid "Use Original Title:"
806
  msgstr ""
807
 
808
- #: aioseop_class.php:366
809
  msgid "Capitalize Titles:"
810
  msgstr ""
811
 
812
- #: aioseop_class.php:368
813
  msgid "Capitalize Category Titles:"
814
  msgstr ""
815
 
816
- #: aioseop_class.php:370
 
 
 
 
817
  msgid "Page Title Format:"
818
  msgstr ""
819
 
820
- #: aioseop_class.php:374
821
  msgid "Post Title Format:"
822
  msgstr ""
823
 
824
- #: aioseop_class.php:378
825
  msgid "Category Title Format:"
826
  msgstr ""
827
 
828
- #: aioseop_class.php:382
829
  msgid "Archive Title Format:"
830
  msgstr ""
831
 
832
- #: aioseop_class.php:386
833
  msgid "Date Archive Title Format:"
834
  msgstr ""
835
 
836
- #: aioseop_class.php:390
837
  msgid "Author Archive Title Format:"
838
  msgstr ""
839
 
840
- #: aioseop_class.php:394
841
  msgid "Tag Title Format:"
842
  msgstr ""
843
 
844
- #: aioseop_class.php:398
845
  msgid "Search Title Format:"
846
  msgstr ""
847
 
848
- #: aioseop_class.php:402
849
  msgid "Description Format"
850
  msgstr ""
851
 
852
- #: aioseop_class.php:406
853
  msgid "404 Title Format:"
854
  msgstr ""
855
 
856
- #: aioseop_class.php:410
857
  msgid "Paged Format:"
858
  msgstr ""
859
 
860
- #: aioseop_class.php:414
861
  msgid "SEO for Custom Post Types:"
862
  msgstr ""
863
 
864
- #: aioseop_class.php:421
865
- msgid "Enable Advanced Options:"
866
  msgstr ""
867
 
868
- #: aioseop_class.php:429
869
- msgid "SEO on only these post types:"
870
  msgstr ""
871
 
872
- #: aioseop_class.php:434
 
 
 
 
873
  msgid "Default to NOINDEX:"
874
  msgstr ""
875
 
876
- #: aioseop_class.php:439
877
  msgid "Default to NOFOLLOW:"
878
  msgstr ""
879
 
880
- #: aioseop_class.php:444
881
  msgid "Default to NOODP:"
882
  msgstr ""
883
 
884
- #: aioseop_class.php:449
885
  msgid "Default to NOYDIR:"
886
  msgstr ""
887
 
888
- #: aioseop_class.php:454
889
  msgid "Custom titles:"
890
  msgstr ""
891
 
892
- #: aioseop_class.php:459
893
  msgid "Show Column Labels for Custom Post Types:"
894
  msgstr ""
895
 
896
- #: aioseop_class.php:462
897
  msgid "Display Menu In Admin Bar:"
898
  msgstr ""
899
 
900
- #: aioseop_class.php:465
901
  msgid "Display Menu At The Top:"
902
  msgstr ""
903
 
904
- #: aioseop_class.php:468
905
  msgid "Google Webmaster Tools:"
906
  msgstr ""
907
 
908
- #: aioseop_class.php:471
909
  msgid "Bing Webmaster Center:"
910
  msgstr ""
911
 
912
- #: aioseop_class.php:474
913
  msgid "Pinterest Site Verification:"
914
  msgstr ""
915
 
916
- #: aioseop_class.php:477
917
  msgid "Google Plus Default Profile:"
918
  msgstr ""
919
 
920
- #: aioseop_class.php:480
921
  msgid "Disable Google Plus Profile:"
922
  msgstr ""
923
 
924
- #: aioseop_class.php:483
925
  msgid "Display Sitelinks Search Box:"
926
  msgstr ""
927
 
928
- #: aioseop_class.php:486
 
 
 
 
 
 
 
 
929
  msgid "Advanced Authorship Options:"
930
  msgstr ""
931
 
932
- #: aioseop_class.php:493
933
  msgid "Display Google Authorship:"
934
  msgstr ""
935
 
936
- #: aioseop_class.php:497
937
  msgid "Display Publisher Meta on Front Page:"
938
  msgstr ""
939
 
940
- #: aioseop_class.php:504
941
  msgid "Specify Publisher URL:"
942
  msgstr ""
943
 
944
- #: aioseop_class.php:507 aioseop_class.php:1937
945
- msgid "Connect With Google Analytics"
946
- msgstr ""
947
-
948
- #: aioseop_class.php:510
949
  msgid "Google Analytics ID:"
950
  msgstr ""
951
 
952
- #: aioseop_class.php:513
953
  msgid "Use Universal Analytics:"
954
  msgstr ""
955
 
956
- #: aioseop_class.php:517
957
  msgid "Advanced Analytics Options:"
958
  msgstr ""
959
 
960
- #: aioseop_class.php:524
961
  msgid "Tracking Domain:"
962
  msgstr ""
963
 
964
- #: aioseop_class.php:528
965
  msgid "Track Multiple Domains:"
966
  msgstr ""
967
 
968
- #: aioseop_class.php:532
969
  msgid "Additional Domains:"
970
  msgstr ""
971
 
972
- #: aioseop_class.php:536
973
  msgid "Anonymize IP Addresses:"
974
  msgstr ""
975
 
976
- #: aioseop_class.php:540
977
  msgid "Display Advertiser Tracking:"
978
  msgstr ""
979
 
980
- #: aioseop_class.php:544
981
  msgid "Exclude Users From Tracking:"
982
  msgstr ""
983
 
984
- #: aioseop_class.php:548
985
  msgid "Track Outbound Links:"
986
  msgstr ""
987
 
988
- #: aioseop_class.php:552
989
  msgid "Enhanced Link Attribution:"
990
  msgstr ""
991
 
992
- #: aioseop_class.php:556
993
  msgid "Enhanced Ecommerce:"
994
  msgstr ""
995
 
996
- #: aioseop_class.php:560
997
  msgid "Use Categories for META keywords:"
998
  msgstr ""
999
 
1000
- #: aioseop_class.php:564
1001
  msgid "Use Tags for META keywords:"
1002
  msgstr ""
1003
 
1004
- #: aioseop_class.php:568
1005
- msgid "Dynamically Generate Keywords for Posts Page:"
1006
  msgstr ""
1007
 
1008
- #: aioseop_class.php:572
1009
  msgid "Use noindex for Categories:"
1010
  msgstr ""
1011
 
1012
- #: aioseop_class.php:575
1013
  msgid "Use noindex for Date Archives:"
1014
  msgstr ""
1015
 
1016
- #: aioseop_class.php:578
1017
  msgid "Use noindex for Author Archives:"
1018
  msgstr ""
1019
 
1020
- #: aioseop_class.php:581
1021
  msgid "Use noindex for Tag Archives:"
1022
  msgstr ""
1023
 
1024
- #: aioseop_class.php:584
1025
  msgid "Use noindex for the Search page:"
1026
  msgstr ""
1027
 
1028
- #: aioseop_class.php:587
 
 
 
 
 
 
 
 
1029
  msgid "Use noindex for paginated pages/posts:"
1030
  msgstr ""
1031
 
1032
- #: aioseop_class.php:590
1033
  msgid "Use nofollow for paginated pages/posts:"
1034
  msgstr ""
1035
 
1036
- #: aioseop_class.php:593
1037
  msgid "Exclude site from the Open Directory Project:"
1038
  msgstr ""
1039
 
1040
- #: aioseop_class.php:596
1041
  msgid "Exclude site from Yahoo! Directory:"
1042
  msgstr ""
1043
 
1044
- #: aioseop_class.php:599
 
 
 
 
1045
  msgid "Autogenerate Descriptions:"
1046
  msgstr ""
1047
 
1048
- #: aioseop_class.php:602
1049
  msgid "Run Shortcodes In Autogenerated Descriptions:"
1050
  msgstr ""
1051
 
1052
- #: aioseop_class.php:606
1053
  msgid "Remove Descriptions For Paginated Pages:"
1054
  msgstr ""
1055
 
1056
- #: aioseop_class.php:609
1057
  msgid "Never Shorten Long Descriptions:"
1058
  msgstr ""
1059
 
1060
- #: aioseop_class.php:612
1061
  msgid "Use Schema.org Markup"
1062
  msgstr ""
1063
 
1064
- #: aioseop_class.php:615
1065
  msgid "Unprotect Post Meta Fields:"
1066
  msgstr ""
1067
 
1068
- #: aioseop_class.php:618
1069
  msgid "Exclude Pages:"
1070
  msgstr ""
1071
 
1072
- #: aioseop_class.php:621
1073
  msgid "Additional Post Headers:"
1074
  msgstr ""
1075
 
1076
- #: aioseop_class.php:624
1077
  msgid "Additional Page Headers:"
1078
  msgstr ""
1079
 
1080
- #: aioseop_class.php:627
1081
  msgid "Additional Front Page Headers:"
1082
  msgstr ""
1083
 
1084
- #: aioseop_class.php:630
1085
  msgid "Additional Blog Page Headers:"
1086
  msgstr ""
1087
 
1088
- #: aioseop_class.php:633
1089
  msgid "Log important events:"
1090
  msgstr ""
1091
 
1092
- #: aioseop_class.php:646
1093
  msgid "Upgrade to All in One SEO Pack Pro Version"
1094
  msgstr ""
1095
 
1096
- #: aioseop_class.php:648
 
 
 
 
1097
  msgid "Preview Snippet"
1098
  msgstr ""
1099
 
1100
- #: aioseop_class.php:661 aioseop_opengraph.php:186
1101
  msgid "Title"
1102
  msgstr ""
1103
 
1104
- #: aioseop_class.php:662 aioseop_opengraph.php:188
1105
  msgid "Description"
1106
  msgstr ""
1107
 
1108
- #: aioseop_class.php:663
1109
  msgid "Keywords (comma separated)"
1110
  msgstr ""
1111
 
1112
- #: aioseop_class.php:664
1113
  msgid "Custom Canonical URL"
1114
  msgstr ""
1115
 
1116
- #: aioseop_class.php:665
1117
  msgid "Robots Meta NOINDEX"
1118
  msgstr ""
1119
 
1120
- #: aioseop_class.php:666
1121
  msgid "Robots Meta NOFOLLOW"
1122
  msgstr ""
1123
 
1124
- #: aioseop_class.php:667
1125
  msgid "Robots Meta NOODP"
1126
  msgstr ""
1127
 
1128
- #: aioseop_class.php:668
1129
  msgid "Robots Meta NOYDIR"
1130
  msgstr ""
1131
 
1132
- #: aioseop_class.php:669
1133
  msgid "Title Attribute"
1134
  msgstr ""
1135
 
1136
- #: aioseop_class.php:670
1137
  msgid "Menu Label"
1138
  msgstr ""
1139
 
1140
- #: aioseop_class.php:671
1141
  msgid "Exclude From Sitemap"
1142
  msgstr ""
1143
 
1144
- #: aioseop_class.php:672
1145
  msgid "Disable on this page/post"
1146
  msgstr ""
1147
 
1148
- #: aioseop_class.php:673
1149
  msgid "Disable Google Analytics"
1150
  msgstr ""
1151
 
1152
- #: aioseop_class.php:688 aioseop_opengraph.php:227
1153
  msgid "Home Page Settings"
1154
  msgstr ""
1155
 
1156
- #: aioseop_class.php:693
1157
  msgid "Keyword Settings"
1158
  msgstr ""
1159
 
1160
- #: aioseop_class.php:698
1161
  msgid "Title Settings"
1162
  msgstr ""
1163
 
1164
- #: aioseop_class.php:704
1165
  msgid "Custom Post Type Settings"
1166
  msgstr ""
1167
 
1168
- #: aioseop_class.php:709
1169
  msgid "Display Settings"
1170
  msgstr ""
1171
 
1172
- #: aioseop_class.php:714
1173
  msgid "Webmaster Verification"
1174
  msgstr ""
1175
 
1176
- #: aioseop_class.php:719
1177
  msgid "Google Settings"
1178
  msgstr ""
1179
 
1180
- #: aioseop_class.php:726
1181
  msgid "Noindex Settings"
1182
  msgstr ""
1183
 
1184
- #: aioseop_class.php:731
1185
  msgid "Advanced Settings"
1186
  msgstr ""
1187
 
1188
- #: aioseop_class.php:1009
1189
  msgid "Front Page"
1190
  msgstr ""
1191
 
1192
- #: aioseop_class.php:1009
1193
  msgid "Everywhere Else"
1194
  msgstr ""
1195
 
1196
- #: aioseop_class.php:1017
1197
  msgid "Title Format:"
1198
  msgstr ""
1199
 
1200
- #: aioseop_class.php:1053
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1201
  msgid "Welcome to Version %s!"
1202
  msgstr ""
1203
 
1204
- #: aioseop_class.php:1054
1205
  msgid ""
1206
- "Thank you for running the latest and greatest All in One SEO Pack ever! "
1207
  "Please review your settings, as we're always adding new features for you!"
1208
  msgstr ""
1209
 
1210
- #: aioseop_class.php:1060
1211
  msgid "Review Your Settings"
1212
  msgstr ""
1213
 
1214
- #: aioseop_class.php:1061
 
 
 
 
 
 
 
 
 
 
 
 
 
1215
  msgid ""
1216
  "Thank you for running the latest and greatest All in One SEO Pack ever! New "
1217
  "since 2.2: Control who accesses your site with the new Robots.txt Editor and "
@@ -1219,420 +1332,679 @@ msgid ""
1219
  "review your settings, we have added some new ones!"
1220
  msgstr ""
1221
 
1222
- #: aioseop_class.php:1080
1223
  msgid "Reset General Settings to Defaults"
1224
  msgstr ""
1225
 
1226
- #: aioseop_class.php:1081
1227
  msgid "Reset ALL Settings to Defaults"
1228
  msgstr ""
1229
 
1230
- #: aioseop_class.php:1142
1231
  msgid "Default - noindex"
1232
  msgstr ""
1233
 
1234
- #: aioseop_class.php:1142
1235
  msgid "index"
1236
  msgstr ""
1237
 
1238
- #: aioseop_class.php:1142
1239
  msgid "noindex"
1240
  msgstr ""
1241
 
1242
- #: aioseop_class.php:1146
1243
  msgid "Default - nofollow"
1244
  msgstr ""
1245
 
1246
- #: aioseop_class.php:1146
1247
  msgid "follow"
1248
  msgstr ""
1249
 
1250
- #: aioseop_class.php:1146
1251
  msgid "nofollow"
1252
  msgstr ""
1253
 
1254
- #: aioseop_class.php:1150
1255
  msgid "Default - noodp"
1256
  msgstr ""
1257
 
1258
- #: aioseop_class.php:1150
1259
  msgid "odp"
1260
  msgstr ""
1261
 
1262
- #: aioseop_class.php:1150
1263
  msgid "noodp"
1264
  msgstr ""
1265
 
1266
- #: aioseop_class.php:1154
1267
  msgid "Default - noydir"
1268
  msgstr ""
1269
 
1270
- #: aioseop_class.php:1154
1271
  msgid "ydir"
1272
  msgstr ""
1273
 
1274
- #: aioseop_class.php:1154
1275
  msgid "noydir"
1276
  msgstr ""
1277
 
1278
- #: aioseop_class.php:1229
 
 
 
 
1279
  msgid "Reset Dismissed Notices"
1280
  msgstr ""
1281
 
1282
- #: aioseop_class.php:1233
1283
  msgid "Pro Version"
1284
  msgstr ""
1285
 
1286
- #: aioseop_class.php:1235
1287
  msgid "UPGRADE TO PRO VERSION"
1288
  msgstr ""
1289
 
1290
- #: aioseop_class.php:1250
1291
  msgid "Donate"
1292
  msgstr ""
1293
 
1294
- #: aioseop_class.php:1252
1295
  msgid "Donate with Paypal"
1296
  msgstr ""
1297
 
1298
- #: aioseop_class.php:1254
1299
  msgid "My Amazon Wish List"
1300
  msgstr ""
1301
 
1302
- #: aioseop_class.php:1255
1303
  msgid "Follow us on Facebook"
1304
  msgstr ""
1305
 
1306
- #: aioseop_class.php:1256
1307
  msgid "Follow us on Twitter"
1308
  msgstr ""
1309
 
1310
- #: aioseop_class.php:1267
1311
  msgid "Join our mailing list for tips, tricks, and WordPress secrets."
1312
  msgstr ""
1313
 
1314
- #: aioseop_class.php:1268
1315
- msgid ""
1316
- "Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress "
1317
- "($39 value)."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1318
  msgstr ""
1319
 
1320
- #: aioseop_class.php:1277
1321
- msgid "Read the All in One SEO Pack user guide"
1322
  msgstr ""
1323
 
1324
- #: aioseop_class.php:1278
1325
- msgid "All in One SEO Pro Plugin Support Forum"
1326
  msgstr ""
1327
 
1328
- #: aioseop_class.php:1279
1329
- msgid "Access our Premium Support Forums"
1330
  msgstr ""
1331
 
1332
- #: aioseop_class.php:1280
1333
- msgid "All in One SEO Pro Plugin Changelog"
1334
  msgstr ""
1335
 
1336
- #: aioseop_class.php:1281
1337
- msgid "View the Changelog"
1338
  msgstr ""
1339
 
1340
- #: aioseop_class.php:1282
1341
- msgid "Watch video tutorials"
 
1342
  msgstr ""
1343
 
1344
- #: aioseop_class.php:1283
1345
- msgid "Getting started? Read the Beginners Guide"
1346
  msgstr ""
1347
 
1348
- #: aioseop_class.php:1677
1349
- msgid ""
1350
- "Debug Warning: All in One SEO Pack meta data was included again from %s "
1351
- "filter. Called %s times!"
1352
  msgstr ""
1353
 
1354
- #: aioseop_class.php:1929
1355
- msgid "Disconnect From Google Analytics"
1356
  msgstr ""
1357
 
1358
- #: aioseop_class.php:1930
1359
- msgid "Remove Stored Credentials"
 
 
1360
  msgstr ""
1361
 
1362
- #: aioseop_class.php:1952 aioseop_class.php:1970 aioseop_class.php:2002
1363
- msgid "Google Analytics"
 
 
1364
  msgstr ""
1365
 
1366
- #: aioseop_class.php:3089
1367
- msgid "SEO"
 
 
1368
  msgstr ""
1369
 
1370
- #: aioseop_class.php:3096
1371
- msgid "Edit SEO"
 
1372
  msgstr ""
1373
 
1374
- #: aioseop_class.php:3103
1375
- msgid "Upgrade To Pro"
1376
  msgstr ""
1377
 
1378
- #: aioseop_class.php:3112
1379
- msgid "All in One SEO"
1380
  msgstr ""
1381
 
1382
- #: aioseop_class.php:3156
1383
- msgid "Thank you!"
1384
  msgstr ""
1385
 
1386
- #: aioseop_class.php:3157
1387
- msgid ""
1388
- "Thank you for your donation, it helps keep this plugin free and actively "
1389
- "developed!"
1390
  msgstr ""
1391
 
1392
- #: aioseop_class.php:3183
1393
- msgid "Join Our Mailing List"
1394
  msgstr ""
1395
 
1396
- #: aioseop_class.php:3185
1397
- msgid "Support"
1398
  msgstr ""
1399
 
1400
- #: aioseop_class.php:3185
1401
- msgid "Version"
1402
  msgstr ""
1403
 
1404
- #: aioseop_class.php:3208 aioseop_class.php:3220 aioseop_module_class.php:1195
1405
- #: aioseop_module_class.php:1385 aioseop_module_class.php:1580
1406
- msgid "Help"
1407
  msgstr ""
1408
 
1409
- #: aioseop_class.php:3232
1410
- msgid "Main Settings"
1411
  msgstr ""
1412
 
1413
- #: aioseop_feature_manager.php:14
1414
- msgid "Feature Manager"
1415
  msgstr ""
1416
 
1417
- #: aioseop_feature_manager.php:19
1418
- msgid "XML Sitemaps"
1419
  msgstr ""
1420
 
1421
- #: aioseop_feature_manager.php:20
1422
  msgid ""
1423
- "Create and manage your XML Sitemaps using this feature and submit your XML "
1424
- "Sitemap to Google, Bing/Yahoo and Ask.com."
 
1425
  msgstr ""
1426
 
1427
- #: aioseop_feature_manager.php:21 aioseop_opengraph.php:14
1428
- msgid "Social Meta"
 
1429
  msgstr ""
1430
 
1431
- #: aioseop_feature_manager.php:22
1432
- msgid ""
1433
- "Activate this feature to add Social Meta data to your site to deliver closer "
1434
- "integration between your website/blog and Facebook, Twitter, and Google+."
1435
  msgstr ""
1436
 
1437
- #: aioseop_feature_manager.php:23 aioseop_robots.php:12 aioseop_robots.php:91
1438
- msgid "Robots.txt"
1439
  msgstr ""
1440
 
1441
- #: aioseop_feature_manager.php:24
1442
  msgid ""
1443
- "Generate and validate your robots.txt file to guide search engines through "
1444
- "your site."
1445
  msgstr ""
1446
 
1447
- #: aioseop_feature_manager.php:25 aioseop_file_editor.php:12
1448
- msgid "File Editor"
1449
  msgstr ""
1450
 
1451
- #: aioseop_feature_manager.php:26
1452
- msgid ""
1453
- "Edit your robots.txt file and your .htaccess file to fine-tune your site."
1454
  msgstr ""
1455
 
1456
- #: aioseop_feature_manager.php:27 aioseop_performance.php:14
1457
- msgid "Performance"
1458
  msgstr ""
1459
 
1460
- #: aioseop_feature_manager.php:28
1461
- msgid "Optimize performance related to SEO and check your system status."
1462
  msgstr ""
1463
 
1464
- #: aioseop_feature_manager.php:30 aioseop_importer_exporter.php:12
1465
- msgid "Importer & Exporter"
1466
  msgstr ""
1467
 
1468
- #: aioseop_feature_manager.php:31
1469
- msgid "Exports and imports your All in One SEO Pack plugin settings."
1470
  msgstr ""
1471
 
1472
- #: aioseop_feature_manager.php:32
1473
- msgid "Coming Soon..."
1474
  msgstr ""
1475
 
1476
- #: aioseop_feature_manager.php:33
1477
- msgid "Video Sitemap"
1478
  msgstr ""
1479
 
1480
- #: aioseop_feature_manager.php:83
1481
- msgid "Update Features"
1482
  msgstr ""
1483
 
1484
- #: aioseop_feature_manager.php:85
1485
- msgid "Reset Features"
1486
  msgstr ""
1487
 
1488
- #: aioseop_file_editor.php:22 aioseop_robots.php:21
1489
- msgid "Robots.txt editor"
1490
  msgstr ""
1491
 
1492
- #: aioseop_file_editor.php:23
1493
- msgid ".htaccess editor"
1494
  msgstr ""
1495
 
1496
- #: aioseop_file_editor.php:26
1497
- msgid "Edit Robots.txt"
1498
  msgstr ""
1499
 
1500
- #: aioseop_file_editor.php:28 aioseop_file_editor.php:47
1501
- msgid "Edit .htaccess"
1502
  msgstr ""
1503
 
1504
- #: aioseop_file_editor.php:36
1505
- msgid "robots.txt"
1506
  msgstr ""
1507
 
1508
- #: aioseop_file_editor.php:37
1509
- msgid ".htaccess"
1510
  msgstr ""
1511
 
1512
- #: aioseop_file_editor.php:42
1513
- msgid "Edit robots.txt"
1514
  msgstr ""
1515
 
1516
- #: aioseop_file_editor.php:70
1517
- msgid "Update robots.txt"
 
 
1518
  msgstr ""
1519
 
1520
- #: aioseop_file_editor.php:72
1521
- msgid "Update .htaccess"
1522
  msgstr ""
1523
 
1524
- #: aioseop_functions.php:145
1525
- msgid "SEO Title"
 
 
1526
  msgstr ""
1527
 
1528
- #: aioseop_functions.php:146
1529
- msgid "SEO Description"
 
1530
  msgstr ""
1531
 
1532
- #: aioseop_functions.php:148
1533
- msgid "SEO Keywords"
 
 
1534
  msgstr ""
1535
 
1536
- #: aioseop_functions.php:185 aioseop_functions.php:262
1537
- #: aioseop_functions.php:527
1538
- msgid "Edit"
1539
  msgstr ""
1540
 
1541
- #: aioseop_functions.php:185
1542
- msgid "Post"
 
1543
  msgstr ""
1544
 
1545
- #: aioseop_functions.php:185
1546
- msgid "Save"
 
1547
  msgstr ""
1548
 
1549
- #: aioseop_functions.php:185
1550
- msgid "Cancel"
1551
  msgstr ""
1552
 
1553
- #: aioseop_functions.php:186
1554
- msgid "Please wait..."
1555
  msgstr ""
1556
 
1557
- #: aioseop_functions.php:186
1558
- msgid "Slug may not be empty!"
1559
  msgstr ""
1560
 
1561
- #: aioseop_functions.php:187
1562
- msgid "Revisions"
1563
  msgstr ""
1564
 
1565
- #: aioseop_functions.php:187
1566
- msgid "Insert time"
 
1567
  msgstr ""
1568
 
1569
- #: aioseop_functions.php:258 aioseop_performance.php:155
1570
- #: aioseop_performance.php:157 aioseop_performance.php:159
1571
- #: aioseop_performance.php:172
1572
- msgid "No"
1573
  msgstr ""
1574
 
1575
- #: aioseop_functions.php:277
1576
- msgid "Unauthorized access; try reloading the page."
 
 
1577
  msgstr ""
1578
 
1579
- #: aioseop_functions.php:336
1580
- msgid "Row %s not found; no rows were deleted."
1581
  msgstr ""
1582
 
1583
- #: aioseop_functions.php:401
1584
- msgid "Duplicate %s Meta"
1585
  msgstr ""
1586
 
1587
- #: aioseop_functions.php:403
1588
- msgid "No duplicate meta tags found."
1589
  msgstr ""
1590
 
1591
- #: aioseop_functions.php:406
1592
- msgid "What Does This Mean?"
1593
  msgstr ""
1594
 
1595
- #: aioseop_functions.php:407
1596
- msgid ""
1597
- "All in One SEO Pack has detected that a plugin(s) or theme is also "
1598
- "outputting social meta tags on your site.  You can view this social meta in "
1599
- "the source code of your site (check your browser help for instructions on "
1600
- "how to view source code)."
1601
  msgstr ""
1602
 
1603
- #: aioseop_functions.php:408
1604
- msgid ""
1605
- "You may prefer to use the social meta tags that are being output by the "
1606
- "other plugin(s) or theme.  If so, then you should deactivate this Social "
1607
- "Meta feature in All in One SEO Pack Feature Manager."
1608
  msgstr ""
1609
 
1610
- #: aioseop_functions.php:409
1611
- msgid ""
1612
- "You should avoid duplicate social meta tags.  You can use these free tools "
1613
- "from Facebook, Google and Twitter to validate your social meta and check for "
1614
- "errors:"
1615
  msgstr ""
1616
 
1617
- #: aioseop_functions.php:414
1618
- msgid ""
1619
- "Please refer to the document for each tool for help in using these to debug "
1620
- "your social meta."
1621
  msgstr ""
1622
 
1623
- #: aioseop_functions.php:638
1624
- msgid "Google+"
1625
  msgstr ""
1626
 
1627
- #: aioseop_functions.php:643
1628
- msgid "Twitter"
1629
  msgstr ""
1630
 
1631
- #: aioseop_functions.php:645
1632
- msgid "Facebook"
1633
  msgstr ""
1634
 
1635
- #: aioseop_importer_exporter.php:17
1636
  msgid ""
1637
  "Select a valid All in One SEO Pack ini file and click 'Import' to import "
1638
  "options from a previous state or install of All in One SEO Pack.<br /><a "
@@ -1640,14 +2012,14 @@ msgid ""
1640
  "target='_blank'>Click here for documentation on this setting</a>"
1641
  msgstr ""
1642
 
1643
- #: aioseop_importer_exporter.php:18
1644
  msgid ""
1645
  "You may choose to export settings from active modules, and content from post "
1646
  "data.<br /><a href='http://semperplugins.com/documentation/importer-exporter-"
1647
  "module/' target='_blank'>Click here for documentation on this setting</a>"
1648
  msgstr ""
1649
 
1650
- #: aioseop_importer_exporter.php:19
1651
  msgid ""
1652
  "Select which Post Types you want to export your All in One SEO Pack meta "
1653
  "data for.<br /><a href='http://semperplugins.com/documentation/importer-"
@@ -1655,820 +2027,922 @@ msgid ""
1655
  "setting</a>"
1656
  msgstr ""
1657
 
1658
- #: aioseop_importer_exporter.php:23 aioseop_importer_exporter.php:57
 
1659
  msgid "Import"
1660
  msgstr ""
1661
 
1662
- #: aioseop_importer_exporter.php:24
1663
  msgid "Export Settings"
1664
  msgstr ""
1665
 
1666
- #: aioseop_importer_exporter.php:28
1667
  msgid "Export Post Types:"
1668
  msgstr ""
1669
 
1670
- #: aioseop_importer_exporter.php:32
1671
  msgid ""
1672
  "Note: If General Settings is checked, the General Settings, the Feature "
1673
  "Manager settings, and the following currently active modules will have their "
1674
  "settings data exported:"
1675
  msgstr ""
1676
 
1677
- #: aioseop_importer_exporter.php:60
1678
  msgid "Export"
1679
  msgstr ""
1680
 
1681
- #: aioseop_importer_exporter.php:80
1682
  msgid "There are no other modules currently loaded!"
1683
  msgstr ""
1684
 
1685
- #: aioseop_importer_exporter.php:82
1686
  msgid ""
1687
  "You may change this by activating or deactivating modules in the Feature "
1688
  "Manager."
1689
  msgstr ""
1690
 
1691
- #: aioseop_importer_exporter.php:247
1692
  msgid "<b>Warning:</b> Line not matched: <b>\"%s\"</b>, On Line: <b>%s</b>"
1693
  msgstr ""
1694
 
1695
- #: aioseop_importer_exporter.php:270
1696
  msgid "<b>Warning:</b> This following post could not be found: <b>\"%s\"</b>"
1697
  msgstr ""
1698
 
1699
- #: aioseop_importer_exporter.php:298
1700
  msgid "Settings export file for All in One SEO Pack"
1701
  msgstr ""
1702
 
1703
- #: aioseop_module_class.php:959
1704
- msgid "Click here for documentation on this setting"
1705
- msgstr ""
1706
-
1707
- #: aioseop_module_class.php:1332
1708
- msgid " characters. Most search engines use a maximum of %s chars for the %s."
1709
- msgstr ""
1710
-
1711
- #: aioseop_module_class.php:1358
1712
- msgid "Click for Help!"
1713
- msgstr ""
1714
-
1715
- #: aioseop_module_class.php:1503 aioseop_sitemap.php:494
1716
- msgid ""
1717
- "Security Check - If you receive this in error, log out and back in to "
1718
- "WordPress"
1719
- msgstr ""
1720
-
1721
- #: aioseop_module_class.php:1505
1722
- msgid "Options Reset."
1723
- msgstr ""
1724
-
1725
- #: aioseop_module_class.php:1514
1726
- msgid "All in One SEO Options Updated."
1727
- msgstr ""
1728
-
1729
- #: aioseop_module_class.php:1560
1730
- msgid "Update Options"
1731
- msgstr ""
1732
-
1733
- #: aioseop_opengraph.php:19
1734
  msgid "Activity"
1735
  msgstr ""
1736
 
1737
- #: aioseop_opengraph.php:20
1738
  msgid "Sport"
1739
  msgstr ""
1740
 
1741
- #: aioseop_opengraph.php:23
1742
  msgid "Bar"
1743
  msgstr ""
1744
 
1745
- #: aioseop_opengraph.php:24
1746
  msgid "Company"
1747
  msgstr ""
1748
 
1749
- #: aioseop_opengraph.php:25
1750
  msgid "Cafe"
1751
  msgstr ""
1752
 
1753
- #: aioseop_opengraph.php:26
1754
  msgid "Hotel"
1755
  msgstr ""
1756
 
1757
- #: aioseop_opengraph.php:27
1758
  msgid "Restaurant"
1759
  msgstr ""
1760
 
1761
- #: aioseop_opengraph.php:30
1762
  msgid "Cause"
1763
  msgstr ""
1764
 
1765
- #: aioseop_opengraph.php:31
1766
  msgid "Sports League"
1767
  msgstr ""
1768
 
1769
- #: aioseop_opengraph.php:32
1770
  msgid "Sports Team"
1771
  msgstr ""
1772
 
1773
- #: aioseop_opengraph.php:35
1774
  msgid "Band"
1775
  msgstr ""
1776
 
1777
- #: aioseop_opengraph.php:36
1778
  msgid "Government"
1779
  msgstr ""
1780
 
1781
- #: aioseop_opengraph.php:37
1782
  msgid "Non Profit"
1783
  msgstr ""
1784
 
1785
- #: aioseop_opengraph.php:38
1786
  msgid "School"
1787
  msgstr ""
1788
 
1789
- #: aioseop_opengraph.php:39
1790
  msgid "University"
1791
  msgstr ""
1792
 
1793
- #: aioseop_opengraph.php:42
1794
  msgid "Actor"
1795
  msgstr ""
1796
 
1797
- #: aioseop_opengraph.php:43
1798
  msgid "Athlete"
1799
  msgstr ""
1800
 
1801
- #: aioseop_opengraph.php:44
1802
  msgid "Author"
1803
  msgstr ""
1804
 
1805
- #: aioseop_opengraph.php:45
1806
  msgid "Director"
1807
  msgstr ""
1808
 
1809
- #: aioseop_opengraph.php:46
1810
  msgid "Musician"
1811
  msgstr ""
1812
 
1813
- #: aioseop_opengraph.php:47
1814
  msgid "Politician"
1815
  msgstr ""
1816
 
1817
- #: aioseop_opengraph.php:48
1818
  msgid "Profile"
1819
  msgstr ""
1820
 
1821
- #: aioseop_opengraph.php:49
1822
  msgid "Public Figure"
1823
  msgstr ""
1824
 
1825
- #: aioseop_opengraph.php:52
1826
  msgid "City"
1827
  msgstr ""
1828
 
1829
- #: aioseop_opengraph.php:53
1830
  msgid "Country"
1831
  msgstr ""
1832
 
1833
- #: aioseop_opengraph.php:54
1834
  msgid "Landmark"
1835
  msgstr ""
1836
 
1837
- #: aioseop_opengraph.php:55
1838
  msgid "State Province"
1839
  msgstr ""
1840
 
1841
- #: aioseop_opengraph.php:58
1842
  msgid "Album"
1843
  msgstr ""
1844
 
1845
- #: aioseop_opengraph.php:59
1846
  msgid "Book"
1847
  msgstr ""
1848
 
1849
- #: aioseop_opengraph.php:60
1850
  msgid "Drink"
1851
  msgstr ""
1852
 
1853
- #: aioseop_opengraph.php:61
1854
  msgid "Food"
1855
  msgstr ""
1856
 
1857
- #: aioseop_opengraph.php:62
1858
  msgid "Game"
1859
  msgstr ""
1860
 
1861
- #: aioseop_opengraph.php:63
1862
  msgid "Movie"
1863
  msgstr ""
1864
 
1865
- #: aioseop_opengraph.php:64
1866
  msgid "Product"
1867
  msgstr ""
1868
 
1869
- #: aioseop_opengraph.php:65
1870
  msgid "Song"
1871
  msgstr ""
1872
 
1873
- #: aioseop_opengraph.php:66
1874
  msgid "TV Show"
1875
  msgstr ""
1876
 
1877
- #: aioseop_opengraph.php:67
1878
  msgid "Episode"
1879
  msgstr ""
1880
 
1881
- #: aioseop_opengraph.php:69 aioseop_opengraph.php:76
1882
  msgid "Article"
1883
  msgstr ""
1884
 
1885
- #: aioseop_opengraph.php:70 aioseop_opengraph.php:76
1886
  msgid "Blog"
1887
  msgstr ""
1888
 
1889
- #: aioseop_opengraph.php:71 aioseop_opengraph.php:76
1890
  msgid "Website"
1891
  msgstr ""
1892
 
1893
- #: aioseop_opengraph.php:79
1894
  msgid ""
1895
  "Checking this box will use the Home Title and Home Description set in All in "
1896
  "One SEO Pack, General Settings as the Open Graph title and description for "
1897
  "your home page."
1898
  msgstr ""
1899
 
1900
- #: aioseop_opengraph.php:80
1901
  msgid ""
1902
- "Your Profile Admin ID is your Facebook profile ID. You can find out your "
1903
- "Facebook ID using the lookup tool here: https://graph.facebook.com/"
1904
- "yourusername"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1905
  msgstr ""
1906
 
1907
- #: aioseop_opengraph.php:81
1908
  msgid "The Site Name is the name that is used to identify your website."
1909
  msgstr ""
1910
 
1911
- #: aioseop_opengraph.php:82
1912
  msgid "The Home Title is the Open Graph title for your home page."
1913
  msgstr ""
1914
 
1915
- #: aioseop_opengraph.php:83
1916
  msgid "The Home Description is the Open Graph description for your home page."
1917
  msgstr ""
1918
 
1919
- #: aioseop_opengraph.php:84
1920
  msgid "The Home Image is the Open Graph image for your home page."
1921
  msgstr ""
1922
 
1923
- #: aioseop_opengraph.php:85
1924
  msgid ""
1925
  "The Home Tag allows you to add a list of keywords that best describe your "
1926
  "home page content."
1927
  msgstr ""
1928
 
1929
- #: aioseop_opengraph.php:86
1930
  msgid ""
1931
  "Check this and your Open Graph descriptions will be auto-generated from your "
1932
  "content."
1933
  msgstr ""
1934
 
1935
- #: aioseop_opengraph.php:87
1936
  msgid ""
1937
  "This option lets you choose which image will be displayed by default for the "
1938
  "Open Graph image. You may override this on individual posts."
1939
  msgstr ""
1940
 
1941
- #: aioseop_opengraph.php:88
1942
  msgid ""
1943
  "This option lets you fall back to the default image if no image could be "
1944
  "found above."
1945
  msgstr ""
1946
 
1947
- #: aioseop_opengraph.php:89
1948
  msgid ""
1949
  "This option sets a default image that can be used for the Open Graph image. "
1950
  "You can upload an image, select an image from your Media Library or paste "
1951
  "the URL of an image here."
1952
  msgstr ""
1953
 
1954
- #: aioseop_opengraph.php:90
 
 
 
 
 
 
 
 
 
 
1955
  msgid ""
1956
  "Enter the name of a custom field (or multiple field names separated by "
1957
  "commas) to use that field to specify the Open Graph image on Pages or Posts."
1958
  msgstr ""
1959
 
1960
- #: aioseop_opengraph.php:91
1961
  msgid "Set the Open Graph type for your website as either a blog or a website."
1962
  msgstr ""
1963
 
1964
- #: aioseop_opengraph.php:92
1965
  msgid ""
1966
  "This option lets you select the Open Graph image that will be used for this "
1967
  "Page or Post, overriding the default settings."
1968
  msgstr ""
1969
 
1970
- #: aioseop_opengraph.php:93
1971
  msgid ""
1972
  "This option lets you upload an image to use as the Open Graph image for this "
1973
  "Page or Post."
1974
  msgstr ""
1975
 
1976
- #: aioseop_opengraph.php:94
1977
  msgid "Enter the width for your Open Graph image in pixels (i.e. 600)."
1978
  msgstr ""
1979
 
1980
- #: aioseop_opengraph.php:95
1981
  msgid "Enter the height for your Open Graph image in pixels (i.e. 600)."
1982
  msgstr ""
1983
 
1984
- #: aioseop_opengraph.php:96
1985
  msgid ""
1986
  "This option lets you specify a link to the Open Graph video used on this "
1987
  "Page or Post."
1988
  msgstr ""
1989
 
1990
- #: aioseop_opengraph.php:97
1991
  msgid "Enter the width for your Open Graph video in pixels (i.e. 600)."
1992
  msgstr ""
1993
 
1994
- #: aioseop_opengraph.php:98
1995
  msgid "Enter the height for your Open Graph video in pixels (i.e. 600)."
1996
  msgstr ""
1997
 
1998
- #: aioseop_opengraph.php:100 aioseop_opengraph.php:101
1999
  msgid "Select the default type of Twitter card to display."
2000
  msgstr ""
2001
 
2002
- #: aioseop_opengraph.php:102
2003
  msgid "Enter the Twitter username associated with your website here."
2004
  msgstr ""
2005
 
2006
- #: aioseop_opengraph.php:103
2007
  msgid ""
2008
  "Allows your authors to be identified by their Twitter usernames as content "
2009
  "creators on the Twitter cards for their posts."
2010
  msgstr ""
2011
 
2012
- #: aioseop_opengraph.php:104
2013
  msgid "Enter the name of your website here."
2014
  msgstr ""
2015
 
2016
- #: aioseop_opengraph.php:105
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2017
  msgid ""
2018
  "Select which Post Types you want to use All in One SEO Pack to set Open "
2019
  "Graph meta values for."
2020
  msgstr ""
2021
 
2022
- #: aioseop_opengraph.php:106
2023
  msgid "This is the Open Graph title of this Page or Post."
2024
  msgstr ""
2025
 
2026
- #: aioseop_opengraph.php:107
2027
  msgid "This is the Open Graph description of this Page or Post."
2028
  msgstr ""
2029
 
2030
- #: aioseop_opengraph.php:108
2031
  msgid ""
2032
  "Select the Open Graph type that best describes the content of this Page or "
2033
  "Post."
2034
  msgstr ""
2035
 
2036
- #: aioseop_opengraph.php:109
 
 
 
 
2037
  msgid ""
2038
  "This Open Graph meta allows you to add a general section name that best "
2039
  "describes this content."
2040
  msgstr ""
2041
 
2042
- #: aioseop_opengraph.php:110
2043
  msgid ""
2044
  "This Open Graph meta allows you to add a list of keywords that best describe "
2045
  "this content."
2046
  msgstr ""
2047
 
2048
- #: aioseop_opengraph.php:111
2049
  msgid "Link articles to the Facebook page associated with your website."
2050
  msgstr ""
2051
 
2052
- #: aioseop_opengraph.php:112
2053
  msgid ""
2054
  "Allows your authors to be identified by their Facebook pages as content "
2055
  "authors on the Opengraph meta for their articles."
2056
  msgstr ""
2057
 
2058
- #: aioseop_opengraph.php:139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2059
  msgid " characters. Open Graph allows up to a maximum of %s chars for the %s."
2060
  msgstr ""
2061
 
2062
- #: aioseop_opengraph.php:141
2063
  msgid "Scan Header"
2064
  msgstr ""
2065
 
2066
- #: aioseop_opengraph.php:142
2067
  msgid "Use AIOSEO Title and Description"
2068
  msgstr ""
2069
 
2070
- #: aioseop_opengraph.php:143
2071
- msgid "Profile Admins ID"
 
 
 
 
 
 
 
 
2072
  msgstr ""
2073
 
2074
- #: aioseop_opengraph.php:144
 
 
 
 
2075
  msgid "Site Name"
2076
  msgstr ""
2077
 
2078
- #: aioseop_opengraph.php:145
2079
  msgid "Home Title"
2080
  msgstr ""
2081
 
2082
- #: aioseop_opengraph.php:147
2083
  msgid "Home Description"
2084
  msgstr ""
2085
 
2086
- #: aioseop_opengraph.php:149
2087
  msgid "Home Image"
2088
  msgstr ""
2089
 
2090
- #: aioseop_opengraph.php:151
2091
  msgid "Home Article Tags"
2092
  msgstr ""
2093
 
2094
- #: aioseop_opengraph.php:153
2095
  msgid "Autogenerate OG Descriptions"
2096
  msgstr ""
2097
 
2098
- #: aioseop_opengraph.php:154
2099
  msgid "Select OG:Image Source"
2100
  msgstr ""
2101
 
2102
- #: aioseop_opengraph.php:154
2103
  msgid "Default Image"
2104
  msgstr ""
2105
 
2106
- #: aioseop_opengraph.php:154
2107
  msgid "Featured Image"
2108
  msgstr ""
2109
 
2110
- #: aioseop_opengraph.php:154
2111
  msgid "First Attached Image"
2112
  msgstr ""
2113
 
2114
- #: aioseop_opengraph.php:154
2115
  msgid "First Image In Content"
2116
  msgstr ""
2117
 
2118
- #: aioseop_opengraph.php:154
2119
  msgid "Image From Custom Field"
2120
  msgstr ""
2121
 
2122
- #: aioseop_opengraph.php:154
2123
  msgid "Post Author Image"
2124
  msgstr ""
2125
 
2126
- #: aioseop_opengraph.php:154
2127
  msgid "First Available Image"
2128
  msgstr ""
2129
 
2130
- #: aioseop_opengraph.php:155
2131
  msgid "Use Default If No Image Found"
2132
  msgstr ""
2133
 
2134
- #: aioseop_opengraph.php:156
2135
  msgid "Default OG:Image"
2136
  msgstr ""
2137
 
2138
- #: aioseop_opengraph.php:157
 
 
 
 
 
 
 
 
2139
  msgid "Use Custom Field For Image"
2140
  msgstr ""
2141
 
2142
- #: aioseop_opengraph.php:158 aioseop_opengraph.php:190
2143
  msgid "Facebook Object Type"
2144
  msgstr ""
2145
 
2146
- #: aioseop_opengraph.php:160
2147
  msgid "Image"
2148
  msgstr ""
2149
 
2150
- #: aioseop_opengraph.php:162
2151
  msgid "Custom Image"
2152
  msgstr ""
2153
 
2154
- #: aioseop_opengraph.php:164
2155
  msgid "Specify Image Width"
2156
  msgstr ""
2157
 
2158
- #: aioseop_opengraph.php:166
2159
  msgid "Specify Image Height"
2160
  msgstr ""
2161
 
2162
- #: aioseop_opengraph.php:168
2163
  msgid "Custom Video"
2164
  msgstr ""
2165
 
2166
- #: aioseop_opengraph.php:170
2167
  msgid "Specify Video Width"
2168
  msgstr ""
2169
 
2170
- #: aioseop_opengraph.php:172
2171
  msgid "Specify Video Height"
2172
  msgstr ""
2173
 
2174
- #: aioseop_opengraph.php:174
2175
  msgid "Default Twitter Card"
2176
  msgstr ""
2177
 
2178
- #: aioseop_opengraph.php:175 aioseop_opengraph.php:177
2179
  msgid "Summary"
2180
  msgstr ""
2181
 
2182
- #: aioseop_opengraph.php:175 aioseop_opengraph.php:177
2183
  msgid "Summary Large Image"
2184
  msgstr ""
2185
 
2186
- #: aioseop_opengraph.php:175 aioseop_opengraph.php:177
2187
- msgid "Photo"
2188
- msgstr ""
2189
-
2190
- #: aioseop_opengraph.php:176
2191
  msgid "Twitter Card Type"
2192
  msgstr ""
2193
 
2194
- #: aioseop_opengraph.php:178
2195
  msgid "Twitter Site"
2196
  msgstr ""
2197
 
2198
- #: aioseop_opengraph.php:180
2199
  msgid "Show Twitter Author"
2200
  msgstr ""
2201
 
2202
- #: aioseop_opengraph.php:181
2203
  msgid "Twitter Domain"
2204
  msgstr ""
2205
 
2206
- #: aioseop_opengraph.php:183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2207
  msgid "Enable Facebook Meta for"
2208
  msgstr ""
2209
 
2210
- #: aioseop_opengraph.php:195
 
 
 
 
 
 
 
 
2211
  msgid "Article Section"
2212
  msgstr ""
2213
 
2214
- #: aioseop_opengraph.php:197
2215
  msgid "Article Tags"
2216
  msgstr ""
2217
 
2218
- #: aioseop_opengraph.php:199
2219
  msgid "Show Facebook Publisher on Articles"
2220
  msgstr ""
2221
 
2222
- #: aioseop_opengraph.php:200
2223
  msgid "Show Facebook Author on Articles"
2224
  msgstr ""
2225
 
2226
- #: aioseop_opengraph.php:213
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2227
  msgid "Social Settings"
2228
  msgstr ""
2229
 
2230
- #: aioseop_opengraph.php:232
2231
  msgid "Image Settings"
2232
  msgstr ""
2233
 
2234
- #: aioseop_opengraph.php:237
2235
  msgid "Facebook Settings"
2236
  msgstr ""
2237
 
2238
- #: aioseop_opengraph.php:242
2239
  msgid "Twitter Settings"
2240
  msgstr ""
2241
 
2242
- #: aioseop_opengraph.php:248
2243
  msgid "Scan Social Meta"
2244
  msgstr ""
2245
 
2246
- #: aioseop_opengraph.php:279
2247
  msgid ""
2248
  "Static front page detected, suggested Facebook Object Type is 'website'."
2249
  msgstr ""
2250
 
2251
- #: aioseop_opengraph.php:284
2252
  msgid "Blog on front page detected, suggested Facebook Object Type is 'blog'."
2253
  msgstr ""
2254
 
2255
- #: aioseop_opengraph.php:331
2256
  msgid "Default "
2257
  msgstr ""
2258
 
2259
- #: aioseop_opengraph.php:378
2260
  msgid "Scan Now"
2261
  msgstr ""
2262
 
2263
- #: aioseop_opengraph.php:380
2264
  msgid "Scan your site for duplicate social meta tags."
2265
  msgstr ""
2266
 
2267
- #: aioseop_opengraph.php:740
2268
  msgid "Object Type"
2269
  msgstr ""
2270
 
2271
- #: aioseop_opengraph.php:747
2272
  msgid ""
2273
  "Choose a default value that best describes the content of your post type."
2274
  msgstr ""
2275
 
2276
- #: aioseop_performance.php:20
2277
  msgid ""
2278
  "This setting allows you to raise your PHP memory limit to a reasonable "
2279
  "value. Note: WordPress core and other WordPress plugins may also change the "
2280
  "value of the memory limit."
2281
  msgstr ""
2282
 
2283
- #: aioseop_performance.php:21
2284
  msgid ""
2285
  "This setting allows you to raise your PHP execution time to a reasonable "
2286
  "value."
2287
  msgstr ""
2288
 
2289
- #: aioseop_performance.php:22
2290
  msgid ""
2291
  "Use output buffering to ensure that the title gets rewritten. Enable this "
2292
  "option if you run into issues with the title tag being set by your theme or "
2293
  "another plugin."
2294
  msgstr ""
2295
 
2296
- #: aioseop_performance.php:26
2297
  msgid "Raise memory limit"
2298
  msgstr ""
2299
 
2300
- #: aioseop_performance.php:28 aioseop_performance.php:31
2301
  msgid "Use the system default"
2302
  msgstr ""
2303
 
2304
- #: aioseop_performance.php:29
2305
  msgid "Raise execution time"
2306
  msgstr ""
2307
 
2308
- #: aioseop_performance.php:31
2309
  msgid "No limit"
2310
  msgstr ""
2311
 
2312
- #: aioseop_performance.php:63
2313
  msgid "System Status"
2314
  msgstr ""
2315
 
2316
- #: aioseop_performance.php:139
2317
  msgid "Not set"
2318
  msgstr ""
2319
 
2320
- #: aioseop_performance.php:140 aioseop_performance.php:142
2321
  msgid "On"
2322
  msgstr ""
2323
 
2324
- #: aioseop_performance.php:141 aioseop_performance.php:143
2325
  msgid "Off"
2326
  msgstr ""
2327
 
2328
- #: aioseop_performance.php:145 aioseop_performance.php:147
2329
- #: aioseop_performance.php:149 aioseop_performance.php:151
2330
- #: aioseop_performance.php:153 aioseop_performance.php:175
2331
  msgid "N/A"
2332
  msgstr ""
2333
 
2334
- #: aioseop_performance.php:152
2335
  msgid " MByte"
2336
  msgstr ""
2337
 
2338
- #: aioseop_performance.php:154 aioseop_performance.php:156
2339
- #: aioseop_performance.php:158 aioseop_performance.php:170
2340
  msgid "Yes"
2341
  msgstr ""
2342
 
2343
- #: aioseop_performance.php:182
2344
  msgid "Operating System"
2345
  msgstr ""
2346
 
2347
- #: aioseop_performance.php:183
2348
  msgid "Server"
2349
  msgstr ""
2350
 
2351
- #: aioseop_performance.php:184
2352
  msgid "Memory usage"
2353
  msgstr ""
2354
 
2355
- #: aioseop_performance.php:185
2356
  msgid "MYSQL Version"
2357
  msgstr ""
2358
 
2359
- #: aioseop_performance.php:186
2360
  msgid "SQL Mode"
2361
  msgstr ""
2362
 
2363
- #: aioseop_performance.php:187
2364
  msgid "PHP Version"
2365
  msgstr ""
2366
 
2367
- #: aioseop_performance.php:188
2368
  msgid "PHP Safe Mode"
2369
  msgstr ""
2370
 
2371
- #: aioseop_performance.php:189
2372
  msgid "PHP Allow URL fopen"
2373
  msgstr ""
2374
 
2375
- #: aioseop_performance.php:190
2376
  msgid "PHP Memory Limit"
2377
  msgstr ""
2378
 
2379
- #: aioseop_performance.php:191
2380
  msgid "PHP Max Upload Size"
2381
  msgstr ""
2382
 
2383
- #: aioseop_performance.php:192
2384
  msgid "PHP Max Post Size"
2385
  msgstr ""
2386
 
2387
- #: aioseop_performance.php:193
2388
  msgid "PHP Max Script Execute Time"
2389
  msgstr ""
2390
 
2391
- #: aioseop_performance.php:194
2392
  msgid "PHP Exif support"
2393
  msgstr ""
2394
 
2395
- #: aioseop_performance.php:195
2396
  msgid "PHP IPTC support"
2397
  msgstr ""
2398
 
2399
- #: aioseop_performance.php:196
2400
  msgid "PHP XML support"
2401
  msgstr ""
2402
 
2403
- #: aioseop_performance.php:197
2404
  msgid "Site URL"
2405
  msgstr ""
2406
 
2407
- #: aioseop_performance.php:198
2408
  msgid "Home URL"
2409
  msgstr ""
2410
 
2411
- #: aioseop_performance.php:199
2412
  msgid "WordPress Version"
2413
  msgstr ""
2414
 
2415
- #: aioseop_performance.php:200
2416
  msgid "WordPress DB Version"
2417
  msgstr ""
2418
 
2419
- #: aioseop_performance.php:201
2420
  msgid "Multisite"
2421
  msgstr ""
2422
 
2423
- #: aioseop_performance.php:202
2424
  msgid "Active Theme"
2425
  msgstr ""
2426
 
2427
- #: aioseop_performance.php:217
2428
  msgid "All in One SEO Pack Pro Debug Info"
2429
  msgstr ""
2430
 
2431
- #: aioseop_performance.php:233
2432
  msgid "Form submission error: verification check failed."
2433
  msgstr ""
2434
 
2435
- #: aioseop_performance.php:239
 
 
 
 
2436
  msgid "SFWD Debug Mail From Site %s."
2437
  msgstr ""
2438
 
2439
- #: aioseop_performance.php:240
2440
  msgid "Sent to %s."
2441
  msgstr ""
2442
 
2443
- #: aioseop_performance.php:242
2444
  msgid "Failed to send to %s."
2445
  msgstr ""
2446
 
2447
- #: aioseop_performance.php:245
2448
  msgid "Error: please enter an e-mail address before submitting."
2449
  msgstr ""
2450
 
2451
- #: aioseop_performance.php:250
2452
  msgid "E-mail debug information"
2453
  msgstr ""
2454
 
2455
- #: aioseop_performance.php:251
2456
  msgid "Submit"
2457
  msgstr ""
2458
 
2459
- #: aioseop_robots.php:18 aioseop_robots.php:28
 
 
 
 
2460
  msgid "Rule Type"
2461
  msgstr ""
2462
 
2463
- #: aioseop_robots.php:19 aioseop_robots.php:31
2464
  msgid "User Agent"
2465
  msgstr ""
2466
 
2467
- #: aioseop_robots.php:20 aioseop_robots.php:34
2468
  msgid "Directory Path"
2469
  msgstr ""
2470
 
2471
- #: aioseop_robots.php:26
2472
  msgid ""
2473
  "Use the rule builder below to add rules to create a new Robots.txt file.  If "
2474
  "you already have a Robots.txt file you should use the File Editor feature in "
@@ -2476,50 +2950,50 @@ msgid ""
2476
  "file and start a new one with the rule builder below."
2477
  msgstr ""
2478
 
2479
- #: aioseop_robots.php:37
2480
  msgid "Generate Robots.txt"
2481
  msgstr ""
2482
 
2483
- #: aioseop_robots.php:40
2484
  msgid "Add Rule"
2485
  msgstr ""
2486
 
2487
- #: aioseop_robots.php:41
2488
  msgid "Save Robots.txt File"
2489
  msgstr ""
2490
 
2491
- #: aioseop_robots.php:42
2492
  msgid "Delete Robots.txt File"
2493
  msgstr ""
2494
 
2495
- #: aioseop_robots.php:44
2496
  msgid ""
2497
  "Click the Optimize button below and All in One SEO Pack will analyze your "
2498
  "Robots.txt file to make sure it complies with the standards for Robots.txt "
2499
  "files.  The results will be displayed in a table below."
2500
  msgstr ""
2501
 
2502
- #: aioseop_robots.php:46
2503
  msgid "Update Robots.txt File"
2504
  msgstr ""
2505
 
2506
- #: aioseop_robots.php:47
2507
  msgid "Disregard Changes"
2508
  msgstr ""
2509
 
2510
- #: aioseop_robots.php:48
2511
  msgid "Optimize"
2512
  msgstr ""
2513
 
2514
- #: aioseop_robots.php:61
2515
  msgid "Create a Robots.txt File"
2516
  msgstr ""
2517
 
2518
- #: aioseop_robots.php:66
2519
  msgid "Optimize your Robots.txt File"
2520
  msgstr ""
2521
 
2522
- #: aioseop_robots.php:71
2523
  msgid ""
2524
  "Your Robots.txt file has been optimized.  Here are the results and "
2525
  "recommendations.  Click the Update Robots.txt File button below to write "
@@ -2527,452 +3001,488 @@ msgid ""
2527
  "to ignore these recommendations and keep your current Robots.txt file."
2528
  msgstr ""
2529
 
2530
- #: aioseop_robots.php:161 aioseop_robots.php:163
2531
  msgid "Current File"
2532
  msgstr ""
2533
 
2534
- #: aioseop_robots.php:161
2535
  msgid "Proposed Changes"
2536
  msgstr ""
2537
 
2538
- #: aioseop_robots.php:217
2539
  msgid "Legend"
2540
  msgstr ""
2541
 
2542
- #: aioseop_robots.php:219
2543
  msgid ""
2544
  "The yellow indicator means that a non-standard extension was recognized; not "
2545
  "all crawlers may recognize it or interpret it the same way. The Allow and "
2546
  "Sitemap directives are commonly used by Google and Yahoo."
2547
  msgstr ""
2548
 
2549
- #: aioseop_robots.php:220
2550
  msgid ""
2551
  "The red indicator means that the syntax is invalid for a robots.txt file."
2552
  msgstr ""
2553
 
2554
- #: aioseop_robots.php:222
2555
  msgid "More Information"
2556
  msgstr ""
2557
 
2558
- #: aioseop_sitemap.php:24
2559
  msgid "XML Sitemap"
2560
  msgstr ""
2561
 
2562
- #: aioseop_sitemap.php:31
2563
  msgid ""
2564
  "Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper "
2565
  "Fi Web Design on %s"
2566
  msgstr ""
2567
 
2568
- #: aioseop_sitemap.php:34
2569
  msgid ""
2570
  "Specifies the name of your sitemap file. This will default to 'sitemap'."
2571
  msgstr ""
2572
 
2573
- #: aioseop_sitemap.php:35
2574
  msgid "Notify Google when you update your sitemap settings."
2575
  msgstr ""
2576
 
2577
- #: aioseop_sitemap.php:36
2578
  msgid "Notify Bing when you update your sitemap settings."
2579
  msgstr ""
2580
 
2581
- #: aioseop_sitemap.php:37
 
 
 
 
 
 
 
2582
  msgid ""
2583
  "Organize sitemap entries into distinct files in your sitemap. Enable this "
2584
  "only if your sitemap contains over 50,000 URLs or the file is over 5MB in "
2585
  "size."
2586
  msgstr ""
2587
 
2588
- #: aioseop_sitemap.php:38
2589
  msgid "Split long sitemaps into separate files."
2590
  msgstr ""
2591
 
2592
- #: aioseop_sitemap.php:39
2593
  msgid ""
2594
  "Allows you to specify the maximum number of posts in a sitemap (up to "
2595
  "50,000)."
2596
  msgstr ""
2597
 
2598
- #: aioseop_sitemap.php:40
2599
  msgid "Select which Post Types appear in your sitemap."
2600
  msgstr ""
2601
 
2602
- #: aioseop_sitemap.php:41
2603
  msgid "Select which taxonomy archives appear in your sitemap"
2604
  msgstr ""
2605
 
2606
- #: aioseop_sitemap.php:42
2607
  msgid "Include Date Archives in your sitemap."
2608
  msgstr ""
2609
 
2610
- #: aioseop_sitemap.php:43
2611
  msgid "Include Author Archives in your sitemap."
2612
  msgstr ""
2613
 
2614
- #: aioseop_sitemap.php:44
2615
  msgid "Create a compressed sitemap file in .xml.gz format."
2616
  msgstr ""
2617
 
2618
- #: aioseop_sitemap.php:45
2619
  msgid "Places a link to your Sitemap.xml into your virtual Robots.txt file."
2620
  msgstr ""
2621
 
2622
- #: aioseop_sitemap.php:46
2623
  msgid ""
2624
  "Places a link to the sitemap file in your virtual Robots.txt file which "
2625
  "WordPress creates."
2626
  msgstr ""
2627
 
2628
- #: aioseop_sitemap.php:47
2629
  msgid "Tells search engines not to index the sitemap file itself."
2630
  msgstr ""
2631
 
2632
- #: aioseop_sitemap.php:48
2633
  msgid ""
2634
  "Use rewrites to generate your sitemap on the fly. NOTE: This is required for "
2635
  "WordPress Multisite."
2636
  msgstr ""
2637
 
2638
- #: aioseop_sitemap.php:49
2639
  msgid "URL to the page."
2640
  msgstr ""
2641
 
2642
- #: aioseop_sitemap.php:50
2643
  msgid "The priority of the page."
2644
  msgstr ""
2645
 
2646
- #: aioseop_sitemap.php:51
2647
  msgid "The frequency of the page."
2648
  msgstr ""
2649
 
2650
- #: aioseop_sitemap.php:52
2651
  msgid "Last modified date of the page."
2652
  msgstr ""
2653
 
2654
- #: aioseop_sitemap.php:53
2655
  msgid "Entries from these categories will be excluded from the sitemap."
2656
  msgstr ""
2657
 
2658
- #: aioseop_sitemap.php:54
2659
  msgid ""
2660
  "Use page slugs or page IDs, seperated by commas, to exclude pages from the "
2661
  "sitemap."
2662
  msgstr ""
2663
 
2664
- #: aioseop_sitemap.php:78
2665
  msgid "Filename Prefix"
2666
  msgstr ""
2667
 
2668
- #: aioseop_sitemap.php:80
2669
  msgid "Notify Google"
2670
  msgstr ""
2671
 
2672
- #: aioseop_sitemap.php:81
2673
  msgid "Notify Bing"
2674
  msgstr ""
2675
 
2676
- #: aioseop_sitemap.php:82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2677
  msgid "Enable Sitemap Indexes"
2678
  msgstr ""
2679
 
2680
- #: aioseop_sitemap.php:83
2681
  msgid "Paginate Sitemap Indexes"
2682
  msgstr ""
2683
 
2684
- #: aioseop_sitemap.php:85
2685
  msgid "Maximum Posts Per Sitemap"
2686
  msgstr ""
2687
 
2688
- #: aioseop_sitemap.php:88
2689
  msgid "Post Types"
2690
  msgstr ""
2691
 
2692
- #: aioseop_sitemap.php:90
2693
  msgid "Taxonomies"
2694
  msgstr ""
2695
 
2696
- #: aioseop_sitemap.php:92
2697
  msgid "Include Date Archive Pages"
2698
  msgstr ""
2699
 
2700
- #: aioseop_sitemap.php:93
2701
  msgid "Include Author Pages"
2702
  msgstr ""
2703
 
2704
- #: aioseop_sitemap.php:94
2705
  msgid "Create Compressed Sitemap"
2706
  msgstr ""
2707
 
2708
- #: aioseop_sitemap.php:95
2709
  msgid "Link From Virtual Robots.txt"
2710
  msgstr ""
2711
 
2712
- #: aioseop_sitemap.php:96
2713
  msgid "Dynamically Generate Sitemap"
2714
  msgstr ""
2715
 
2716
- #: aioseop_sitemap.php:97
2717
  msgid "Noindex Sitemap file"
2718
  msgstr ""
2719
 
2720
- #: aioseop_sitemap.php:103
2721
  msgid "Debug Log"
2722
  msgstr ""
2723
 
2724
- #: aioseop_sitemap.php:108
2725
  msgid "Sitemap Status"
2726
  msgstr ""
2727
 
2728
- #: aioseop_sitemap.php:123
2729
  msgid "Do Not Override"
2730
  msgstr ""
2731
 
2732
- #: aioseop_sitemap.php:124
2733
  msgid "Select Individual"
2734
  msgstr ""
2735
 
2736
- #: aioseop_sitemap.php:133
2737
  msgid "priority"
2738
  msgstr ""
2739
 
2740
- #: aioseop_sitemap.php:133
2741
  msgid "frequency"
2742
  msgstr ""
2743
 
2744
- #: aioseop_sitemap.php:136
2745
  msgid "homepage"
2746
  msgstr ""
2747
 
2748
- #: aioseop_sitemap.php:137
2749
  msgid "posts"
2750
  msgstr ""
2751
 
2752
- #: aioseop_sitemap.php:138
2753
  msgid "taxonomies"
2754
  msgstr ""
2755
 
2756
- #: aioseop_sitemap.php:139
2757
  msgid "archive pages"
2758
  msgstr ""
2759
 
2760
- #: aioseop_sitemap.php:140
2761
  msgid "author pages"
2762
  msgstr ""
2763
 
2764
- #: aioseop_sitemap.php:148
2765
  msgid "Manually set the %s of your %s."
2766
  msgstr ""
2767
 
2768
- #: aioseop_sitemap.php:155
2769
  msgid ""
2770
  "Enter information below for any additional links for your sitemap not "
2771
  "already managed through WordPress."
2772
  msgstr ""
2773
 
2774
- #: aioseop_sitemap.php:156
2775
  msgid "Page URL"
2776
  msgstr ""
2777
 
2778
- #: aioseop_sitemap.php:157
2779
  msgid "Page Priority"
2780
  msgstr ""
2781
 
2782
- #: aioseop_sitemap.php:158
2783
  msgid "Page Frequency"
2784
  msgstr ""
2785
 
2786
- #: aioseop_sitemap.php:159
2787
  msgid "Last Modified"
2788
  msgstr ""
2789
 
2790
- #: aioseop_sitemap.php:160 aioseop_sitemap.php:170
2791
  msgid "Additional Pages"
2792
  msgstr ""
2793
 
2794
- #: aioseop_sitemap.php:161
2795
  msgid "Add URL"
2796
  msgstr ""
2797
 
2798
- #: aioseop_sitemap.php:165
2799
  msgid "Excluded Categories"
2800
  msgstr ""
2801
 
2802
- #: aioseop_sitemap.php:166
2803
  msgid "Excluded Pages"
2804
  msgstr ""
2805
 
2806
- #: aioseop_sitemap.php:176
2807
  msgid "Excluded Items"
2808
  msgstr ""
2809
 
2810
- #: aioseop_sitemap.php:182
2811
  msgid "Priorities"
2812
  msgstr ""
2813
 
2814
- #: aioseop_sitemap.php:188
2815
  msgid "Frequencies"
2816
  msgstr ""
2817
 
2818
- #: aioseop_sitemap.php:278
 
 
 
 
 
 
 
 
 
 
 
 
2819
  msgid "Media / Attachments"
2820
  msgstr ""
2821
 
2822
- #: aioseop_sitemap.php:279
2823
  msgid "All Post Types"
2824
  msgstr ""
2825
 
2826
- #: aioseop_sitemap.php:280
2827
  msgid "All Taxonomies"
2828
  msgstr ""
2829
 
2830
- #: aioseop_sitemap.php:284
2831
  msgid "Manually set the priority for the "
2832
  msgstr ""
2833
 
2834
- #: aioseop_sitemap.php:285
2835
  msgid "Manually set the frequency for the "
2836
  msgstr ""
2837
 
2838
- #: aioseop_sitemap.php:286
2839
  msgid " Post Type"
2840
  msgstr ""
2841
 
2842
- #: aioseop_sitemap.php:287
2843
  msgid " Taxonomy"
2844
  msgstr ""
2845
 
2846
- #: aioseop_sitemap.php:318 aioseop_sitemap.php:350
2847
  msgid "Update Sitemap"
2848
  msgstr ""
2849
 
2850
- #: aioseop_sitemap.php:348
2851
  msgid ""
2852
  "Please review your settings below and click %s to build your sitemap; then, "
2853
  "%s."
2854
  msgstr ""
2855
 
2856
- #: aioseop_sitemap.php:351
2857
  msgid "view your sitemap"
2858
  msgstr ""
2859
 
2860
- #: aioseop_sitemap.php:354
2861
  msgid ""
2862
  "Note: you are using dynamic sitemap generation to keep your sitemap current; "
2863
  "this will not generate a static sitemap file."
2864
  msgstr ""
2865
 
2866
- #: aioseop_sitemap.php:358
2867
  msgid ""
2868
  "Dynamic sitemap generation appears to be using the correct rewrite rules."
2869
  msgstr ""
2870
 
2871
- #: aioseop_sitemap.php:360
2872
  msgid ""
2873
  "Dynamic sitemap generation does not appear to be using the correct rewrite "
2874
  "rules; please disable any other sitemap plugins or functionality on your "
2875
  "site and reset your permalinks."
2876
  msgstr ""
2877
 
2878
- #: aioseop_sitemap.php:365
2879
  msgid "Reading Settings"
2880
  msgstr ""
2881
 
2882
- #: aioseop_sitemap.php:367
2883
  msgid "Privacy Settings"
2884
  msgstr ""
2885
 
2886
- #: aioseop_sitemap.php:369
2887
  msgid ""
2888
  "Warning: your privacy settings are configured to ask search engines to not "
2889
  "index your site; you can change this under %s for your blog."
2890
  msgstr ""
2891
 
2892
- #: aioseop_sitemap.php:490
2893
  msgid "Warning: dynamic sitemap generation must have permalinks enabled."
2894
  msgstr ""
2895
 
2896
- #: aioseop_sitemap.php:503
2897
  msgid "Deleted %s."
2898
  msgstr ""
2899
 
2900
- #: aioseop_sitemap.php:512
2901
  msgid "Couldn't rename file %s!"
2902
  msgstr ""
2903
 
2904
- #: aioseop_sitemap.php:516
2905
  msgid "Renamed %s to %s."
2906
  msgstr ""
2907
 
2908
- #: aioseop_sitemap.php:518
2909
  msgid "Couldn't find file %s!"
2910
  msgstr ""
2911
 
2912
- #: aioseop_sitemap.php:570
2913
  msgid ""
2914
  "Warning: a static sitemap '%s' generated by All in One SEO Pack %s on %s "
2915
  "already exists that may conflict with dynamic sitemap generation."
2916
  msgstr ""
2917
 
2918
- #: aioseop_sitemap.php:575
2919
  msgid "Potential conflict with unknown file %s."
2920
  msgstr ""
2921
 
2922
- #: aioseop_sitemap.php:594
2923
  msgid "Rename Conflicting Files"
2924
  msgstr ""
2925
 
2926
- #: aioseop_sitemap.php:595
2927
  msgid "Delete Conflicting Files"
2928
  msgstr ""
2929
 
2930
- #: aioseop_sitemap.php:684
2931
  msgid "compressed"
2932
  msgstr ""
2933
 
2934
- #: aioseop_sitemap.php:686
2935
  msgid "dynamic"
2936
  msgstr ""
2937
 
2938
- #: aioseop_sitemap.php:688
2939
  msgid "static"
2940
  msgstr ""
2941
 
2942
- #: aioseop_sitemap.php:754
2943
  msgid "dynamically"
2944
  msgstr ""
2945
 
2946
- #: aioseop_sitemap.php:778
2947
  msgid "Successfully notified %s about changes to your sitemap at %s."
2948
  msgstr ""
2949
 
2950
- #: aioseop_sitemap.php:780
2951
  msgid "Failed to notify %s about changes to your sitemap at %s, error code %s."
2952
  msgstr ""
2953
 
2954
- #: aioseop_sitemap.php:783
2955
  msgid ""
2956
  "Failed to notify %s about changes to your sitemap at %s, unable to access "
2957
  "via wp_remote_get()."
2958
  msgstr ""
2959
 
2960
- #: aioseop_sitemap.php:786
2961
  msgid "Did not notify %s about changes to your sitemap."
2962
  msgstr ""
2963
 
2964
- #: aioseop_sitemap.php:813 aioseop_sitemap.php:951 aioseop_sitemap.php:969
 
2965
  msgid "file '%s' statically"
2966
  msgstr ""
2967
 
2968
- #: aioseop_sitemap.php:822
2969
  msgid "Updated sitemap settings."
2970
  msgstr ""
2971
 
2972
- #: all_in_one_seo_pack.php:48
2973
- msgid "%s detected a conflict; please deactivate the plugin located in %s."
2974
- msgstr ""
2975
-
2976
  #. Plugin Name of the plugin/theme
2977
  msgid "All In One SEO Pack"
2978
  msgstr ""
@@ -2983,17 +3493,9 @@ msgstr ""
2983
 
2984
  #. Description of the plugin/theme
2985
  msgid ""
2986
- "Out-of-the-box SEO for your WordPress blog. <a href=\"admin.php?page=all-in-"
2987
- "one-seo-pack/aioseop_class.php\">Options configuration panel</a> | <a href="
2988
- "\"http://semperplugins.com/plugins/all-in-one-seo-pack-pro-version/?"
2989
- "loc=plugins\" target=\"_blank\">Upgrade to Pro Version</a> | <a href="
2990
- "\"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert"
2991
- "%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support"
2992
- "%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP"
2993
- "%2dDonationsBF&charset=UTF%2d8\">Donate</a> | <a href=\"http://semperplugins."
2994
- "com/support/\" >Support</a> | <a href=\"https://www.amazon.com/"
2995
- "wishlist/1NFQ133FNCOOA/ref=wl_web\" target=\"_blank\" title=\"Amazon Wish "
2996
- "List\">Amazon Wishlist</a>"
2997
  msgstr ""
2998
 
2999
  #. Author of the plugin/theme
1
+ # Copyright (C) 2016 All In One SEO Pack
2
  # This file is distributed under the same license as the All In One SEO Pack package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: All In One SEO Pack 2.2.7.6.2\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/all-in-one-seo-"
7
  "pack\n"
8
+ "POT-Creation-Date: 2016-02-20 22:15:58+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "PO-Revision-Date: 2016-MO-DA HO:MI+ZONE\n"
13
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14
  "Language-Team: LANGUAGE <LL@li.org>\n"
15
 
16
+ #: aioseop_class.php:61
17
  msgid "%s Plugin Options"
18
  msgstr ""
19
 
20
+ #: aioseop_class.php:62 aioseop_class.php:752
21
+ #: modules/aioseop_opengraph.php:267
22
  msgid "General Settings"
23
  msgstr ""
24
 
28
 
29
  #: aioseop_class.php:73
30
  msgid ""
31
+ "This will be the license key received when the product was purchased. This "
32
+ "is used for automatic upgrades."
33
+ msgstr ""
34
+
35
+ #: aioseop_class.php:74
36
+ msgid ""
37
  "This option will automatically generate Canonical URLs for your entire "
38
  "WordPress installation. This will help to prevent duplicate content "
39
  "penalties by <a href=\\'http://googlewebmastercentral.blogspot.com/2009/02/"
40
  "specify-your-canonical.html\\' target=\\'_blank\\'>Google</a>."
41
  msgstr ""
42
 
43
+ #: aioseop_class.php:75
44
  msgid ""
45
  "Checking this option will set the Canonical URL for all paginated content to "
46
  "the first page."
47
  msgstr ""
48
 
49
+ #: aioseop_class.php:76
50
  msgid ""
51
  "Checking this option will allow you to customize Canonical URLs for specific "
52
  "posts."
53
  msgstr ""
54
 
55
+ #: aioseop_class.php:77
56
  msgid "Set protocol for canonical URLs."
57
  msgstr ""
58
 
59
+ #: aioseop_class.php:78
60
  msgid ""
61
+ "Use wp_title to get the title used by the theme; this is disabled by "
62
+ "default. If you use this option, set your title formats appropriately, as "
63
+ "your theme might try to do its own title SEO as well."
64
  msgstr ""
65
 
66
+ #: aioseop_class.php:79
67
  msgid ""
68
  "Check this and All in One SEO Pack will create a log of important events "
69
+ "(all-in-one-seo-pack.log) in its plugin directory which might help "
70
  "debugging. Make sure this directory is writable."
71
  msgstr ""
72
 
73
+ #: aioseop_class.php:80
74
  msgid ""
75
  "As the name implies, this will be the Meta Title of your homepage. This is "
76
  "independent of any other option. If not set, the default Site Title (found "
77
  "in WordPress under Settings, General, Site Title) will be used."
78
  msgstr ""
79
 
80
+ #: aioseop_class.php:81
81
  msgid ""
82
  "This will be the Meta Description for your homepage. This is independent of "
83
  "any other option. The default is no Meta Description at all if this is not "
84
  "set."
85
  msgstr ""
86
 
87
+ #: aioseop_class.php:82
88
  msgid ""
89
  "Enter a comma separated list of your most important keywords for your site "
90
  "that will be written as Meta Keywords on your homepage. Don\\'t stuff "
91
  "everything in here."
92
  msgstr ""
93
 
94
+ #: aioseop_class.php:83
95
+ msgid ""
96
+ "Checking this option uses the title, description, and keywords set on your "
97
+ "static Front Page."
98
+ msgstr ""
99
+
100
+ #: aioseop_class.php:84
101
  msgid ""
102
  "This option allows you to toggle the use of Meta Keywords throughout the "
103
  "whole of the site."
104
  msgstr ""
105
 
106
+ #: aioseop_class.php:85
107
  msgid ""
108
  "Check this if you want your categories for a given post used as the Meta "
109
  "Keywords for this post (in addition to any keywords you specify on the Edit "
110
  "Post screen)."
111
  msgstr ""
112
 
113
+ #: aioseop_class.php:86
114
  msgid ""
115
  "Check this if you want your tags for a given post used as the Meta Keywords "
116
  "for this post (in addition to any keywords you specify on the Edit Post "
117
  "screen)."
118
  msgstr ""
119
 
120
+ #: aioseop_class.php:87
121
  msgid ""
122
  "Check this if you want your keywords on your Posts page (set in WordPress "
123
+ "under Settings, Reading, Front Page Displays) and your archive pages to be "
124
+ "dynamically generated from the keywords of the posts showing on that page. "
125
+ "If unchecked, it will use the keywords set in the edit page screen for the "
126
+ "posts page."
127
  msgstr ""
128
 
129
+ #: aioseop_class.php:88
130
  msgid ""
131
  "Note that this is all about the title tag. This is what you see in your "
132
  "browser's window title bar. This is NOT visible on a page, only in the title "
138
  "your post in the format string."
139
  msgstr ""
140
 
141
+ #: aioseop_class.php:89
142
  msgid ""
143
  "Check this and Search Page Titles and Tag Page Titles will have the first "
144
  "letter of each word capitalized."
145
  msgstr ""
146
 
147
+ #: aioseop_class.php:90
148
  msgid ""
149
  "Check this and Category Titles will have the first letter of each word "
150
  "capitalized."
151
  msgstr ""
152
 
153
+ #: aioseop_class.php:92
154
  msgid ""
155
+ "This controls the format of the title tag for your Home Page.<br />The "
156
+ "following macros are supported:"
157
  msgstr ""
158
 
159
+ #: aioseop_class.php:93 aioseop_class.php:103 aioseop_class.php:113
160
+ #: aioseop_class.php:125 aioseop_class.php:131 aioseop_class.php:136
161
+ #: aioseop_class.php:144 aioseop_class.php:149 aioseop_class.php:154
162
+ #: aioseop_class.php:158 aioseop_class.php:164 aioseop_class.php:1208
163
+ #: aioseop_class.php:1251
164
  msgid "%blog_title% - Your blog title"
165
  msgstr ""
166
 
167
+ #: aioseop_class.php:94 aioseop_class.php:104 aioseop_class.php:114
168
+ #: aioseop_class.php:126 aioseop_class.php:132 aioseop_class.php:137
169
+ #: aioseop_class.php:145 aioseop_class.php:150 aioseop_class.php:155
170
+ #: aioseop_class.php:159 aioseop_class.php:165 aioseop_class.php:1209
171
+ #: aioseop_class.php:1252
172
  msgid "%blog_description% - Your blog description"
173
  msgstr ""
174
 
175
+ #: aioseop_class.php:95 aioseop_class.php:105
176
  msgid "%page_title% - The original title of the page"
177
  msgstr ""
178
 
179
+ #: aioseop_class.php:96 aioseop_class.php:106
 
 
 
 
 
 
 
 
180
  msgid "%page_author_login% - This page's author' login"
181
  msgstr ""
182
 
183
+ #: aioseop_class.php:97 aioseop_class.php:107
184
  msgid "%page_author_nicename% - This page's author' nicename"
185
  msgstr ""
186
 
187
+ #: aioseop_class.php:98 aioseop_class.php:108
188
  msgid "%page_author_firstname% - This page's author' first name (capitalized)"
189
  msgstr ""
190
 
191
+ #: aioseop_class.php:99 aioseop_class.php:109
192
  msgid "%page_author_lastname% - This page's author' last name (capitalized)"
193
  msgstr ""
194
 
195
  #: aioseop_class.php:102
196
  msgid ""
197
+ "This controls the format of the title tag for Pages.<br />The following "
198
+ "macros are supported:"
199
+ msgstr ""
200
+
201
+ #: aioseop_class.php:112
202
+ msgid ""
203
  "This controls the format of the title tag for Posts.<br />The following "
204
  "macros are supported:"
205
  msgstr ""
206
 
207
+ #: aioseop_class.php:115 aioseop_class.php:161
208
  msgid "%post_title% - The original title of the post"
209
  msgstr ""
210
 
211
+ #: aioseop_class.php:116
212
  msgid "%category_title% - The (main) category of the post"
213
  msgstr ""
214
 
215
+ #: aioseop_class.php:117
216
+ msgid "%category% - Alias for %category_title%"
217
+ msgstr ""
218
+
219
+ #: aioseop_class.php:118 aioseop_class.php:1216
220
  msgid "%post_author_login% - This post's author' login"
221
  msgstr ""
222
 
223
+ #: aioseop_class.php:119 aioseop_class.php:1217
224
  msgid "%post_author_nicename% - This post's author' nicename"
225
  msgstr ""
226
 
227
+ #: aioseop_class.php:120 aioseop_class.php:1218
228
  msgid "%post_author_firstname% - This post's author' first name (capitalized)"
229
  msgstr ""
230
 
231
+ #: aioseop_class.php:121 aioseop_class.php:1219
232
  msgid "%post_author_lastname% - This post's author' last name (capitalized)"
233
  msgstr ""
234
 
235
+ #: aioseop_class.php:124
236
  msgid ""
237
  "This controls the format of the title tag for Category Archives.<br />The "
238
  "following macros are supported:"
239
  msgstr ""
240
 
241
+ #: aioseop_class.php:127
242
  msgid "%category_title% - The original title of the category"
243
  msgstr ""
244
 
245
+ #: aioseop_class.php:128
246
  msgid "%category_description% - The description of the category"
247
  msgstr ""
248
 
249
+ #: aioseop_class.php:130
250
  msgid ""
251
  "This controls the format of the title tag for Custom Post Archives.<br />The "
252
  "following macros are supported:"
253
  msgstr ""
254
 
255
+ #: aioseop_class.php:133
256
  msgid "%archive_title - The original archive title given by wordpress"
257
  msgstr ""
258
 
259
+ #: aioseop_class.php:135
260
  msgid ""
261
  "This controls the format of the title tag for Date Archives.<br />The "
262
  "following macros are supported:"
263
  msgstr ""
264
 
265
+ #: aioseop_class.php:138
266
  msgid ""
267
  "%date% - The original archive title given by wordpress, e.g. \"2007\" or "
268
  "\"2007 August\""
269
  msgstr ""
270
 
271
+ #: aioseop_class.php:139
272
  msgid "%day% - The original archive day given by wordpress, e.g. \"17\""
273
  msgstr ""
274
 
275
+ #: aioseop_class.php:140
276
  msgid ""
277
  "%month% - The original archive month given by wordpress, e.g. \"August\""
278
  msgstr ""
279
 
280
+ #: aioseop_class.php:141
281
  msgid "%year% - The original archive year given by wordpress, e.g. \"2007\""
282
  msgstr ""
283
 
284
+ #: aioseop_class.php:143
285
  msgid ""
286
  "This controls the format of the title tag for Author Archives.<br />The "
287
  "following macros are supported:"
288
  msgstr ""
289
 
290
+ #: aioseop_class.php:146
291
  msgid ""
292
  "%author% - The original archive title given by wordpress, e.g. \"Steve\" or "
293
  "\"John Smith\""
294
  msgstr ""
295
 
296
+ #: aioseop_class.php:148
297
  msgid ""
298
  "This controls the format of the title tag for Tag Archives.<br />The "
299
  "following macros are supported:"
300
  msgstr ""
301
 
302
+ #: aioseop_class.php:151
303
  msgid "%tag% - The name of the tag"
304
  msgstr ""
305
 
306
+ #: aioseop_class.php:153
307
  msgid ""
308
  "This controls the format of the title tag for the Search page.<br />The "
309
  "following macros are supported:"
310
  msgstr ""
311
 
312
+ #: aioseop_class.php:156
313
  msgid "%search% - What was searched for"
314
  msgstr ""
315
 
316
+ #: aioseop_class.php:157
317
  msgid ""
318
  "This controls the format of Meta Descriptions.The following macros are "
319
  "supported:"
320
  msgstr ""
321
 
322
+ #: aioseop_class.php:160
323
  msgid ""
324
  "%description% - The original description as determined by the plugin, e.g. "
325
  "the excerpt if one is set or an auto-generated one if that option is set"
326
  msgstr ""
327
 
328
+ #: aioseop_class.php:162
329
  msgid "%wp_title% - The original wordpress title, e.g. post_title for posts"
330
  msgstr ""
331
 
332
+ #: aioseop_class.php:163
333
  msgid ""
334
  "This controls the format of the title tag for the 404 page.<br />The "
335
  "following macros are supported:"
336
  msgstr ""
337
 
338
+ #: aioseop_class.php:166
339
  msgid ""
340
  "%request_url% - The original URL path, like \"/url-that-does-not-exist/\""
341
  msgstr ""
342
 
343
+ #: aioseop_class.php:167
344
  msgid ""
345
  "%request_words% - The URL path in human readable form, like \"Url That Does "
346
  "Not Exist\""
347
  msgstr ""
348
 
349
+ #: aioseop_class.php:168
350
  msgid "%404_title% - Additional 404 title input\""
351
  msgstr ""
352
 
353
+ #: aioseop_class.php:169
354
  msgid ""
355
  "This string gets appended/prepended to titles of paged index pages (like "
356
  "home or archive pages)."
357
  msgstr ""
358
 
359
+ #: aioseop_class.php:170 aioseop_class.php:1207 aioseop_class.php:1250
360
  msgid "The following macros are supported:"
361
  msgstr ""
362
 
363
+ #: aioseop_class.php:171
364
  msgid "%page% - The page number"
365
  msgstr ""
366
 
367
+ #: aioseop_class.php:172
368
  msgid ""
369
  "Check this if you want to use All in One SEO Pack with any Custom Post Types "
370
  "on this site."
371
  msgstr ""
372
 
373
+ #: aioseop_class.php:173
374
  msgid ""
375
  "This will show or hide the advanced options for SEO for Custom Post Types."
376
  msgstr ""
377
 
378
+ #: aioseop_class.php:174
379
  msgid ""
380
  "Use these checkboxes to select which Post Types you want to use All in One "
381
  "SEO Pack with."
382
  msgstr ""
383
 
384
+ #: aioseop_class.php:175
385
+ msgid ""
386
+ "Use these checkboxes to select which Taxonomies you want to use All in One "
387
+ "SEO Pack with."
388
+ msgstr ""
389
+
390
+ #: aioseop_class.php:176
391
  msgid "This allows you to set the title tags for each Custom Post Type."
392
  msgstr ""
393
 
394
+ #: aioseop_class.php:177
395
  msgid ""
396
  "This lets you select which screens display the SEO Title, SEO Keywords and "
397
  "SEO Description columns."
398
  msgstr ""
399
 
400
+ #: aioseop_class.php:178
401
  msgid ""
402
  "Check this to add All in One SEO Pack to the Admin Bar for easy access to "
403
  "your SEO settings."
404
  msgstr ""
405
 
406
+ #: aioseop_class.php:179
407
  msgid ""
408
  "Check this to move the All in One SEO Pack menu item to the top of your "
409
  "WordPress Dashboard menu."
410
  msgstr ""
411
 
412
+ #: aioseop_class.php:180
413
  msgid ""
414
  "Enter your verification code here to verify your site with Google Webmaster "
415
  "Tools.<br /><a href='http://semperplugins.com/documentation/google-webmaster-"
417
  "setting</a>"
418
  msgstr ""
419
 
420
+ #: aioseop_class.php:181
421
  msgid ""
422
  "Enter your verification code here to verify your site with Bing Webmaster "
423
  "Tools.<br /><a href='http://semperplugins.com/documentation/bing-webmaster-"
425
  "a>"
426
  msgstr ""
427
 
428
+ #: aioseop_class.php:182
429
  msgid ""
430
  "Enter your verification code here to verify your site with Pinterest.<br /"
431
  "><a href='http://semperplugins.com/documentation/pinterest-site-"
433
  "a>"
434
  msgstr ""
435
 
436
+ #: aioseop_class.php:183
437
  msgid ""
438
  "Enter your Google+ Profile URL here to add the rel=“author” tag to your site "
439
  "for Google authorship. It is recommended that the URL you enter here should "
441
  "if you want greater control over the use of authorship."
442
  msgstr ""
443
 
444
+ #: aioseop_class.php:184
445
  msgid ""
446
  "Check this to remove the Google Plus field from the user profile screen."
447
  msgstr ""
448
 
449
+ #: aioseop_class.php:185
450
  msgid ""
451
  "Enable this to display advanced options for controlling Google Plus "
452
  "authorship information on your website."
453
  msgstr ""
454
 
455
+ #: aioseop_class.php:186
456
  msgid ""
457
  "This option allows you to control which types of pages you want to display "
458
  "rel=\"author\" on for Google authorship. The options include the Front Page "
461
  "taxonomies, date archives, author archives and any other page template."
462
  msgstr ""
463
 
464
+ #: aioseop_class.php:187
465
  msgid ""
466
  "This option allows you to control whether rel=\"publisher\" is displayed on "
467
  "the homepage of your site. Google recommends using this if the site is a "
468
  "business website."
469
  msgstr ""
470
 
471
+ #: aioseop_class.php:188
472
  msgid ""
473
  "The Google+ profile you enter here will appear on your homepage only as the "
474
  "rel=\"publisher\" tag. It is recommended that the URL you enter here should "
475
  "be the Google+ profile for your business."
476
  msgstr ""
477
 
478
+ #: aioseop_class.php:189
479
  msgid ""
480
  "Add markup to display the Google Sitelinks Search Box next to your search "
481
  "results in Google."
482
  msgstr ""
483
 
484
+ #: aioseop_class.php:190
485
+ msgid "Add markup to tell Google the preferred name for your website."
486
+ msgstr ""
487
+
488
+ #: aioseop_class.php:191
489
  msgid ""
490
  "Press the connect button to connect with Google Analytics; or if already "
491
  "connected, press the disconnect button to disable and remove any stored "
492
  "analytics credentials."
493
  msgstr ""
494
 
495
+ #: aioseop_class.php:192
496
  msgid ""
497
  "Enter your Google Analytics ID here to track visitor behavior on your site "
498
  "using Google Analytics."
499
  msgstr ""
500
 
501
+ #: aioseop_class.php:193
502
  msgid "Use the new Universal Analytics tracking code for Google Analytics."
503
  msgstr ""
504
 
505
+ #: aioseop_class.php:194
506
  msgid "Check to use advanced Google Analytics options."
507
  msgstr ""
508
 
509
+ #: aioseop_class.php:195
510
  msgid "Enter your domain name without the http:// to set your cookie domain."
511
  msgstr ""
512
 
513
+ #: aioseop_class.php:196
514
  msgid "Use this option to enable tracking of multiple or additional domains."
515
  msgstr ""
516
 
517
+ #: aioseop_class.php:197
518
  msgid ""
519
  "Add a list of additional domains to track here. Enter one domain name per "
520
  "line without the http://."
521
  msgstr ""
522
 
523
+ #: aioseop_class.php:198
524
  msgid "This enables support for IP Anonymization in Google Analytics."
525
  msgstr ""
526
 
527
+ #: aioseop_class.php:199
528
  msgid ""
529
  "This enables support for the Display Advertiser Features in Google Analytics."
530
  msgstr ""
531
 
532
+ #: aioseop_class.php:200
533
  msgid "Exclude logged-in users from Google Analytics tracking by role."
534
  msgstr ""
535
 
536
+ #: aioseop_class.php:201
537
  msgid "Check this if you want to track outbound links with Google Analytics."
538
  msgstr ""
539
 
540
+ #: aioseop_class.php:202
541
  msgid ""
542
  "This enables support for the Enhanced Link Attribution in Google Analytics."
543
  msgstr ""
544
 
545
+ #: aioseop_class.php:203
546
  msgid "This enables support for the Enhanced Ecommerce in Google Analytics."
547
  msgstr ""
548
 
549
+ #: aioseop_class.php:204
550
  msgid "Set the default NOINDEX setting for each Post Type."
551
  msgstr ""
552
 
553
+ #: aioseop_class.php:205
554
  msgid "Set the default NOFOLLOW setting for each Post Type."
555
  msgstr ""
556
 
557
+ #: aioseop_class.php:206
558
  msgid ""
559
  "Check this to ask search engines not to index Category Archives. Useful for "
560
  "avoiding duplicate content."
561
  msgstr ""
562
 
563
+ #: aioseop_class.php:207
564
  msgid ""
565
  "Check this to ask search engines not to index Date Archives. Useful for "
566
  "avoiding duplicate content."
567
  msgstr ""
568
 
569
+ #: aioseop_class.php:208
570
  msgid ""
571
  "Check this to ask search engines not to index Author Archives. Useful for "
572
  "avoiding duplicate content."
573
  msgstr ""
574
 
575
+ #: aioseop_class.php:209
576
  msgid ""
577
  "Check this to ask search engines not to index Tag Archives. Useful for "
578
  "avoiding duplicate content."
579
  msgstr ""
580
 
581
+ #: aioseop_class.php:210
582
  msgid ""
583
  "Check this to ask search engines not to index the Search page. Useful for "
584
  "avoiding duplicate content."
585
  msgstr ""
586
 
587
+ #: aioseop_class.php:211
588
+ msgid "Check this to ask search engines not to index the 404 page."
589
+ msgstr ""
590
+
591
+ #: aioseop_class.php:212
592
+ msgid ""
593
+ "Check this to ask search engines not to index custom Taxonomy archive pages. "
594
+ "Useful for avoiding duplicate content."
595
+ msgstr ""
596
+
597
+ #: aioseop_class.php:213
598
  msgid ""
599
  "Check this to ask search engines not to index paginated pages/posts. Useful "
600
  "for avoiding duplicate content."
601
  msgstr ""
602
 
603
+ #: aioseop_class.php:214
604
  msgid ""
605
  "Check this to ask search engines not to follow links from paginated pages/"
606
  "posts. Useful for avoiding duplicate content."
607
  msgstr ""
608
 
609
+ #: aioseop_class.php:215
610
  msgid ""
611
  "Check this box to ask search engines not to use descriptions from the Open "
612
  "Directory Project for your entire site."
613
  msgstr ""
614
 
615
+ #: aioseop_class.php:216
616
  msgid "Set the default noodp setting for each Post Type."
617
  msgstr ""
618
 
619
+ #: aioseop_class.php:217
620
  msgid ""
621
  "Check this box to ask Yahoo! not to use descriptions from the Yahoo! "
622
  "directory for your entire site."
623
  msgstr ""
624
 
625
+ #: aioseop_class.php:218
626
  msgid "Set the default noydir setting for each Post Type."
627
  msgstr ""
628
 
629
+ #: aioseop_class.php:219
630
+ msgid ""
631
+ "Check this and your Meta Descriptions won't be generated from the excerpt."
632
+ msgstr ""
633
+
634
+ #: aioseop_class.php:220
635
  msgid ""
636
  "Check this and your Meta Descriptions will be auto-generated from your "
637
  "excerpt or content."
638
  msgstr ""
639
 
640
+ #: aioseop_class.php:221
641
  msgid ""
642
  "Check this and shortcodes will get executed for descriptions auto-generated "
643
  "from content."
644
  msgstr ""
645
 
646
+ #: aioseop_class.php:222
647
  msgid ""
648
  "Check this and your Meta Descriptions will be removed from page 2 or later "
649
  "of paginated content."
650
  msgstr ""
651
 
652
+ #: aioseop_class.php:223
653
  msgid ""
654
  "Check this to prevent your Description from being truncated regardless of "
655
  "its length."
656
  msgstr ""
657
 
658
+ #: aioseop_class.php:224
659
  msgid ""
660
  "Check this to support Schema.org markup, i.e., itemprop on supported "
661
  "metadata."
662
  msgstr ""
663
 
664
+ #: aioseop_class.php:225
665
  msgid ""
666
  "Check this to unprotect internal postmeta fields for use with XMLRPC. If you "
667
  "don't know what that is, leave it unchecked."
668
  msgstr ""
669
 
670
+ #: aioseop_class.php:226
671
  msgid ""
672
  "Enter a comma separated list of pages here to be excluded by All in One SEO "
673
  "Pack. This is helpful when using plugins which generate their own non-"
678
  "someforumpage here and it will be excluded from All in One SEO Pack."
679
  msgstr ""
680
 
681
+ #: aioseop_class.php:227
682
  msgid ""
683
  "What you enter here will be copied verbatim to the header of all Posts. You "
684
  "can enter whatever additional headers you want here, even references to "
685
  "stylesheets."
686
  msgstr ""
687
 
688
+ #: aioseop_class.php:228
689
  msgid ""
690
  "What you enter here will be copied verbatim to the header of all Pages. You "
691
  "can enter whatever additional headers you want here, even references to "
692
  "stylesheets."
693
  msgstr ""
694
 
695
+ #: aioseop_class.php:229
696
  msgid ""
697
  "What you enter here will be copied verbatim to the header of the front page "
698
  "if you have set a static page in Settings, Reading, Front Page Displays. You "
701
  "have them set and nothing is entered here."
702
  msgstr ""
703
 
704
+ #: aioseop_class.php:230
705
  msgid ""
706
  "What you enter here will be copied verbatim to the header of the home page "
707
  "if you have Front page displays your latest posts selected in Settings, "
710
  "headers you want here, even references to stylesheets."
711
  msgstr ""
712
 
713
+ #: aioseop_class.php:305
714
  msgid "A preview of what this page might look like in search engine results."
715
  msgstr ""
716
 
717
+ #: aioseop_class.php:306
718
  msgid "A custom title that shows up in the title tag for this page."
719
  msgstr ""
720
 
721
+ #: aioseop_class.php:307
722
  msgid ""
723
  "The META description for this page. This will override any autogenerated "
724
  "descriptions."
725
  msgstr ""
726
 
727
+ #: aioseop_class.php:308
728
  msgid ""
729
  "A comma separated list of your most important keywords for this page that "
730
  "will be written as META keywords."
731
  msgstr ""
732
 
733
+ #: aioseop_class.php:309
734
  msgid "Override the canonical URLs for this post."
735
  msgstr ""
736
 
737
+ #: aioseop_class.php:310
738
  msgid "Check this box to ask search engines not to index this page."
739
  msgstr ""
740
 
741
+ #: aioseop_class.php:311
742
  msgid ""
743
  "Check this box to ask search engines not to follow links from this page."
744
  msgstr ""
745
 
746
+ #: aioseop_class.php:312
747
  msgid ""
748
  "Check this box to ask search engines not to use descriptions from the Open "
749
  "Directory Project for this page."
750
  msgstr ""
751
 
752
+ #: aioseop_class.php:313
753
  msgid ""
754
  "Check this box to ask Yahoo! not to use descriptions from the Yahoo! "
755
  "directory for this page."
756
  msgstr ""
757
 
758
+ #: aioseop_class.php:314
759
  msgid "Set the title attribute for menu links."
760
  msgstr ""
761
 
762
+ #: aioseop_class.php:315
763
  msgid "Set the label for this page menu item."
764
  msgstr ""
765
 
766
+ #: aioseop_class.php:316
767
  msgid "Don't display this page in the sitemap."
768
  msgstr ""
769
 
770
+ #: aioseop_class.php:317
771
  msgid "Disable SEO on this page."
772
  msgstr ""
773
 
774
+ #: aioseop_class.php:318
775
  msgid "Disable Google Analytics on this page."
776
  msgstr ""
777
 
778
+ #: aioseop_class.php:323
779
+ msgid "License Key:"
780
+ msgstr ""
781
+
782
+ #: aioseop_class.php:326
783
  msgid "I enjoy this plugin and have made a donation:"
784
  msgstr ""
785
 
786
+ #: aioseop_class.php:328
787
  msgid "Home Title:"
788
  msgstr ""
789
 
790
+ #: aioseop_class.php:333
791
  msgid "Home Description:"
792
  msgstr ""
793
 
794
+ #: aioseop_class.php:338
795
  msgid "Use Keywords:"
796
  msgstr ""
797
 
798
+ #: aioseop_class.php:341 aioseop_class.php:352 aioseop_class.php:379
799
+ #: aioseop_class.php:387 aioseop_class.php:394 aioseop_class.php:453
800
+ #: aioseop_class.php:469 aioseop_class.php:535 aioseop_class.php:546
801
+ #: aioseop_class.php:566 modules/aioseop_performance.php:45
802
  msgid "Enabled"
803
  msgstr ""
804
 
805
+ #: aioseop_class.php:342 aioseop_class.php:353 aioseop_class.php:380
806
+ #: aioseop_class.php:388 aioseop_class.php:395 aioseop_class.php:454
807
+ #: aioseop_class.php:470 aioseop_class.php:536 aioseop_class.php:547
808
+ #: aioseop_class.php:567 modules/aioseop_performance.php:46
809
  msgid "Disabled"
810
  msgstr ""
811
 
812
+ #: aioseop_class.php:345
813
  msgid "Home Keywords (comma separated):"
814
  msgstr ""
815
 
816
+ #: aioseop_class.php:349
817
+ msgid "Use Static Front Page Instead"
818
+ msgstr ""
819
+
820
+ #: aioseop_class.php:356
821
  msgid "Canonical URLs:"
822
  msgstr ""
823
 
824
+ #: aioseop_class.php:359
825
  msgid "No Pagination for Canonical URLs:"
826
  msgstr ""
827
 
828
+ #: aioseop_class.php:363
829
  msgid "Enable Custom Canonical URLs:"
830
  msgstr ""
831
 
832
+ #: aioseop_class.php:367
833
  msgid "Set Protocol For Canonical URLs:"
834
  msgstr ""
835
 
836
+ #: aioseop_class.php:370
837
  msgid "Auto"
838
  msgstr ""
839
 
840
+ #: aioseop_class.php:371
841
  msgid "HTTP"
842
  msgstr ""
843
 
844
+ #: aioseop_class.php:372
845
  msgid "HTTPS"
846
  msgstr ""
847
 
848
+ #: aioseop_class.php:376
849
  msgid "Rewrite Titles:"
850
  msgstr ""
851
 
852
+ #: aioseop_class.php:383 modules/aioseop_performance.php:43
853
  msgid "Force Rewrites:"
854
  msgstr ""
855
 
856
+ #: aioseop_class.php:391
857
  msgid "Use Original Title:"
858
  msgstr ""
859
 
860
+ #: aioseop_class.php:398
861
  msgid "Capitalize Titles:"
862
  msgstr ""
863
 
864
+ #: aioseop_class.php:400
865
  msgid "Capitalize Category Titles:"
866
  msgstr ""
867
 
868
+ #: aioseop_class.php:402
869
+ msgid "Home Page Title Format:"
870
+ msgstr ""
871
+
872
+ #: aioseop_class.php:406
873
  msgid "Page Title Format:"
874
  msgstr ""
875
 
876
+ #: aioseop_class.php:410
877
  msgid "Post Title Format:"
878
  msgstr ""
879
 
880
+ #: aioseop_class.php:414
881
  msgid "Category Title Format:"
882
  msgstr ""
883
 
884
+ #: aioseop_class.php:418
885
  msgid "Archive Title Format:"
886
  msgstr ""
887
 
888
+ #: aioseop_class.php:422
889
  msgid "Date Archive Title Format:"
890
  msgstr ""
891
 
892
+ #: aioseop_class.php:426
893
  msgid "Author Archive Title Format:"
894
  msgstr ""
895
 
896
+ #: aioseop_class.php:430
897
  msgid "Tag Title Format:"
898
  msgstr ""
899
 
900
+ #: aioseop_class.php:434
901
  msgid "Search Title Format:"
902
  msgstr ""
903
 
904
+ #: aioseop_class.php:438
905
  msgid "Description Format"
906
  msgstr ""
907
 
908
+ #: aioseop_class.php:442
909
  msgid "404 Title Format:"
910
  msgstr ""
911
 
912
+ #: aioseop_class.php:446
913
  msgid "Paged Format:"
914
  msgstr ""
915
 
916
+ #: aioseop_class.php:450
917
  msgid "SEO for Custom Post Types:"
918
  msgstr ""
919
 
920
+ #: aioseop_class.php:457
921
+ msgid "SEO on only these post types:"
922
  msgstr ""
923
 
924
+ #: aioseop_class.php:462
925
+ msgid "SEO on only these taxonomies:"
926
  msgstr ""
927
 
928
+ #: aioseop_class.php:467
929
+ msgid "Enable Advanced Options:"
930
+ msgstr ""
931
+
932
+ #: aioseop_class.php:475
933
  msgid "Default to NOINDEX:"
934
  msgstr ""
935
 
936
+ #: aioseop_class.php:479
937
  msgid "Default to NOFOLLOW:"
938
  msgstr ""
939
 
940
+ #: aioseop_class.php:483
941
  msgid "Default to NOODP:"
942
  msgstr ""
943
 
944
+ #: aioseop_class.php:487
945
  msgid "Default to NOYDIR:"
946
  msgstr ""
947
 
948
+ #: aioseop_class.php:491
949
  msgid "Custom titles:"
950
  msgstr ""
951
 
952
+ #: aioseop_class.php:496
953
  msgid "Show Column Labels for Custom Post Types:"
954
  msgstr ""
955
 
956
+ #: aioseop_class.php:500
957
  msgid "Display Menu In Admin Bar:"
958
  msgstr ""
959
 
960
+ #: aioseop_class.php:503
961
  msgid "Display Menu At The Top:"
962
  msgstr ""
963
 
964
+ #: aioseop_class.php:506
965
  msgid "Google Webmaster Tools:"
966
  msgstr ""
967
 
968
+ #: aioseop_class.php:509
969
  msgid "Bing Webmaster Center:"
970
  msgstr ""
971
 
972
+ #: aioseop_class.php:512
973
  msgid "Pinterest Site Verification:"
974
  msgstr ""
975
 
976
+ #: aioseop_class.php:515
977
  msgid "Google Plus Default Profile:"
978
  msgstr ""
979
 
980
+ #: aioseop_class.php:518
981
  msgid "Disable Google Plus Profile:"
982
  msgstr ""
983
 
984
+ #: aioseop_class.php:521
985
  msgid "Display Sitelinks Search Box:"
986
  msgstr ""
987
 
988
+ #: aioseop_class.php:524
989
+ msgid "Set Preferred Site Name:"
990
+ msgstr ""
991
+
992
+ #: aioseop_class.php:527
993
+ msgid "Specify A Preferred Name:"
994
+ msgstr ""
995
+
996
+ #: aioseop_class.php:533
997
  msgid "Advanced Authorship Options:"
998
  msgstr ""
999
 
1000
+ #: aioseop_class.php:540
1001
  msgid "Display Google Authorship:"
1002
  msgstr ""
1003
 
1004
+ #: aioseop_class.php:544
1005
  msgid "Display Publisher Meta on Front Page:"
1006
  msgstr ""
1007
 
1008
+ #: aioseop_class.php:551
1009
  msgid "Specify Publisher URL:"
1010
  msgstr ""
1011
 
1012
+ #: aioseop_class.php:556
 
 
 
 
1013
  msgid "Google Analytics ID:"
1014
  msgstr ""
1015
 
1016
+ #: aioseop_class.php:559
1017
  msgid "Use Universal Analytics:"
1018
  msgstr ""
1019
 
1020
+ #: aioseop_class.php:563
1021
  msgid "Advanced Analytics Options:"
1022
  msgstr ""
1023
 
1024
+ #: aioseop_class.php:570
1025
  msgid "Tracking Domain:"
1026
  msgstr ""
1027
 
1028
+ #: aioseop_class.php:574
1029
  msgid "Track Multiple Domains:"
1030
  msgstr ""
1031
 
1032
+ #: aioseop_class.php:578
1033
  msgid "Additional Domains:"
1034
  msgstr ""
1035
 
1036
+ #: aioseop_class.php:582
1037
  msgid "Anonymize IP Addresses:"
1038
  msgstr ""
1039
 
1040
+ #: aioseop_class.php:586
1041
  msgid "Display Advertiser Tracking:"
1042
  msgstr ""
1043
 
1044
+ #: aioseop_class.php:590
1045
  msgid "Exclude Users From Tracking:"
1046
  msgstr ""
1047
 
1048
+ #: aioseop_class.php:594
1049
  msgid "Track Outbound Links:"
1050
  msgstr ""
1051
 
1052
+ #: aioseop_class.php:598
1053
  msgid "Enhanced Link Attribution:"
1054
  msgstr ""
1055
 
1056
+ #: aioseop_class.php:602
1057
  msgid "Enhanced Ecommerce:"
1058
  msgstr ""
1059
 
1060
+ #: aioseop_class.php:606
1061
  msgid "Use Categories for META keywords:"
1062
  msgstr ""
1063
 
1064
+ #: aioseop_class.php:610
1065
  msgid "Use Tags for META keywords:"
1066
  msgstr ""
1067
 
1068
+ #: aioseop_class.php:614
1069
+ msgid "Dynamically Generate Keywords for Posts Page/Archives:"
1070
  msgstr ""
1071
 
1072
+ #: aioseop_class.php:618
1073
  msgid "Use noindex for Categories:"
1074
  msgstr ""
1075
 
1076
+ #: aioseop_class.php:621
1077
  msgid "Use noindex for Date Archives:"
1078
  msgstr ""
1079
 
1080
+ #: aioseop_class.php:624
1081
  msgid "Use noindex for Author Archives:"
1082
  msgstr ""
1083
 
1084
+ #: aioseop_class.php:627
1085
  msgid "Use noindex for Tag Archives:"
1086
  msgstr ""
1087
 
1088
+ #: aioseop_class.php:630
1089
  msgid "Use noindex for the Search page:"
1090
  msgstr ""
1091
 
1092
+ #: aioseop_class.php:633
1093
+ msgid "Use noindex for the 404 page:"
1094
+ msgstr ""
1095
+
1096
+ #: aioseop_class.php:636
1097
+ msgid "Use noindex for Taxonomy Archives:"
1098
+ msgstr ""
1099
+
1100
+ #: aioseop_class.php:641
1101
  msgid "Use noindex for paginated pages/posts:"
1102
  msgstr ""
1103
 
1104
+ #: aioseop_class.php:644
1105
  msgid "Use nofollow for paginated pages/posts:"
1106
  msgstr ""
1107
 
1108
+ #: aioseop_class.php:647
1109
  msgid "Exclude site from the Open Directory Project:"
1110
  msgstr ""
1111
 
1112
+ #: aioseop_class.php:650
1113
  msgid "Exclude site from Yahoo! Directory:"
1114
  msgstr ""
1115
 
1116
+ #: aioseop_class.php:653
1117
+ msgid "Avoid Using The Excerpt In Descriptions:"
1118
+ msgstr ""
1119
+
1120
+ #: aioseop_class.php:656
1121
  msgid "Autogenerate Descriptions:"
1122
  msgstr ""
1123
 
1124
+ #: aioseop_class.php:659
1125
  msgid "Run Shortcodes In Autogenerated Descriptions:"
1126
  msgstr ""
1127
 
1128
+ #: aioseop_class.php:663
1129
  msgid "Remove Descriptions For Paginated Pages:"
1130
  msgstr ""
1131
 
1132
+ #: aioseop_class.php:666
1133
  msgid "Never Shorten Long Descriptions:"
1134
  msgstr ""
1135
 
1136
+ #: aioseop_class.php:669
1137
  msgid "Use Schema.org Markup"
1138
  msgstr ""
1139
 
1140
+ #: aioseop_class.php:672
1141
  msgid "Unprotect Post Meta Fields:"
1142
  msgstr ""
1143
 
1144
+ #: aioseop_class.php:675
1145
  msgid "Exclude Pages:"
1146
  msgstr ""
1147
 
1148
+ #: aioseop_class.php:678
1149
  msgid "Additional Post Headers:"
1150
  msgstr ""
1151
 
1152
+ #: aioseop_class.php:681
1153
  msgid "Additional Page Headers:"
1154
  msgstr ""
1155
 
1156
+ #: aioseop_class.php:684
1157
  msgid "Additional Front Page Headers:"
1158
  msgstr ""
1159
 
1160
+ #: aioseop_class.php:687
1161
  msgid "Additional Blog Page Headers:"
1162
  msgstr ""
1163
 
1164
+ #: aioseop_class.php:690
1165
  msgid "Log important events:"
1166
  msgstr ""
1167
 
1168
+ #: aioseop_class.php:710
1169
  msgid "Upgrade to All in One SEO Pack Pro Version"
1170
  msgstr ""
1171
 
1172
+ #: aioseop_class.php:714 all_in_one_seo_pack.php:204
1173
+ msgid "Support Forum"
1174
+ msgstr ""
1175
+
1176
+ #: aioseop_class.php:716
1177
  msgid "Preview Snippet"
1178
  msgstr ""
1179
 
1180
+ #: aioseop_class.php:729 modules/aioseop_opengraph.php:210
1181
  msgid "Title"
1182
  msgstr ""
1183
 
1184
+ #: aioseop_class.php:730 modules/aioseop_opengraph.php:212
1185
  msgid "Description"
1186
  msgstr ""
1187
 
1188
+ #: aioseop_class.php:732
1189
  msgid "Keywords (comma separated)"
1190
  msgstr ""
1191
 
1192
+ #: aioseop_class.php:733
1193
  msgid "Custom Canonical URL"
1194
  msgstr ""
1195
 
1196
+ #: aioseop_class.php:734
1197
  msgid "Robots Meta NOINDEX"
1198
  msgstr ""
1199
 
1200
+ #: aioseop_class.php:735
1201
  msgid "Robots Meta NOFOLLOW"
1202
  msgstr ""
1203
 
1204
+ #: aioseop_class.php:736
1205
  msgid "Robots Meta NOODP"
1206
  msgstr ""
1207
 
1208
+ #: aioseop_class.php:737
1209
  msgid "Robots Meta NOYDIR"
1210
  msgstr ""
1211
 
1212
+ #: aioseop_class.php:738
1213
  msgid "Title Attribute"
1214
  msgstr ""
1215
 
1216
+ #: aioseop_class.php:739
1217
  msgid "Menu Label"
1218
  msgstr ""
1219
 
1220
+ #: aioseop_class.php:740
1221
  msgid "Exclude From Sitemap"
1222
  msgstr ""
1223
 
1224
+ #: aioseop_class.php:741
1225
  msgid "Disable on this page/post"
1226
  msgstr ""
1227
 
1228
+ #: aioseop_class.php:742
1229
  msgid "Disable Google Analytics"
1230
  msgstr ""
1231
 
1232
+ #: aioseop_class.php:757 modules/aioseop_opengraph.php:272
1233
  msgid "Home Page Settings"
1234
  msgstr ""
1235
 
1236
+ #: aioseop_class.php:762
1237
  msgid "Keyword Settings"
1238
  msgstr ""
1239
 
1240
+ #: aioseop_class.php:767
1241
  msgid "Title Settings"
1242
  msgstr ""
1243
 
1244
+ #: aioseop_class.php:773
1245
  msgid "Custom Post Type Settings"
1246
  msgstr ""
1247
 
1248
+ #: aioseop_class.php:778
1249
  msgid "Display Settings"
1250
  msgstr ""
1251
 
1252
+ #: aioseop_class.php:783
1253
  msgid "Webmaster Verification"
1254
  msgstr ""
1255
 
1256
+ #: aioseop_class.php:788
1257
  msgid "Google Settings"
1258
  msgstr ""
1259
 
1260
+ #: aioseop_class.php:795
1261
  msgid "Noindex Settings"
1262
  msgstr ""
1263
 
1264
+ #: aioseop_class.php:800
1265
  msgid "Advanced Settings"
1266
  msgstr ""
1267
 
1268
+ #: aioseop_class.php:1194
1269
  msgid "Front Page"
1270
  msgstr ""
1271
 
1272
+ #: aioseop_class.php:1194
1273
  msgid "Everywhere Else"
1274
  msgstr ""
1275
 
1276
+ #: aioseop_class.php:1202
1277
  msgid "Title Format:"
1278
  msgstr ""
1279
 
1280
+ #: aioseop_class.php:1210
1281
+ msgid "%post_title% - The original title of the post."
1282
+ msgstr ""
1283
+
1284
+ #: aioseop_class.php:1214
1285
+ msgid "%%tax_%s%% - This post's associated %s taxonomy title"
1286
+ msgstr ""
1287
+
1288
+ #: aioseop_class.php:1245
1289
+ msgid "Taxonomy Title Format:"
1290
+ msgstr ""
1291
+
1292
+ #: aioseop_class.php:1253
1293
+ msgid "%taxonomy_title% - The original title of the taxonomy"
1294
+ msgstr ""
1295
+
1296
+ #: aioseop_class.php:1254
1297
+ msgid "%taxonomy_description% - The description of the taxonomy"
1298
+ msgstr ""
1299
+
1300
+ #: aioseop_class.php:1276 aioseop_class.php:1293
1301
  msgid "Welcome to Version %s!"
1302
  msgstr ""
1303
 
1304
+ #: aioseop_class.php:1277
1305
  msgid ""
1306
+ "Thank you for running the latest and greatest All in One SEO Pack Pro ever! "
1307
  "Please review your settings, as we're always adding new features for you!"
1308
  msgstr ""
1309
 
1310
+ #: aioseop_class.php:1283 aioseop_class.php:1300
1311
  msgid "Review Your Settings"
1312
  msgstr ""
1313
 
1314
+ #: aioseop_class.php:1284
1315
+ msgid ""
1316
+ "New in 2.3: improved support for taxonomies and a Video Sitemap module; "
1317
+ "enable modules from our feature manager! And please review your settings, we "
1318
+ "have added some new ones!"
1319
+ msgstr ""
1320
+
1321
+ #: aioseop_class.php:1294
1322
+ msgid ""
1323
+ "Thank you for running the latest and greatest All in One SEO Pack ever! "
1324
+ "Please review your settings, as we're always adding new features for you!"
1325
+ msgstr ""
1326
+
1327
+ #: aioseop_class.php:1301
1328
  msgid ""
1329
  "Thank you for running the latest and greatest All in One SEO Pack ever! New "
1330
  "since 2.2: Control who accesses your site with the new Robots.txt Editor and "
1332
  "review your settings, we have added some new ones!"
1333
  msgstr ""
1334
 
1335
+ #: aioseop_class.php:1321
1336
  msgid "Reset General Settings to Defaults"
1337
  msgstr ""
1338
 
1339
+ #: aioseop_class.php:1322
1340
  msgid "Reset ALL Settings to Defaults"
1341
  msgstr ""
1342
 
1343
+ #: aioseop_class.php:1430
1344
  msgid "Default - noindex"
1345
  msgstr ""
1346
 
1347
+ #: aioseop_class.php:1430
1348
  msgid "index"
1349
  msgstr ""
1350
 
1351
+ #: aioseop_class.php:1430
1352
  msgid "noindex"
1353
  msgstr ""
1354
 
1355
+ #: aioseop_class.php:1434
1356
  msgid "Default - nofollow"
1357
  msgstr ""
1358
 
1359
+ #: aioseop_class.php:1434
1360
  msgid "follow"
1361
  msgstr ""
1362
 
1363
+ #: aioseop_class.php:1434
1364
  msgid "nofollow"
1365
  msgstr ""
1366
 
1367
+ #: aioseop_class.php:1438
1368
  msgid "Default - noodp"
1369
  msgstr ""
1370
 
1371
+ #: aioseop_class.php:1438
1372
  msgid "odp"
1373
  msgstr ""
1374
 
1375
+ #: aioseop_class.php:1438
1376
  msgid "noodp"
1377
  msgstr ""
1378
 
1379
+ #: aioseop_class.php:1442
1380
  msgid "Default - noydir"
1381
  msgstr ""
1382
 
1383
+ #: aioseop_class.php:1442
1384
  msgid "ydir"
1385
  msgstr ""
1386
 
1387
+ #: aioseop_class.php:1442
1388
  msgid "noydir"
1389
  msgstr ""
1390
 
1391
+ #: aioseop_class.php:1508
1392
+ msgid "by %s of %s."
1393
+ msgstr ""
1394
+
1395
+ #: aioseop_class.php:1519
1396
  msgid "Reset Dismissed Notices"
1397
  msgstr ""
1398
 
1399
+ #: aioseop_class.php:1524
1400
  msgid "Pro Version"
1401
  msgstr ""
1402
 
1403
+ #: aioseop_class.php:1526
1404
  msgid "UPGRADE TO PRO VERSION"
1405
  msgstr ""
1406
 
1407
+ #: aioseop_class.php:1548 all_in_one_seo_pack.php:235
1408
  msgid "Donate"
1409
  msgstr ""
1410
 
1411
+ #: aioseop_class.php:1550
1412
  msgid "Donate with Paypal"
1413
  msgstr ""
1414
 
1415
+ #: aioseop_class.php:1552
1416
  msgid "My Amazon Wish List"
1417
  msgstr ""
1418
 
1419
+ #: aioseop_class.php:1555
1420
  msgid "Follow us on Facebook"
1421
  msgstr ""
1422
 
1423
+ #: aioseop_class.php:1556
1424
  msgid "Follow us on Twitter"
1425
  msgstr ""
1426
 
1427
+ #: aioseop_class.php:1566
1428
  msgid "Join our mailing list for tips, tricks, and WordPress secrets."
1429
  msgstr ""
1430
 
1431
+ #: aioseop_class.php:1567
1432
+ msgid ""
1433
+ "Sign up today and receive a free copy of the e-book 5 SEO Tips for WordPress "
1434
+ "($39 value)."
1435
+ msgstr ""
1436
+
1437
+ #: aioseop_class.php:1576
1438
+ msgid "Read the All in One SEO Pack user guide"
1439
+ msgstr ""
1440
+
1441
+ #: aioseop_class.php:1577
1442
+ msgid "All in One SEO Pro Plugin Support Forum"
1443
+ msgstr ""
1444
+
1445
+ #: aioseop_class.php:1578
1446
+ msgid "Access our Premium Support Forums"
1447
+ msgstr ""
1448
+
1449
+ #: aioseop_class.php:1579
1450
+ msgid "All in One SEO Pro Plugin Changelog"
1451
+ msgstr ""
1452
+
1453
+ #: aioseop_class.php:1580
1454
+ msgid "View the Changelog"
1455
+ msgstr ""
1456
+
1457
+ #: aioseop_class.php:1581
1458
+ msgid "Watch video tutorials"
1459
+ msgstr ""
1460
+
1461
+ #: aioseop_class.php:1582
1462
+ msgid "Getting started? Read the Beginners Guide"
1463
+ msgstr ""
1464
+
1465
+ #: aioseop_class.php:1879
1466
+ msgid "Warning: You're blocking access to search engines."
1467
+ msgstr ""
1468
+
1469
+ #: aioseop_class.php:1880
1470
+ msgid ""
1471
+ "You can %s click here%s to go to your reading settings and toggle your blog "
1472
+ "visibility."
1473
+ msgstr ""
1474
+
1475
+ #: aioseop_class.php:2039
1476
+ msgid ""
1477
+ "Debug Warning: All in One SEO Pack meta data was included again from %s "
1478
+ "filter. Called %s times!"
1479
+ msgstr ""
1480
+
1481
+ #: aioseop_class.php:2060
1482
+ msgid "Debug String"
1483
+ msgstr ""
1484
+
1485
+ #: aioseop_class.php:2302
1486
+ msgid "Disconnect From Google Analytics"
1487
+ msgstr ""
1488
+
1489
+ #: aioseop_class.php:2303
1490
+ msgid "Remove Stored Credentials"
1491
+ msgstr ""
1492
+
1493
+ #: aioseop_class.php:2310
1494
+ msgid "Connect With Google Analytics"
1495
+ msgstr ""
1496
+
1497
+ #: aioseop_class.php:2325 aioseop_class.php:2343 aioseop_class.php:2375
1498
+ msgid "Google Analytics"
1499
+ msgstr ""
1500
+
1501
+ #: aioseop_class.php:3637
1502
+ msgid "SEO"
1503
+ msgstr ""
1504
+
1505
+ #: aioseop_class.php:3644
1506
+ msgid "Edit SEO"
1507
+ msgstr ""
1508
+
1509
+ #: aioseop_class.php:3651
1510
+ msgid "Upgrade To Pro"
1511
+ msgstr ""
1512
+
1513
+ #: aioseop_class.php:3709
1514
+ msgid "All in One SEO"
1515
+ msgstr ""
1516
+
1517
+ #: aioseop_class.php:3753
1518
+ msgid "Thank you!"
1519
+ msgstr ""
1520
+
1521
+ #: aioseop_class.php:3754
1522
+ msgid ""
1523
+ "Thank you for your donation, it helps keep this plugin free and actively "
1524
+ "developed!"
1525
+ msgstr ""
1526
+
1527
+ #: aioseop_class.php:3793
1528
+ msgid "Join Our Mailing List"
1529
+ msgstr ""
1530
+
1531
+ #: aioseop_class.php:3795
1532
+ msgid "About"
1533
+ msgstr ""
1534
+
1535
+ #: aioseop_class.php:3799
1536
+ msgid "Support"
1537
+ msgstr ""
1538
+
1539
+ #: aioseop_class.php:3799
1540
+ msgid "Version"
1541
+ msgstr ""
1542
+
1543
+ #: aioseop_class.php:3822 aioseop_class.php:3834 aioseop_module_class.php:1448
1544
+ #: aioseop_module_class.php:1638 aioseop_module_class.php:1833
1545
+ msgid "Help"
1546
+ msgstr ""
1547
+
1548
+ #: aioseop_class.php:3846
1549
+ msgid "Main Settings"
1550
+ msgstr ""
1551
+
1552
+ #: aioseop_functions.php:146
1553
+ msgid "SEO Title"
1554
+ msgstr ""
1555
+
1556
+ #: aioseop_functions.php:147
1557
+ msgid "SEO Description"
1558
+ msgstr ""
1559
+
1560
+ #: aioseop_functions.php:149
1561
+ msgid "SEO Keywords"
1562
+ msgstr ""
1563
+
1564
+ #: aioseop_functions.php:207 aioseop_functions.php:286
1565
+ #: aioseop_functions.php:564
1566
+ msgid "Edit"
1567
+ msgstr ""
1568
+
1569
+ #: aioseop_functions.php:207
1570
+ msgid "Post"
1571
+ msgstr ""
1572
+
1573
+ #: aioseop_functions.php:207
1574
+ msgid "Save"
1575
+ msgstr ""
1576
+
1577
+ #: aioseop_functions.php:207
1578
+ msgid "Cancel"
1579
+ msgstr ""
1580
+
1581
+ #: aioseop_functions.php:208
1582
+ msgid "Please wait..."
1583
+ msgstr ""
1584
+
1585
+ #: aioseop_functions.php:208
1586
+ msgid "Slug may not be empty!"
1587
+ msgstr ""
1588
+
1589
+ #: aioseop_functions.php:209
1590
+ msgid "Revisions"
1591
+ msgstr ""
1592
+
1593
+ #: aioseop_functions.php:209
1594
+ msgid "Insert time"
1595
+ msgstr ""
1596
+
1597
+ #: aioseop_functions.php:282 aioseop_functions.php:560
1598
+ #: modules/aioseop_performance.php:155 modules/aioseop_performance.php:157
1599
+ #: modules/aioseop_performance.php:159 modules/aioseop_performance.php:172
1600
+ msgid "No"
1601
+ msgstr ""
1602
+
1603
+ #: aioseop_functions.php:303
1604
+ msgid "Unauthorized access; try reloading the page."
1605
+ msgstr ""
1606
+
1607
+ #: aioseop_functions.php:377
1608
+ msgid "Row %s not found; no rows were deleted."
1609
+ msgstr ""
1610
+
1611
+ #: aioseop_functions.php:439
1612
+ msgid "Duplicate %s Meta"
1613
+ msgstr ""
1614
+
1615
+ #: aioseop_functions.php:441
1616
+ msgid "No duplicate meta tags found."
1617
+ msgstr ""
1618
+
1619
+ #: aioseop_functions.php:444
1620
+ msgid "What Does This Mean?"
1621
+ msgstr ""
1622
+
1623
+ #: aioseop_functions.php:445
1624
+ msgid ""
1625
+ "All in One SEO Pack has detected that a plugin(s) or theme is also "
1626
+ "outputting social meta tags on your site.  You can view this social meta in "
1627
+ "the source code of your site (check your browser help for instructions on "
1628
+ "how to view source code)."
1629
+ msgstr ""
1630
+
1631
+ #: aioseop_functions.php:446
1632
+ msgid ""
1633
+ "You may prefer to use the social meta tags that are being output by the "
1634
+ "other plugin(s) or theme.  If so, then you should deactivate this Social "
1635
+ "Meta feature in All in One SEO Pack Feature Manager."
1636
+ msgstr ""
1637
+
1638
+ #: aioseop_functions.php:447
1639
+ msgid ""
1640
+ "You should avoid duplicate social meta tags.  You can use these free tools "
1641
+ "from Facebook, Google and Twitter to validate your social meta and check for "
1642
+ "errors:"
1643
+ msgstr ""
1644
+
1645
+ #: aioseop_functions.php:452
1646
+ msgid ""
1647
+ "Please refer to the document for each tool for help in using these to debug "
1648
+ "your social meta."
1649
+ msgstr ""
1650
+
1651
+ #: aioseop_functions.php:675
1652
+ msgid "Google+"
1653
+ msgstr ""
1654
+
1655
+ #: aioseop_functions.php:680
1656
+ msgid "Twitter"
1657
+ msgstr ""
1658
+
1659
+ #: aioseop_functions.php:682
1660
+ msgid "Facebook"
1661
+ msgstr ""
1662
+
1663
+ #: aioseop_module_class.php:1210
1664
+ msgid "Click here for documentation on this setting"
1665
+ msgstr ""
1666
+
1667
+ #: aioseop_module_class.php:1585
1668
+ msgid " characters. Most search engines use a maximum of %s chars for the %s."
1669
+ msgstr ""
1670
+
1671
+ #: aioseop_module_class.php:1611
1672
+ msgid "Click for Help!"
1673
+ msgstr ""
1674
+
1675
+ #: aioseop_module_class.php:1756 modules/aioseop_sitemap.php:510
1676
+ msgid ""
1677
+ "Security Check - If you receive this in error, log out and back in to "
1678
+ "WordPress"
1679
+ msgstr ""
1680
+
1681
+ #: aioseop_module_class.php:1758
1682
+ msgid "Options Reset."
1683
+ msgstr ""
1684
+
1685
+ #: aioseop_module_class.php:1767
1686
+ msgid "All in One SEO Options Updated."
1687
+ msgstr ""
1688
+
1689
+ #: aioseop_module_class.php:1813
1690
+ msgid "Update Options"
1691
  msgstr ""
1692
 
1693
+ #: all_in_one_seo_pack.php:50
1694
+ msgid "%s detected a conflict; please deactivate the plugin located in %s."
1695
  msgstr ""
1696
 
1697
+ #: all_in_one_seo_pack.php:199
1698
+ msgid "SEO Settings"
1699
  msgstr ""
1700
 
1701
+ #: all_in_one_seo_pack.php:209
1702
+ msgid "Documentation"
1703
  msgstr ""
1704
 
1705
+ #: all_in_one_seo_pack.php:220
1706
+ msgid "Upgrade to Pro"
1707
  msgstr ""
1708
 
1709
+ #: all_in_one_seo_pack.php:240
1710
+ msgid "Amazon Wishlist"
1711
  msgstr ""
1712
 
1713
+ #: inc/commonstrings.php:8 modules/aioseop_feature_manager.php:42
1714
+ #: modules/aioseop_feature_manager.php:49
1715
+ msgid "Video Sitemap"
1716
  msgstr ""
1717
 
1718
+ #: inc/commonstrings.php:9
1719
+ msgid "Show Only Posts With Videos"
1720
  msgstr ""
1721
 
1722
+ #: inc/commonstrings.php:10
1723
+ msgid "Scan Posts For Videos"
 
 
1724
  msgstr ""
1725
 
1726
+ #: inc/commonstrings.php:11
1727
+ msgid "Restrict Access to Video Sitemap"
1728
  msgstr ""
1729
 
1730
+ #: inc/commonstrings.php:12
1731
+ msgid ""
1732
+ "Press the Scan button to scan your posts for videos! Do this if video "
1733
+ "content from a post or posts is not showing up in your sitemap."
1734
  msgstr ""
1735
 
1736
+ #: inc/commonstrings.php:13
1737
+ msgid ""
1738
+ "If checked, only posts that have videos in them will be displayed on the "
1739
+ "sitemap."
1740
  msgstr ""
1741
 
1742
+ #: inc/commonstrings.php:14
1743
+ msgid ""
1744
+ "Enable this option to only allow access to your sitemap by site "
1745
+ "administrators and major search engines."
1746
  msgstr ""
1747
 
1748
+ #: inc/commonstrings.php:15
1749
+ msgid ""
1750
+ "You do not have access to this page; try logging in as an administrator."
1751
  msgstr ""
1752
 
1753
+ #: inc/commonstrings.php:16
1754
+ msgid "Scan"
1755
  msgstr ""
1756
 
1757
+ #: inc/commonstrings.php:19
1758
+ msgid "Finished scanning posts"
1759
  msgstr ""
1760
 
1761
+ #: inc/commonstrings.php:22
1762
+ msgid "Purchase one now"
1763
  msgstr ""
1764
 
1765
+ #: inc/commonstrings.php:23
1766
+ msgid "License Key is not set yet or invalid. "
 
 
1767
  msgstr ""
1768
 
1769
+ #: inc/commonstrings.php:24
1770
+ msgid " Need a license key?"
1771
  msgstr ""
1772
 
1773
+ #: inc/commonstrings.php:25
1774
+ msgid "Notice: "
1775
  msgstr ""
1776
 
1777
+ #: inc/commonstrings.php:26
1778
+ msgid "Manage Licenses"
1779
  msgstr ""
1780
 
1781
+ #: modules/aioseop_bad_robots.php:11 modules/aioseop_feature_manager.php:29
1782
+ msgid "Bad Bot Blocker"
 
1783
  msgstr ""
1784
 
1785
+ #: modules/aioseop_bad_robots.php:17
1786
+ msgid "Block requests from user agents that are known to misbehave with 503."
1787
  msgstr ""
1788
 
1789
+ #: modules/aioseop_bad_robots.php:18
1790
+ msgid "Block Referral Spam using HTTP."
1791
  msgstr ""
1792
 
1793
+ #: modules/aioseop_bad_robots.php:19
1794
+ msgid "Log and show recent requests from blocked bots."
1795
  msgstr ""
1796
 
1797
+ #: modules/aioseop_bad_robots.php:20
1798
  msgid ""
1799
+ "Block bad robots via Apaache .htaccess rules. Warning: this will change your "
1800
+ "web server configuration, make sure you are able to edit this file manually "
1801
+ "as well."
1802
  msgstr ""
1803
 
1804
+ #: modules/aioseop_bad_robots.php:21
1805
+ msgid ""
1806
+ "Check this to edit the list of disallowed user agents for blocking bad bots."
1807
  msgstr ""
1808
 
1809
+ #: modules/aioseop_bad_robots.php:22
1810
+ msgid "This is the list of disallowed user agents used for blocking bad bots."
 
 
1811
  msgstr ""
1812
 
1813
+ #: modules/aioseop_bad_robots.php:23
1814
+ msgid "This is the list of disallowed referers used for blocking bad bots."
1815
  msgstr ""
1816
 
1817
+ #: modules/aioseop_bad_robots.php:24
1818
  msgid ""
1819
+ "Shows log of most recent requests from blocked bots. Note: this will not "
1820
+ "track any bots that were already blocked at the web server / .htaccess level."
1821
  msgstr ""
1822
 
1823
+ #: modules/aioseop_bad_robots.php:28
1824
+ msgid "Block Bad Bots using HTTP"
1825
  msgstr ""
1826
 
1827
+ #: modules/aioseop_bad_robots.php:29
1828
+ msgid "Block Referral Spam using HTTP"
 
1829
  msgstr ""
1830
 
1831
+ #: modules/aioseop_bad_robots.php:30
1832
+ msgid "Track Blocked Bots"
1833
  msgstr ""
1834
 
1835
+ #: modules/aioseop_bad_robots.php:31
1836
+ msgid "Block Bad Bots using .htaccess"
1837
  msgstr ""
1838
 
1839
+ #: modules/aioseop_bad_robots.php:32
1840
+ msgid "Use Custom Blocklists"
1841
  msgstr ""
1842
 
1843
+ #: modules/aioseop_bad_robots.php:33
1844
+ msgid "User Agent Blocklist"
1845
  msgstr ""
1846
 
1847
+ #: modules/aioseop_bad_robots.php:34
1848
+ msgid "Referer Blocklist"
1849
  msgstr ""
1850
 
1851
+ #: modules/aioseop_bad_robots.php:35
1852
+ msgid "Log Of Blocked Bots"
1853
  msgstr ""
1854
 
1855
+ #: modules/aioseop_bad_robots.php:35
1856
+ msgid "No requests yet."
1857
  msgstr ""
1858
 
1859
+ #: modules/aioseop_bad_robots.php:67
1860
+ msgid "Blocked bot with IP %s -- matched user agent %s found in blocklist."
1861
  msgstr ""
1862
 
1863
+ #: modules/aioseop_bad_robots.php:73
1864
+ msgid "Blocked bot with IP %s -- matched referer %s found in blocklist."
1865
  msgstr ""
1866
 
1867
+ #: modules/aioseop_bad_robots.php:82 modules/aioseop_bad_robots.php:115
1868
+ msgid "Updated .htaccess rules."
1869
  msgstr ""
1870
 
1871
+ #: modules/aioseop_bad_robots.php:84 modules/aioseop_bad_robots.php:117
1872
+ msgid "Failed to update .htaccess rules!"
1873
  msgstr ""
1874
 
1875
+ #: modules/aioseop_bad_robots.php:95
1876
+ msgid "Apache module %s is required!"
1877
  msgstr ""
1878
 
1879
+ #: modules/aioseop_bad_robots.php:120
1880
+ msgid "No rules to update!"
1881
  msgstr ""
1882
 
1883
+ #: modules/aioseop_feature_manager.php:14
1884
+ msgid "Feature Manager"
1885
  msgstr ""
1886
 
1887
+ #: modules/aioseop_feature_manager.php:19
1888
+ msgid "XML Sitemaps"
1889
  msgstr ""
1890
 
1891
+ #: modules/aioseop_feature_manager.php:20
1892
+ msgid ""
1893
+ "Create and manage your XML Sitemaps using this feature and submit your XML "
1894
+ "Sitemap to Google, Bing/Yahoo and Ask.com."
1895
  msgstr ""
1896
 
1897
+ #: modules/aioseop_feature_manager.php:21 modules/aioseop_opengraph.php:14
1898
+ msgid "Social Meta"
1899
  msgstr ""
1900
 
1901
+ #: modules/aioseop_feature_manager.php:22
1902
+ msgid ""
1903
+ "Activate this feature to add Social Meta data to your site to deliver closer "
1904
+ "integration between your website/blog and Facebook, Twitter, and Google+."
1905
  msgstr ""
1906
 
1907
+ #: modules/aioseop_feature_manager.php:23 modules/aioseop_robots.php:12
1908
+ #: modules/aioseop_robots.php:91
1909
+ msgid "Robots.txt"
1910
  msgstr ""
1911
 
1912
+ #: modules/aioseop_feature_manager.php:24
1913
+ msgid ""
1914
+ "Generate and validate your robots.txt file to guide search engines through "
1915
+ "your site."
1916
  msgstr ""
1917
 
1918
+ #: modules/aioseop_feature_manager.php:25 modules/aioseop_file_editor.php:12
1919
+ msgid "File Editor"
 
1920
  msgstr ""
1921
 
1922
+ #: modules/aioseop_feature_manager.php:26
1923
+ msgid ""
1924
+ "Edit your robots.txt file and your .htaccess file to fine-tune your site."
1925
  msgstr ""
1926
 
1927
+ #: modules/aioseop_feature_manager.php:27
1928
+ #: modules/aioseop_importer_exporter.php:12
1929
+ msgid "Importer & Exporter"
1930
  msgstr ""
1931
 
1932
+ #: modules/aioseop_feature_manager.php:28
1933
+ msgid "Exports and imports your All in One SEO Pack plugin settings."
1934
  msgstr ""
1935
 
1936
+ #: modules/aioseop_feature_manager.php:30
1937
+ msgid "Stop badly behaving bots from slowing down your website."
1938
  msgstr ""
1939
 
1940
+ #: modules/aioseop_feature_manager.php:31 modules/aioseop_performance.php:14
1941
+ msgid "Performance"
1942
  msgstr ""
1943
 
1944
+ #: modules/aioseop_feature_manager.php:32
1945
+ msgid "Optimize performance related to SEO and check your system status."
1946
  msgstr ""
1947
 
1948
+ #: modules/aioseop_feature_manager.php:39
1949
+ #: modules/aioseop_feature_manager.php:48
1950
+ msgid "Coming Soon..."
1951
  msgstr ""
1952
 
1953
+ #: modules/aioseop_feature_manager.php:40
1954
+ msgid "Image SEO"
 
 
1955
  msgstr ""
1956
 
1957
+ #: modules/aioseop_feature_manager.php:43
1958
+ msgid ""
1959
+ "Create and manage your Video Sitemap using this feature and submit your "
1960
+ "Video Sitemap to Google, Bing/Yahoo and Ask.com."
1961
  msgstr ""
1962
 
1963
+ #: modules/aioseop_feature_manager.php:103
1964
+ msgid "Update Features"
1965
  msgstr ""
1966
 
1967
+ #: modules/aioseop_feature_manager.php:105
1968
+ msgid "Reset Features"
1969
  msgstr ""
1970
 
1971
+ #: modules/aioseop_file_editor.php:22 modules/aioseop_robots.php:21
1972
+ msgid "Robots.txt editor"
1973
  msgstr ""
1974
 
1975
+ #: modules/aioseop_file_editor.php:23
1976
+ msgid ".htaccess editor"
1977
  msgstr ""
1978
 
1979
+ #: modules/aioseop_file_editor.php:26
1980
+ msgid "Edit Robots.txt"
 
 
 
 
1981
  msgstr ""
1982
 
1983
+ #: modules/aioseop_file_editor.php:28 modules/aioseop_file_editor.php:47
1984
+ msgid "Edit .htaccess"
 
 
 
1985
  msgstr ""
1986
 
1987
+ #: modules/aioseop_file_editor.php:36
1988
+ msgid "robots.txt"
 
 
 
1989
  msgstr ""
1990
 
1991
+ #: modules/aioseop_file_editor.php:37
1992
+ msgid ".htaccess"
 
 
1993
  msgstr ""
1994
 
1995
+ #: modules/aioseop_file_editor.php:42
1996
+ msgid "Edit robots.txt"
1997
  msgstr ""
1998
 
1999
+ #: modules/aioseop_file_editor.php:70
2000
+ msgid "Update robots.txt"
2001
  msgstr ""
2002
 
2003
+ #: modules/aioseop_file_editor.php:72
2004
+ msgid "Update .htaccess"
2005
  msgstr ""
2006
 
2007
+ #: modules/aioseop_importer_exporter.php:17
2008
  msgid ""
2009
  "Select a valid All in One SEO Pack ini file and click 'Import' to import "
2010
  "options from a previous state or install of All in One SEO Pack.<br /><a "
2012
  "target='_blank'>Click here for documentation on this setting</a>"
2013
  msgstr ""
2014
 
2015
+ #: modules/aioseop_importer_exporter.php:18
2016
  msgid ""
2017
  "You may choose to export settings from active modules, and content from post "
2018
  "data.<br /><a href='http://semperplugins.com/documentation/importer-exporter-"
2019
  "module/' target='_blank'>Click here for documentation on this setting</a>"
2020
  msgstr ""
2021
 
2022
+ #: modules/aioseop_importer_exporter.php:19
2023
  msgid ""
2024
  "Select which Post Types you want to export your All in One SEO Pack meta "
2025
  "data for.<br /><a href='http://semperplugins.com/documentation/importer-"
2027
  "setting</a>"
2028
  msgstr ""
2029
 
2030
+ #: modules/aioseop_importer_exporter.php:23
2031
+ #: modules/aioseop_importer_exporter.php:57
2032
  msgid "Import"
2033
  msgstr ""
2034
 
2035
+ #: modules/aioseop_importer_exporter.php:24
2036
  msgid "Export Settings"
2037
  msgstr ""
2038
 
2039
+ #: modules/aioseop_importer_exporter.php:28
2040
  msgid "Export Post Types:"
2041
  msgstr ""
2042
 
2043
+ #: modules/aioseop_importer_exporter.php:32
2044
  msgid ""
2045
  "Note: If General Settings is checked, the General Settings, the Feature "
2046
  "Manager settings, and the following currently active modules will have their "
2047
  "settings data exported:"
2048
  msgstr ""
2049
 
2050
+ #: modules/aioseop_importer_exporter.php:60
2051
  msgid "Export"
2052
  msgstr ""
2053
 
2054
+ #: modules/aioseop_importer_exporter.php:80
2055
  msgid "There are no other modules currently loaded!"
2056
  msgstr ""
2057
 
2058
+ #: modules/aioseop_importer_exporter.php:82
2059
  msgid ""
2060
  "You may change this by activating or deactivating modules in the Feature "
2061
  "Manager."
2062
  msgstr ""
2063
 
2064
+ #: modules/aioseop_importer_exporter.php:247
2065
  msgid "<b>Warning:</b> Line not matched: <b>\"%s\"</b>, On Line: <b>%s</b>"
2066
  msgstr ""
2067
 
2068
+ #: modules/aioseop_importer_exporter.php:270
2069
  msgid "<b>Warning:</b> This following post could not be found: <b>\"%s\"</b>"
2070
  msgstr ""
2071
 
2072
+ #: modules/aioseop_importer_exporter.php:298
2073
  msgid "Settings export file for All in One SEO Pack"
2074
  msgstr ""
2075
 
2076
+ #: modules/aioseop_opengraph.php:19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2077
  msgid "Activity"
2078
  msgstr ""
2079
 
2080
+ #: modules/aioseop_opengraph.php:20
2081
  msgid "Sport"
2082
  msgstr ""
2083
 
2084
+ #: modules/aioseop_opengraph.php:23
2085
  msgid "Bar"
2086
  msgstr ""
2087
 
2088
+ #: modules/aioseop_opengraph.php:24
2089
  msgid "Company"
2090
  msgstr ""
2091
 
2092
+ #: modules/aioseop_opengraph.php:25
2093
  msgid "Cafe"
2094
  msgstr ""
2095
 
2096
+ #: modules/aioseop_opengraph.php:26
2097
  msgid "Hotel"
2098
  msgstr ""
2099
 
2100
+ #: modules/aioseop_opengraph.php:27
2101
  msgid "Restaurant"
2102
  msgstr ""
2103
 
2104
+ #: modules/aioseop_opengraph.php:30
2105
  msgid "Cause"
2106
  msgstr ""
2107
 
2108
+ #: modules/aioseop_opengraph.php:31
2109
  msgid "Sports League"
2110
  msgstr ""
2111
 
2112
+ #: modules/aioseop_opengraph.php:32
2113
  msgid "Sports Team"
2114
  msgstr ""
2115
 
2116
+ #: modules/aioseop_opengraph.php:35
2117
  msgid "Band"
2118
  msgstr ""
2119
 
2120
+ #: modules/aioseop_opengraph.php:36
2121
  msgid "Government"
2122
  msgstr ""
2123
 
2124
+ #: modules/aioseop_opengraph.php:37
2125
  msgid "Non Profit"
2126
  msgstr ""
2127
 
2128
+ #: modules/aioseop_opengraph.php:38
2129
  msgid "School"
2130
  msgstr ""
2131
 
2132
+ #: modules/aioseop_opengraph.php:39
2133
  msgid "University"
2134
  msgstr ""
2135
 
2136
+ #: modules/aioseop_opengraph.php:42
2137
  msgid "Actor"
2138
  msgstr ""
2139
 
2140
+ #: modules/aioseop_opengraph.php:43
2141
  msgid "Athlete"
2142
  msgstr ""
2143
 
2144
+ #: modules/aioseop_opengraph.php:44
2145
  msgid "Author"
2146
  msgstr ""
2147
 
2148
+ #: modules/aioseop_opengraph.php:45
2149
  msgid "Director"
2150
  msgstr ""
2151
 
2152
+ #: modules/aioseop_opengraph.php:46
2153
  msgid "Musician"
2154
  msgstr ""
2155
 
2156
+ #: modules/aioseop_opengraph.php:47
2157
  msgid "Politician"
2158
  msgstr ""
2159
 
2160
+ #: modules/aioseop_opengraph.php:48
2161
  msgid "Profile"
2162
  msgstr ""
2163
 
2164
+ #: modules/aioseop_opengraph.php:49
2165
  msgid "Public Figure"
2166
  msgstr ""
2167
 
2168
+ #: modules/aioseop_opengraph.php:52
2169
  msgid "City"
2170
  msgstr ""
2171
 
2172
+ #: modules/aioseop_opengraph.php:53
2173
  msgid "Country"
2174
  msgstr ""
2175
 
2176
+ #: modules/aioseop_opengraph.php:54
2177
  msgid "Landmark"
2178
  msgstr ""
2179
 
2180
+ #: modules/aioseop_opengraph.php:55
2181
  msgid "State Province"
2182
  msgstr ""
2183
 
2184
+ #: modules/aioseop_opengraph.php:58
2185
  msgid "Album"
2186
  msgstr ""
2187
 
2188
+ #: modules/aioseop_opengraph.php:59
2189
  msgid "Book"
2190
  msgstr ""
2191
 
2192
+ #: modules/aioseop_opengraph.php:60
2193
  msgid "Drink"
2194
  msgstr ""
2195
 
2196
+ #: modules/aioseop_opengraph.php:61
2197
  msgid "Food"
2198
  msgstr ""
2199
 
2200
+ #: modules/aioseop_opengraph.php:62
2201
  msgid "Game"
2202
  msgstr ""
2203
 
2204
+ #: modules/aioseop_opengraph.php:63
2205
  msgid "Movie"
2206
  msgstr ""
2207
 
2208
+ #: modules/aioseop_opengraph.php:64
2209
  msgid "Product"
2210
  msgstr ""
2211
 
2212
+ #: modules/aioseop_opengraph.php:65
2213
  msgid "Song"
2214
  msgstr ""
2215
 
2216
+ #: modules/aioseop_opengraph.php:66
2217
  msgid "TV Show"
2218
  msgstr ""
2219
 
2220
+ #: modules/aioseop_opengraph.php:67
2221
  msgid "Episode"
2222
  msgstr ""
2223
 
2224
+ #: modules/aioseop_opengraph.php:69 modules/aioseop_opengraph.php:76
2225
  msgid "Article"
2226
  msgstr ""
2227
 
2228
+ #: modules/aioseop_opengraph.php:70 modules/aioseop_opengraph.php:76
2229
  msgid "Blog"
2230
  msgstr ""
2231
 
2232
+ #: modules/aioseop_opengraph.php:71 modules/aioseop_opengraph.php:76
2233
  msgid "Website"
2234
  msgstr ""
2235
 
2236
+ #: modules/aioseop_opengraph.php:79
2237
  msgid ""
2238
  "Checking this box will use the Home Title and Home Description set in All in "
2239
  "One SEO Pack, General Settings as the Open Graph title and description for "
2240
  "your home page."
2241
  msgstr ""
2242
 
2243
+ #: modules/aioseop_opengraph.php:80
2244
  msgid ""
2245
+ "Enter your Facebook Admin ID here. Information about how to get your "
2246
+ "Facebook Admin ID can be found at https://developers.facebook.com/docs/"
2247
+ "platforminsights/domains"
2248
+ msgstr ""
2249
+
2250
+ #: modules/aioseop_opengraph.php:81
2251
+ msgid ""
2252
+ "Enter your Facebook App ID here. Information about how to get your Facebook "
2253
+ "App ID can be found at https://developers.facebook.com/docs/platforminsights/"
2254
+ "domains"
2255
+ msgstr ""
2256
+
2257
+ #: modules/aioseop_opengraph.php:82
2258
+ msgid "Run shortcodes that appear in social title meta tags."
2259
+ msgstr ""
2260
+
2261
+ #: modules/aioseop_opengraph.php:83
2262
+ msgid "Run shortcodes that appear in social description meta tags."
2263
  msgstr ""
2264
 
2265
+ #: modules/aioseop_opengraph.php:84
2266
  msgid "The Site Name is the name that is used to identify your website."
2267
  msgstr ""
2268
 
2269
+ #: modules/aioseop_opengraph.php:85
2270
  msgid "The Home Title is the Open Graph title for your home page."
2271
  msgstr ""
2272
 
2273
+ #: modules/aioseop_opengraph.php:86
2274
  msgid "The Home Description is the Open Graph description for your home page."
2275
  msgstr ""
2276
 
2277
+ #: modules/aioseop_opengraph.php:87
2278
  msgid "The Home Image is the Open Graph image for your home page."
2279
  msgstr ""
2280
 
2281
+ #: modules/aioseop_opengraph.php:88
2282
  msgid ""
2283
  "The Home Tag allows you to add a list of keywords that best describe your "
2284
  "home page content."
2285
  msgstr ""
2286
 
2287
+ #: modules/aioseop_opengraph.php:89
2288
  msgid ""
2289
  "Check this and your Open Graph descriptions will be auto-generated from your "
2290
  "content."
2291
  msgstr ""
2292
 
2293
+ #: modules/aioseop_opengraph.php:90
2294
  msgid ""
2295
  "This option lets you choose which image will be displayed by default for the "
2296
  "Open Graph image. You may override this on individual posts."
2297
  msgstr ""
2298
 
2299
+ #: modules/aioseop_opengraph.php:91
2300
  msgid ""
2301
  "This option lets you fall back to the default image if no image could be "
2302
  "found above."
2303
  msgstr ""
2304
 
2305
+ #: modules/aioseop_opengraph.php:92
2306
  msgid ""
2307
  "This option sets a default image that can be used for the Open Graph image. "
2308
  "You can upload an image, select an image from your Media Library or paste "
2309
  "the URL of an image here."
2310
  msgstr ""
2311
 
2312
+ #: modules/aioseop_opengraph.php:93
2313
+ msgid ""
2314
+ "This option lets you set a default width for your images, where unspecified."
2315
+ msgstr ""
2316
+
2317
+ #: modules/aioseop_opengraph.php:94
2318
+ msgid ""
2319
+ "This option lets you set a default height for your images, where unspecified."
2320
+ msgstr ""
2321
+
2322
+ #: modules/aioseop_opengraph.php:95
2323
  msgid ""
2324
  "Enter the name of a custom field (or multiple field names separated by "
2325
  "commas) to use that field to specify the Open Graph image on Pages or Posts."
2326
  msgstr ""
2327
 
2328
+ #: modules/aioseop_opengraph.php:96
2329
  msgid "Set the Open Graph type for your website as either a blog or a website."
2330
  msgstr ""
2331
 
2332
+ #: modules/aioseop_opengraph.php:97
2333
  msgid ""
2334
  "This option lets you select the Open Graph image that will be used for this "
2335
  "Page or Post, overriding the default settings."
2336
  msgstr ""
2337
 
2338
+ #: modules/aioseop_opengraph.php:98
2339
  msgid ""
2340
  "This option lets you upload an image to use as the Open Graph image for this "
2341
  "Page or Post."
2342
  msgstr ""
2343
 
2344
+ #: modules/aioseop_opengraph.php:99
2345
  msgid "Enter the width for your Open Graph image in pixels (i.e. 600)."
2346
  msgstr ""
2347
 
2348
+ #: modules/aioseop_opengraph.php:100
2349
  msgid "Enter the height for your Open Graph image in pixels (i.e. 600)."
2350
  msgstr ""
2351
 
2352
+ #: modules/aioseop_opengraph.php:101
2353
  msgid ""
2354
  "This option lets you specify a link to the Open Graph video used on this "
2355
  "Page or Post."
2356
  msgstr ""
2357
 
2358
+ #: modules/aioseop_opengraph.php:102
2359
  msgid "Enter the width for your Open Graph video in pixels (i.e. 600)."
2360
  msgstr ""
2361
 
2362
+ #: modules/aioseop_opengraph.php:103
2363
  msgid "Enter the height for your Open Graph video in pixels (i.e. 600)."
2364
  msgstr ""
2365
 
2366
+ #: modules/aioseop_opengraph.php:104 modules/aioseop_opengraph.php:105
2367
  msgid "Select the default type of Twitter card to display."
2368
  msgstr ""
2369
 
2370
+ #: modules/aioseop_opengraph.php:106
2371
  msgid "Enter the Twitter username associated with your website here."
2372
  msgstr ""
2373
 
2374
+ #: modules/aioseop_opengraph.php:107
2375
  msgid ""
2376
  "Allows your authors to be identified by their Twitter usernames as content "
2377
  "creators on the Twitter cards for their posts."
2378
  msgstr ""
2379
 
2380
+ #: modules/aioseop_opengraph.php:108
2381
  msgid "Enter the name of your website here."
2382
  msgstr ""
2383
 
2384
+ #: modules/aioseop_opengraph.php:109
2385
+ msgid ""
2386
+ "Automatically generate article tags for Facebook type article when not "
2387
+ "provided."
2388
+ msgstr ""
2389
+
2390
+ #: modules/aioseop_opengraph.php:110
2391
+ msgid "Use keywords in generated article tags."
2392
+ msgstr ""
2393
+
2394
+ #: modules/aioseop_opengraph.php:111
2395
+ msgid "Use catergories in generated article tags."
2396
+ msgstr ""
2397
+
2398
+ #: modules/aioseop_opengraph.php:112
2399
+ msgid "Use post tags in generated article tags."
2400
+ msgstr ""
2401
+
2402
+ #: modules/aioseop_opengraph.php:113
2403
  msgid ""
2404
  "Select which Post Types you want to use All in One SEO Pack to set Open "
2405
  "Graph meta values for."
2406
  msgstr ""
2407
 
2408
+ #: modules/aioseop_opengraph.php:114
2409
  msgid "This is the Open Graph title of this Page or Post."
2410
  msgstr ""
2411
 
2412
+ #: modules/aioseop_opengraph.php:115
2413
  msgid "This is the Open Graph description of this Page or Post."
2414
  msgstr ""
2415
 
2416
+ #: modules/aioseop_opengraph.php:116
2417
  msgid ""
2418
  "Select the Open Graph type that best describes the content of this Page or "
2419
  "Post."
2420
  msgstr ""
2421
 
2422
+ #: modules/aioseop_opengraph.php:117
2423
+ msgid "Press this button to have Facebook re-fetch and debug this page."
2424
+ msgstr ""
2425
+
2426
+ #: modules/aioseop_opengraph.php:118
2427
  msgid ""
2428
  "This Open Graph meta allows you to add a general section name that best "
2429
  "describes this content."
2430
  msgstr ""
2431
 
2432
+ #: modules/aioseop_opengraph.php:119
2433
  msgid ""
2434
  "This Open Graph meta allows you to add a list of keywords that best describe "
2435
  "this content."
2436
  msgstr ""
2437
 
2438
+ #: modules/aioseop_opengraph.php:120
2439
  msgid "Link articles to the Facebook page associated with your website."
2440
  msgstr ""
2441
 
2442
+ #: modules/aioseop_opengraph.php:121
2443
  msgid ""
2444
  "Allows your authors to be identified by their Facebook pages as content "
2445
  "authors on the Opengraph meta for their articles."
2446
  msgstr ""
2447
 
2448
+ #: modules/aioseop_opengraph.php:122
2449
+ msgid ""
2450
+ "Are the social profile links for your website for a person or an "
2451
+ "organization?"
2452
+ msgstr ""
2453
+
2454
+ #: modules/aioseop_opengraph.php:123
2455
+ msgid ""
2456
+ "Add URLs for your website's social profiles here (Facebook, Twitter, Google"
2457
+ "+, Instagram, LinkedIn), one per line."
2458
+ msgstr ""
2459
+
2460
+ #: modules/aioseop_opengraph.php:124
2461
+ msgid "Add the name of the person or organization who owns these profiles."
2462
+ msgstr ""
2463
+
2464
+ #: modules/aioseop_opengraph.php:152
2465
  msgid " characters. Open Graph allows up to a maximum of %s chars for the %s."
2466
  msgstr ""
2467
 
2468
+ #: modules/aioseop_opengraph.php:154
2469
  msgid "Scan Header"
2470
  msgstr ""
2471
 
2472
+ #: modules/aioseop_opengraph.php:155
2473
  msgid "Use AIOSEO Title and Description"
2474
  msgstr ""
2475
 
2476
+ #: modules/aioseop_opengraph.php:156
2477
+ msgid "Facebook Admin ID"
2478
+ msgstr ""
2479
+
2480
+ #: modules/aioseop_opengraph.php:157
2481
+ msgid "Facebook App ID"
2482
+ msgstr ""
2483
+
2484
+ #: modules/aioseop_opengraph.php:158
2485
+ msgid "Run Shortcodes In Title"
2486
  msgstr ""
2487
 
2488
+ #: modules/aioseop_opengraph.php:159
2489
+ msgid "Run Shortcodes In Description"
2490
+ msgstr ""
2491
+
2492
+ #: modules/aioseop_opengraph.php:160
2493
  msgid "Site Name"
2494
  msgstr ""
2495
 
2496
+ #: modules/aioseop_opengraph.php:161
2497
  msgid "Home Title"
2498
  msgstr ""
2499
 
2500
+ #: modules/aioseop_opengraph.php:163
2501
  msgid "Home Description"
2502
  msgstr ""
2503
 
2504
+ #: modules/aioseop_opengraph.php:165
2505
  msgid "Home Image"
2506
  msgstr ""
2507
 
2508
+ #: modules/aioseop_opengraph.php:167
2509
  msgid "Home Article Tags"
2510
  msgstr ""
2511
 
2512
+ #: modules/aioseop_opengraph.php:169
2513
  msgid "Autogenerate OG Descriptions"
2514
  msgstr ""
2515
 
2516
+ #: modules/aioseop_opengraph.php:170
2517
  msgid "Select OG:Image Source"
2518
  msgstr ""
2519
 
2520
+ #: modules/aioseop_opengraph.php:170
2521
  msgid "Default Image"
2522
  msgstr ""
2523
 
2524
+ #: modules/aioseop_opengraph.php:170
2525
  msgid "Featured Image"
2526
  msgstr ""
2527
 
2528
+ #: modules/aioseop_opengraph.php:170
2529
  msgid "First Attached Image"
2530
  msgstr ""
2531
 
2532
+ #: modules/aioseop_opengraph.php:170
2533
  msgid "First Image In Content"
2534
  msgstr ""
2535
 
2536
+ #: modules/aioseop_opengraph.php:170
2537
  msgid "Image From Custom Field"
2538
  msgstr ""
2539
 
2540
+ #: modules/aioseop_opengraph.php:170
2541
  msgid "Post Author Image"
2542
  msgstr ""
2543
 
2544
+ #: modules/aioseop_opengraph.php:170
2545
  msgid "First Available Image"
2546
  msgstr ""
2547
 
2548
+ #: modules/aioseop_opengraph.php:171
2549
  msgid "Use Default If No Image Found"
2550
  msgstr ""
2551
 
2552
+ #: modules/aioseop_opengraph.php:172
2553
  msgid "Default OG:Image"
2554
  msgstr ""
2555
 
2556
+ #: modules/aioseop_opengraph.php:173
2557
+ msgid "Default Image Width"
2558
+ msgstr ""
2559
+
2560
+ #: modules/aioseop_opengraph.php:175
2561
+ msgid "Default Image Height"
2562
+ msgstr ""
2563
+
2564
+ #: modules/aioseop_opengraph.php:177
2565
  msgid "Use Custom Field For Image"
2566
  msgstr ""
2567
 
2568
+ #: modules/aioseop_opengraph.php:178 modules/aioseop_opengraph.php:214
2569
  msgid "Facebook Object Type"
2570
  msgstr ""
2571
 
2572
+ #: modules/aioseop_opengraph.php:180
2573
  msgid "Image"
2574
  msgstr ""
2575
 
2576
+ #: modules/aioseop_opengraph.php:182
2577
  msgid "Custom Image"
2578
  msgstr ""
2579
 
2580
+ #: modules/aioseop_opengraph.php:184
2581
  msgid "Specify Image Width"
2582
  msgstr ""
2583
 
2584
+ #: modules/aioseop_opengraph.php:186
2585
  msgid "Specify Image Height"
2586
  msgstr ""
2587
 
2588
+ #: modules/aioseop_opengraph.php:188
2589
  msgid "Custom Video"
2590
  msgstr ""
2591
 
2592
+ #: modules/aioseop_opengraph.php:190
2593
  msgid "Specify Video Width"
2594
  msgstr ""
2595
 
2596
+ #: modules/aioseop_opengraph.php:192
2597
  msgid "Specify Video Height"
2598
  msgstr ""
2599
 
2600
+ #: modules/aioseop_opengraph.php:194
2601
  msgid "Default Twitter Card"
2602
  msgstr ""
2603
 
2604
+ #: modules/aioseop_opengraph.php:195 modules/aioseop_opengraph.php:197
2605
  msgid "Summary"
2606
  msgstr ""
2607
 
2608
+ #: modules/aioseop_opengraph.php:195 modules/aioseop_opengraph.php:197
2609
  msgid "Summary Large Image"
2610
  msgstr ""
2611
 
2612
+ #: modules/aioseop_opengraph.php:196
 
 
 
 
2613
  msgid "Twitter Card Type"
2614
  msgstr ""
2615
 
2616
+ #: modules/aioseop_opengraph.php:198
2617
  msgid "Twitter Site"
2618
  msgstr ""
2619
 
2620
+ #: modules/aioseop_opengraph.php:200
2621
  msgid "Show Twitter Author"
2622
  msgstr ""
2623
 
2624
+ #: modules/aioseop_opengraph.php:201
2625
  msgid "Twitter Domain"
2626
  msgstr ""
2627
 
2628
+ #: modules/aioseop_opengraph.php:203
2629
+ msgid "Automatically Generate Article Tags"
2630
+ msgstr ""
2631
+
2632
+ #: modules/aioseop_opengraph.php:204
2633
+ msgid "Use Keywords In Article Tags"
2634
+ msgstr ""
2635
+
2636
+ #: modules/aioseop_opengraph.php:205
2637
+ msgid "Use Categories In Article Tags"
2638
+ msgstr ""
2639
+
2640
+ #: modules/aioseop_opengraph.php:206
2641
+ msgid "Use Post Tags In Article Tags"
2642
+ msgstr ""
2643
+
2644
+ #: modules/aioseop_opengraph.php:207
2645
  msgid "Enable Facebook Meta for"
2646
  msgstr ""
2647
 
2648
+ #: modules/aioseop_opengraph.php:219
2649
+ msgid "Facebook Debug"
2650
+ msgstr ""
2651
+
2652
+ #: modules/aioseop_opengraph.php:232
2653
+ msgid "Debug This Post"
2654
+ msgstr ""
2655
+
2656
+ #: modules/aioseop_opengraph.php:235
2657
  msgid "Article Section"
2658
  msgstr ""
2659
 
2660
+ #: modules/aioseop_opengraph.php:237
2661
  msgid "Article Tags"
2662
  msgstr ""
2663
 
2664
+ #: modules/aioseop_opengraph.php:239
2665
  msgid "Show Facebook Publisher on Articles"
2666
  msgstr ""
2667
 
2668
+ #: modules/aioseop_opengraph.php:240
2669
  msgid "Show Facebook Author on Articles"
2670
  msgstr ""
2671
 
2672
+ #: modules/aioseop_opengraph.php:241 modules/aioseop_opengraph.php:282
2673
+ msgid "Social Profile Links"
2674
+ msgstr ""
2675
+
2676
+ #: modules/aioseop_opengraph.php:242
2677
+ msgid "Person or Organization?"
2678
+ msgstr ""
2679
+
2680
+ #: modules/aioseop_opengraph.php:243
2681
+ msgid "Person"
2682
+ msgstr ""
2683
+
2684
+ #: modules/aioseop_opengraph.php:243
2685
+ msgid "Organization"
2686
+ msgstr ""
2687
+
2688
+ #: modules/aioseop_opengraph.php:244
2689
+ msgid "Associated Name"
2690
+ msgstr ""
2691
+
2692
+ #: modules/aioseop_opengraph.php:258
2693
  msgid "Social Settings"
2694
  msgstr ""
2695
 
2696
+ #: modules/aioseop_opengraph.php:277
2697
  msgid "Image Settings"
2698
  msgstr ""
2699
 
2700
+ #: modules/aioseop_opengraph.php:287
2701
  msgid "Facebook Settings"
2702
  msgstr ""
2703
 
2704
+ #: modules/aioseop_opengraph.php:292
2705
  msgid "Twitter Settings"
2706
  msgstr ""
2707
 
2708
+ #: modules/aioseop_opengraph.php:297
2709
  msgid "Scan Social Meta"
2710
  msgstr ""
2711
 
2712
+ #: modules/aioseop_opengraph.php:328
2713
  msgid ""
2714
  "Static front page detected, suggested Facebook Object Type is 'website'."
2715
  msgstr ""
2716
 
2717
+ #: modules/aioseop_opengraph.php:333
2718
  msgid "Blog on front page detected, suggested Facebook Object Type is 'blog'."
2719
  msgstr ""
2720
 
2721
+ #: modules/aioseop_opengraph.php:380
2722
  msgid "Default "
2723
  msgstr ""
2724
 
2725
+ #: modules/aioseop_opengraph.php:427
2726
  msgid "Scan Now"
2727
  msgstr ""
2728
 
2729
+ #: modules/aioseop_opengraph.php:428
2730
  msgid "Scan your site for duplicate social meta tags."
2731
  msgstr ""
2732
 
2733
+ #: modules/aioseop_opengraph.php:873
2734
  msgid "Object Type"
2735
  msgstr ""
2736
 
2737
+ #: modules/aioseop_opengraph.php:880
2738
  msgid ""
2739
  "Choose a default value that best describes the content of your post type."
2740
  msgstr ""
2741
 
2742
+ #: modules/aioseop_performance.php:20
2743
  msgid ""
2744
  "This setting allows you to raise your PHP memory limit to a reasonable "
2745
  "value. Note: WordPress core and other WordPress plugins may also change the "
2746
  "value of the memory limit."
2747
  msgstr ""
2748
 
2749
+ #: modules/aioseop_performance.php:21
2750
  msgid ""
2751
  "This setting allows you to raise your PHP execution time to a reasonable "
2752
  "value."
2753
  msgstr ""
2754
 
2755
+ #: modules/aioseop_performance.php:22
2756
  msgid ""
2757
  "Use output buffering to ensure that the title gets rewritten. Enable this "
2758
  "option if you run into issues with the title tag being set by your theme or "
2759
  "another plugin."
2760
  msgstr ""
2761
 
2762
+ #: modules/aioseop_performance.php:26
2763
  msgid "Raise memory limit"
2764
  msgstr ""
2765
 
2766
+ #: modules/aioseop_performance.php:28 modules/aioseop_performance.php:31
2767
  msgid "Use the system default"
2768
  msgstr ""
2769
 
2770
+ #: modules/aioseop_performance.php:29
2771
  msgid "Raise execution time"
2772
  msgstr ""
2773
 
2774
+ #: modules/aioseop_performance.php:31
2775
  msgid "No limit"
2776
  msgstr ""
2777
 
2778
+ #: modules/aioseop_performance.php:63
2779
  msgid "System Status"
2780
  msgstr ""
2781
 
2782
+ #: modules/aioseop_performance.php:139
2783
  msgid "Not set"
2784
  msgstr ""
2785
 
2786
+ #: modules/aioseop_performance.php:140 modules/aioseop_performance.php:142
2787
  msgid "On"
2788
  msgstr ""
2789
 
2790
+ #: modules/aioseop_performance.php:141 modules/aioseop_performance.php:143
2791
  msgid "Off"
2792
  msgstr ""
2793
 
2794
+ #: modules/aioseop_performance.php:145 modules/aioseop_performance.php:147
2795
+ #: modules/aioseop_performance.php:149 modules/aioseop_performance.php:151
2796
+ #: modules/aioseop_performance.php:153 modules/aioseop_performance.php:175
2797
  msgid "N/A"
2798
  msgstr ""
2799
 
2800
+ #: modules/aioseop_performance.php:152
2801
  msgid " MByte"
2802
  msgstr ""
2803
 
2804
+ #: modules/aioseop_performance.php:154 modules/aioseop_performance.php:156
2805
+ #: modules/aioseop_performance.php:158 modules/aioseop_performance.php:170
2806
  msgid "Yes"
2807
  msgstr ""
2808
 
2809
+ #: modules/aioseop_performance.php:182
2810
  msgid "Operating System"
2811
  msgstr ""
2812
 
2813
+ #: modules/aioseop_performance.php:183
2814
  msgid "Server"
2815
  msgstr ""
2816
 
2817
+ #: modules/aioseop_performance.php:184
2818
  msgid "Memory usage"
2819
  msgstr ""
2820
 
2821
+ #: modules/aioseop_performance.php:185
2822
  msgid "MYSQL Version"
2823
  msgstr ""
2824
 
2825
+ #: modules/aioseop_performance.php:186
2826
  msgid "SQL Mode"
2827
  msgstr ""
2828
 
2829
+ #: modules/aioseop_performance.php:187
2830
  msgid "PHP Version"
2831
  msgstr ""
2832
 
2833
+ #: modules/aioseop_performance.php:188
2834
  msgid "PHP Safe Mode"
2835
  msgstr ""
2836
 
2837
+ #: modules/aioseop_performance.php:189
2838
  msgid "PHP Allow URL fopen"
2839
  msgstr ""
2840
 
2841
+ #: modules/aioseop_performance.php:190
2842
  msgid "PHP Memory Limit"
2843
  msgstr ""
2844
 
2845
+ #: modules/aioseop_performance.php:191
2846
  msgid "PHP Max Upload Size"
2847
  msgstr ""
2848
 
2849
+ #: modules/aioseop_performance.php:192
2850
  msgid "PHP Max Post Size"
2851
  msgstr ""
2852
 
2853
+ #: modules/aioseop_performance.php:193
2854
  msgid "PHP Max Script Execute Time"
2855
  msgstr ""
2856
 
2857
+ #: modules/aioseop_performance.php:194
2858
  msgid "PHP Exif support"
2859
  msgstr ""
2860
 
2861
+ #: modules/aioseop_performance.php:195
2862
  msgid "PHP IPTC support"
2863
  msgstr ""
2864
 
2865
+ #: modules/aioseop_performance.php:196
2866
  msgid "PHP XML support"
2867
  msgstr ""
2868
 
2869
+ #: modules/aioseop_performance.php:197
2870
  msgid "Site URL"
2871
  msgstr ""
2872
 
2873
+ #: modules/aioseop_performance.php:198
2874
  msgid "Home URL"
2875
  msgstr ""
2876
 
2877
+ #: modules/aioseop_performance.php:199
2878
  msgid "WordPress Version"
2879
  msgstr ""
2880
 
2881
+ #: modules/aioseop_performance.php:200
2882
  msgid "WordPress DB Version"
2883
  msgstr ""
2884
 
2885
+ #: modules/aioseop_performance.php:201
2886
  msgid "Multisite"
2887
  msgstr ""
2888
 
2889
+ #: modules/aioseop_performance.php:202
2890
  msgid "Active Theme"
2891
  msgstr ""
2892
 
2893
+ #: modules/aioseop_performance.php:217
2894
  msgid "All in One SEO Pack Pro Debug Info"
2895
  msgstr ""
2896
 
2897
+ #: modules/aioseop_performance.php:233
2898
  msgid "Form submission error: verification check failed."
2899
  msgstr ""
2900
 
2901
+ #: modules/aioseop_performance.php:239
2902
+ msgid "%s has checked for updates."
2903
+ msgstr ""
2904
+
2905
+ #: modules/aioseop_performance.php:245
2906
  msgid "SFWD Debug Mail From Site %s."
2907
  msgstr ""
2908
 
2909
+ #: modules/aioseop_performance.php:246
2910
  msgid "Sent to %s."
2911
  msgstr ""
2912
 
2913
+ #: modules/aioseop_performance.php:248
2914
  msgid "Failed to send to %s."
2915
  msgstr ""
2916
 
2917
+ #: modules/aioseop_performance.php:251
2918
  msgid "Error: please enter an e-mail address before submitting."
2919
  msgstr ""
2920
 
2921
+ #: modules/aioseop_performance.php:256
2922
  msgid "E-mail debug information"
2923
  msgstr ""
2924
 
2925
+ #: modules/aioseop_performance.php:257
2926
  msgid "Submit"
2927
  msgstr ""
2928
 
2929
+ #: modules/aioseop_performance.php:260
2930
+ msgid "Check For Updates"
2931
+ msgstr ""
2932
+
2933
+ #: modules/aioseop_robots.php:18 modules/aioseop_robots.php:28
2934
  msgid "Rule Type"
2935
  msgstr ""
2936
 
2937
+ #: modules/aioseop_robots.php:19 modules/aioseop_robots.php:31
2938
  msgid "User Agent"
2939
  msgstr ""
2940
 
2941
+ #: modules/aioseop_robots.php:20 modules/aioseop_robots.php:34
2942
  msgid "Directory Path"
2943
  msgstr ""
2944
 
2945
+ #: modules/aioseop_robots.php:26
2946
  msgid ""
2947
  "Use the rule builder below to add rules to create a new Robots.txt file.  If "
2948
  "you already have a Robots.txt file you should use the File Editor feature in "
2950
  "file and start a new one with the rule builder below."
2951
  msgstr ""
2952
 
2953
+ #: modules/aioseop_robots.php:37
2954
  msgid "Generate Robots.txt"
2955
  msgstr ""
2956
 
2957
+ #: modules/aioseop_robots.php:40
2958
  msgid "Add Rule"
2959
  msgstr ""
2960
 
2961
+ #: modules/aioseop_robots.php:41
2962
  msgid "Save Robots.txt File"
2963
  msgstr ""
2964
 
2965
+ #: modules/aioseop_robots.php:42
2966
  msgid "Delete Robots.txt File"
2967
  msgstr ""
2968
 
2969
+ #: modules/aioseop_robots.php:44
2970
  msgid ""
2971
  "Click the Optimize button below and All in One SEO Pack will analyze your "
2972
  "Robots.txt file to make sure it complies with the standards for Robots.txt "
2973
  "files.  The results will be displayed in a table below."
2974
  msgstr ""
2975
 
2976
+ #: modules/aioseop_robots.php:46
2977
  msgid "Update Robots.txt File"
2978
  msgstr ""
2979
 
2980
+ #: modules/aioseop_robots.php:47
2981
  msgid "Disregard Changes"
2982
  msgstr ""
2983
 
2984
+ #: modules/aioseop_robots.php:48
2985
  msgid "Optimize"
2986
  msgstr ""
2987
 
2988
+ #: modules/aioseop_robots.php:61
2989
  msgid "Create a Robots.txt File"
2990
  msgstr ""
2991
 
2992
+ #: modules/aioseop_robots.php:66
2993
  msgid "Optimize your Robots.txt File"
2994
  msgstr ""
2995
 
2996
+ #: modules/aioseop_robots.php:71
2997
  msgid ""
2998
  "Your Robots.txt file has been optimized.  Here are the results and "
2999
  "recommendations.  Click the Update Robots.txt File button below to write "
3001
  "to ignore these recommendations and keep your current Robots.txt file."
3002
  msgstr ""
3003
 
3004
+ #: modules/aioseop_robots.php:161 modules/aioseop_robots.php:163
3005
  msgid "Current File"
3006
  msgstr ""
3007
 
3008
+ #: modules/aioseop_robots.php:161
3009
  msgid "Proposed Changes"
3010
  msgstr ""
3011
 
3012
+ #: modules/aioseop_robots.php:217
3013
  msgid "Legend"
3014
  msgstr ""
3015
 
3016
+ #: modules/aioseop_robots.php:219
3017
  msgid ""
3018
  "The yellow indicator means that a non-standard extension was recognized; not "
3019
  "all crawlers may recognize it or interpret it the same way. The Allow and "
3020
  "Sitemap directives are commonly used by Google and Yahoo."
3021
  msgstr ""
3022
 
3023
+ #: modules/aioseop_robots.php:220
3024
  msgid ""
3025
  "The red indicator means that the syntax is invalid for a robots.txt file."
3026
  msgstr ""
3027
 
3028
+ #: modules/aioseop_robots.php:222
3029
  msgid "More Information"
3030
  msgstr ""
3031
 
3032
+ #: modules/aioseop_sitemap.php:24
3033
  msgid "XML Sitemap"
3034
  msgstr ""
3035
 
3036
+ #: modules/aioseop_sitemap.php:31
3037
  msgid ""
3038
  "Sitemap %s generated by All in One SEO Pack %s by Michael Torbert of Semper "
3039
  "Fi Web Design on %s"
3040
  msgstr ""
3041
 
3042
+ #: modules/aioseop_sitemap.php:34
3043
  msgid ""
3044
  "Specifies the name of your sitemap file. This will default to 'sitemap'."
3045
  msgstr ""
3046
 
3047
+ #: modules/aioseop_sitemap.php:35
3048
  msgid "Notify Google when you update your sitemap settings."
3049
  msgstr ""
3050
 
3051
+ #: modules/aioseop_sitemap.php:36
3052
  msgid "Notify Bing when you update your sitemap settings."
3053
  msgstr ""
3054
 
3055
+ #: modules/aioseop_sitemap.php:37
3056
+ msgid ""
3057
+ "Notify search engines daily, and also update static sitemap daily if in use. "
3058
+ "(this uses WP-Cron, so make sure this is working properly on your server as "
3059
+ "well)"
3060
+ msgstr ""
3061
+
3062
+ #: modules/aioseop_sitemap.php:38
3063
  msgid ""
3064
  "Organize sitemap entries into distinct files in your sitemap. Enable this "
3065
  "only if your sitemap contains over 50,000 URLs or the file is over 5MB in "
3066
  "size."
3067
  msgstr ""
3068
 
3069
+ #: modules/aioseop_sitemap.php:39
3070
  msgid "Split long sitemaps into separate files."
3071
  msgstr ""
3072
 
3073
+ #: modules/aioseop_sitemap.php:40
3074
  msgid ""
3075
  "Allows you to specify the maximum number of posts in a sitemap (up to "
3076
  "50,000)."
3077
  msgstr ""
3078
 
3079
+ #: modules/aioseop_sitemap.php:41
3080
  msgid "Select which Post Types appear in your sitemap."
3081
  msgstr ""
3082
 
3083
+ #: modules/aioseop_sitemap.php:42
3084
  msgid "Select which taxonomy archives appear in your sitemap"
3085
  msgstr ""
3086
 
3087
+ #: modules/aioseop_sitemap.php:43
3088
  msgid "Include Date Archives in your sitemap."
3089
  msgstr ""
3090
 
3091
+ #: modules/aioseop_sitemap.php:44
3092
  msgid "Include Author Archives in your sitemap."
3093
  msgstr ""
3094
 
3095
+ #: modules/aioseop_sitemap.php:45
3096
  msgid "Create a compressed sitemap file in .xml.gz format."
3097
  msgstr ""
3098
 
3099
+ #: modules/aioseop_sitemap.php:46
3100
  msgid "Places a link to your Sitemap.xml into your virtual Robots.txt file."
3101
  msgstr ""
3102
 
3103
+ #: modules/aioseop_sitemap.php:47
3104
  msgid ""
3105
  "Places a link to the sitemap file in your virtual Robots.txt file which "
3106
  "WordPress creates."
3107
  msgstr ""
3108
 
3109
+ #: modules/aioseop_sitemap.php:48
3110
  msgid "Tells search engines not to index the sitemap file itself."
3111
  msgstr ""
3112
 
3113
+ #: modules/aioseop_sitemap.php:49
3114
  msgid ""
3115
  "Use rewrites to generate your sitemap on the fly. NOTE: This is required for "
3116
  "WordPress Multisite."
3117
  msgstr ""
3118
 
3119
+ #: modules/aioseop_sitemap.php:50
3120
  msgid "URL to the page."
3121
  msgstr ""
3122
 
3123
+ #: modules/aioseop_sitemap.php:51
3124
  msgid "The priority of the page."
3125
  msgstr ""
3126
 
3127
+ #: modules/aioseop_sitemap.php:52
3128
  msgid "The frequency of the page."
3129
  msgstr ""
3130
 
3131
+ #: modules/aioseop_sitemap.php:53
3132
  msgid "Last modified date of the page."
3133
  msgstr ""
3134
 
3135
+ #: modules/aioseop_sitemap.php:54
3136
  msgid "Entries from these categories will be excluded from the sitemap."
3137
  msgstr ""
3138
 
3139
+ #: modules/aioseop_sitemap.php:55
3140
  msgid ""
3141
  "Use page slugs or page IDs, seperated by commas, to exclude pages from the "
3142
  "sitemap."
3143
  msgstr ""
3144
 
3145
+ #: modules/aioseop_sitemap.php:79
3146
  msgid "Filename Prefix"
3147
  msgstr ""
3148
 
3149
+ #: modules/aioseop_sitemap.php:81
3150
  msgid "Notify Google"
3151
  msgstr ""
3152
 
3153
+ #: modules/aioseop_sitemap.php:82
3154
  msgid "Notify Bing"
3155
  msgstr ""
3156
 
3157
+ #: modules/aioseop_sitemap.php:83
3158
+ msgid "Schedule Updates"
3159
+ msgstr ""
3160
+
3161
+ #: modules/aioseop_sitemap.php:84
3162
+ msgid "No Schedule"
3163
+ msgstr ""
3164
+
3165
+ #: modules/aioseop_sitemap.php:85
3166
+ msgid "Daily"
3167
+ msgstr ""
3168
+
3169
+ #: modules/aioseop_sitemap.php:86
3170
+ msgid "Weekly"
3171
+ msgstr ""
3172
+
3173
+ #: modules/aioseop_sitemap.php:87
3174
+ msgid "Monthly"
3175
+ msgstr ""
3176
+
3177
+ #: modules/aioseop_sitemap.php:89
3178
  msgid "Enable Sitemap Indexes"
3179
  msgstr ""
3180
 
3181
+ #: modules/aioseop_sitemap.php:90
3182
  msgid "Paginate Sitemap Indexes"
3183
  msgstr ""
3184
 
3185
+ #: modules/aioseop_sitemap.php:92
3186
  msgid "Maximum Posts Per Sitemap"
3187
  msgstr ""
3188
 
3189
+ #: modules/aioseop_sitemap.php:95
3190
  msgid "Post Types"
3191
  msgstr ""
3192
 
3193
+ #: modules/aioseop_sitemap.php:97
3194
  msgid "Taxonomies"
3195
  msgstr ""
3196
 
3197
+ #: modules/aioseop_sitemap.php:99
3198
  msgid "Include Date Archive Pages"
3199
  msgstr ""
3200
 
3201
+ #: modules/aioseop_sitemap.php:100
3202
  msgid "Include Author Pages"
3203
  msgstr ""
3204
 
3205
+ #: modules/aioseop_sitemap.php:101
3206
  msgid "Create Compressed Sitemap"
3207
  msgstr ""
3208
 
3209
+ #: modules/aioseop_sitemap.php:102
3210
  msgid "Link From Virtual Robots.txt"
3211
  msgstr ""
3212
 
3213
+ #: modules/aioseop_sitemap.php:103
3214
  msgid "Dynamically Generate Sitemap"
3215
  msgstr ""
3216
 
3217
+ #: modules/aioseop_sitemap.php:104
3218
  msgid "Noindex Sitemap file"
3219
  msgstr ""
3220
 
3221
+ #: modules/aioseop_sitemap.php:110
3222
  msgid "Debug Log"
3223
  msgstr ""
3224
 
3225
+ #: modules/aioseop_sitemap.php:115
3226
  msgid "Sitemap Status"
3227
  msgstr ""
3228
 
3229
+ #: modules/aioseop_sitemap.php:130
3230
  msgid "Do Not Override"
3231
  msgstr ""
3232
 
3233
+ #: modules/aioseop_sitemap.php:131
3234
  msgid "Select Individual"
3235
  msgstr ""
3236
 
3237
+ #: modules/aioseop_sitemap.php:140
3238
  msgid "priority"
3239
  msgstr ""
3240
 
3241
+ #: modules/aioseop_sitemap.php:140
3242
  msgid "frequency"
3243
  msgstr ""
3244
 
3245
+ #: modules/aioseop_sitemap.php:143
3246
  msgid "homepage"
3247
  msgstr ""
3248
 
3249
+ #: modules/aioseop_sitemap.php:144
3250
  msgid "posts"
3251
  msgstr ""
3252
 
3253
+ #: modules/aioseop_sitemap.php:145
3254
  msgid "taxonomies"
3255
  msgstr ""
3256
 
3257
+ #: modules/aioseop_sitemap.php:146
3258
  msgid "archive pages"
3259
  msgstr ""
3260
 
3261
+ #: modules/aioseop_sitemap.php:147
3262
  msgid "author pages"
3263
  msgstr ""
3264
 
3265
+ #: modules/aioseop_sitemap.php:155
3266
  msgid "Manually set the %s of your %s."
3267
  msgstr ""
3268
 
3269
+ #: modules/aioseop_sitemap.php:162
3270
  msgid ""
3271
  "Enter information below for any additional links for your sitemap not "
3272
  "already managed through WordPress."
3273
  msgstr ""
3274
 
3275
+ #: modules/aioseop_sitemap.php:163
3276
  msgid "Page URL"
3277
  msgstr ""
3278
 
3279
+ #: modules/aioseop_sitemap.php:164
3280
  msgid "Page Priority"
3281
  msgstr ""
3282
 
3283
+ #: modules/aioseop_sitemap.php:165
3284
  msgid "Page Frequency"
3285
  msgstr ""
3286
 
3287
+ #: modules/aioseop_sitemap.php:166
3288
  msgid "Last Modified"
3289
  msgstr ""
3290
 
3291
+ #: modules/aioseop_sitemap.php:167 modules/aioseop_sitemap.php:177
3292
  msgid "Additional Pages"
3293
  msgstr ""
3294
 
3295
+ #: modules/aioseop_sitemap.php:168
3296
  msgid "Add URL"
3297
  msgstr ""
3298
 
3299
+ #: modules/aioseop_sitemap.php:172
3300
  msgid "Excluded Categories"
3301
  msgstr ""
3302
 
3303
+ #: modules/aioseop_sitemap.php:173
3304
  msgid "Excluded Pages"
3305
  msgstr ""
3306
 
3307
+ #: modules/aioseop_sitemap.php:183
3308
  msgid "Excluded Items"
3309
  msgstr ""
3310
 
3311
+ #: modules/aioseop_sitemap.php:189
3312
  msgid "Priorities"
3313
  msgstr ""
3314
 
3315
+ #: modules/aioseop_sitemap.php:195
3316
  msgid "Frequencies"
3317
  msgstr ""
3318
 
3319
+ #: modules/aioseop_sitemap.php:218
3320
+ msgid "Once Weekly"
3321
+ msgstr ""
3322
+
3323
+ #: modules/aioseop_sitemap.php:222
3324
+ msgid "Once Monthly"
3325
+ msgstr ""
3326
+
3327
+ #: modules/aioseop_sitemap.php:236
3328
+ msgid "Daily scheduled sitemap check has finished."
3329
+ msgstr ""
3330
+
3331
+ #: modules/aioseop_sitemap.php:294
3332
  msgid "Media / Attachments"
3333
  msgstr ""
3334
 
3335
+ #: modules/aioseop_sitemap.php:295
3336
  msgid "All Post Types"
3337
  msgstr ""
3338
 
3339
+ #: modules/aioseop_sitemap.php:296
3340
  msgid "All Taxonomies"
3341
  msgstr ""
3342
 
3343
+ #: modules/aioseop_sitemap.php:300
3344
  msgid "Manually set the priority for the "
3345
  msgstr ""
3346
 
3347
+ #: modules/aioseop_sitemap.php:301
3348
  msgid "Manually set the frequency for the "
3349
  msgstr ""
3350
 
3351
+ #: modules/aioseop_sitemap.php:302
3352
  msgid " Post Type"
3353
  msgstr ""
3354
 
3355
+ #: modules/aioseop_sitemap.php:303
3356
  msgid " Taxonomy"
3357
  msgstr ""
3358
 
3359
+ #: modules/aioseop_sitemap.php:334 modules/aioseop_sitemap.php:366
3360
  msgid "Update Sitemap"
3361
  msgstr ""
3362
 
3363
+ #: modules/aioseop_sitemap.php:364
3364
  msgid ""
3365
  "Please review your settings below and click %s to build your sitemap; then, "
3366
  "%s."
3367
  msgstr ""
3368
 
3369
+ #: modules/aioseop_sitemap.php:367
3370
  msgid "view your sitemap"
3371
  msgstr ""
3372
 
3373
+ #: modules/aioseop_sitemap.php:370
3374
  msgid ""
3375
  "Note: you are using dynamic sitemap generation to keep your sitemap current; "
3376
  "this will not generate a static sitemap file."
3377
  msgstr ""
3378
 
3379
+ #: modules/aioseop_sitemap.php:374
3380
  msgid ""
3381
  "Dynamic sitemap generation appears to be using the correct rewrite rules."
3382
  msgstr ""
3383
 
3384
+ #: modules/aioseop_sitemap.php:376
3385
  msgid ""
3386
  "Dynamic sitemap generation does not appear to be using the correct rewrite "
3387
  "rules; please disable any other sitemap plugins or functionality on your "
3388
  "site and reset your permalinks."
3389
  msgstr ""
3390
 
3391
+ #: modules/aioseop_sitemap.php:381
3392
  msgid "Reading Settings"
3393
  msgstr ""
3394
 
3395
+ #: modules/aioseop_sitemap.php:383
3396
  msgid "Privacy Settings"
3397
  msgstr ""
3398
 
3399
+ #: modules/aioseop_sitemap.php:385
3400
  msgid ""
3401
  "Warning: your privacy settings are configured to ask search engines to not "
3402
  "index your site; you can change this under %s for your blog."
3403
  msgstr ""
3404
 
3405
+ #: modules/aioseop_sitemap.php:506
3406
  msgid "Warning: dynamic sitemap generation must have permalinks enabled."
3407
  msgstr ""
3408
 
3409
+ #: modules/aioseop_sitemap.php:519
3410
  msgid "Deleted %s."
3411
  msgstr ""
3412
 
3413
+ #: modules/aioseop_sitemap.php:528
3414
  msgid "Couldn't rename file %s!"
3415
  msgstr ""
3416
 
3417
+ #: modules/aioseop_sitemap.php:532
3418
  msgid "Renamed %s to %s."
3419
  msgstr ""
3420
 
3421
+ #: modules/aioseop_sitemap.php:534
3422
  msgid "Couldn't find file %s!"
3423
  msgstr ""
3424
 
3425
+ #: modules/aioseop_sitemap.php:586
3426
  msgid ""
3427
  "Warning: a static sitemap '%s' generated by All in One SEO Pack %s on %s "
3428
  "already exists that may conflict with dynamic sitemap generation."
3429
  msgstr ""
3430
 
3431
+ #: modules/aioseop_sitemap.php:591
3432
  msgid "Potential conflict with unknown file %s."
3433
  msgstr ""
3434
 
3435
+ #: modules/aioseop_sitemap.php:610
3436
  msgid "Rename Conflicting Files"
3437
  msgstr ""
3438
 
3439
+ #: modules/aioseop_sitemap.php:611
3440
  msgid "Delete Conflicting Files"
3441
  msgstr ""
3442
 
3443
+ #: modules/aioseop_sitemap.php:700
3444
  msgid "compressed"
3445
  msgstr ""
3446
 
3447
+ #: modules/aioseop_sitemap.php:702
3448
  msgid "dynamic"
3449
  msgstr ""
3450
 
3451
+ #: modules/aioseop_sitemap.php:704
3452
  msgid "static"
3453
  msgstr ""
3454
 
3455
+ #: modules/aioseop_sitemap.php:770
3456
  msgid "dynamically"
3457
  msgstr ""
3458
 
3459
+ #: modules/aioseop_sitemap.php:794
3460
  msgid "Successfully notified %s about changes to your sitemap at %s."
3461
  msgstr ""
3462
 
3463
+ #: modules/aioseop_sitemap.php:796
3464
  msgid "Failed to notify %s about changes to your sitemap at %s, error code %s."
3465
  msgstr ""
3466
 
3467
+ #: modules/aioseop_sitemap.php:799
3468
  msgid ""
3469
  "Failed to notify %s about changes to your sitemap at %s, unable to access "
3470
  "via wp_remote_get()."
3471
  msgstr ""
3472
 
3473
+ #: modules/aioseop_sitemap.php:802
3474
  msgid "Did not notify %s about changes to your sitemap."
3475
  msgstr ""
3476
 
3477
+ #: modules/aioseop_sitemap.php:829 modules/aioseop_sitemap.php:971
3478
+ #: modules/aioseop_sitemap.php:989
3479
  msgid "file '%s' statically"
3480
  msgstr ""
3481
 
3482
+ #: modules/aioseop_sitemap.php:841
3483
  msgid "Updated sitemap settings."
3484
  msgstr ""
3485
 
 
 
 
 
3486
  #. Plugin Name of the plugin/theme
3487
  msgid "All In One SEO Pack"
3488
  msgstr ""
3493
 
3494
  #. Description of the plugin/theme
3495
  msgid ""
3496
+ "Out-of-the-box SEO for your WordPress blog. Features like XML Sitemaps, SEO "
3497
+ "for custom post types, SEO for blogs or business sites, SEO for ecommerce "
3498
+ "sites, and much more. Almost 30 million downloads since 2007."
 
 
 
 
 
 
 
 
3499
  msgstr ""
3500
 
3501
  #. Author of the plugin/theme
images/inmotion.gif DELETED
Binary file
images/wincher1.png DELETED
Binary file
images/wincher2.jpg DELETED
Binary file
images/wincher3.png DELETED
Binary file
images/wincher4.png DELETED
Binary file
aioseop_utility.php → inc/aioseop_UTF8.php RENAMED
File without changes
aioseop_functions.php → inc/aioseop_functions.php RENAMED
@@ -8,7 +8,7 @@
8
  if (!function_exists('aioseop_load_modules')) {
9
  function aioseop_load_modules() {
10
  global $aioseop_modules, $aioseop_module_list;
11
- require_once( AIOSEOP_PLUGIN_DIR . 'aioseop_module_manager.php' );
12
  $aioseop_modules = new All_in_One_SEO_Pack_Module_Manager( apply_filters( 'aioseop_module_list', $aioseop_module_list ) );
13
  $aioseop_modules->load_modules();
14
  }
@@ -51,7 +51,7 @@ if ( !function_exists( 'aioseop_update_settings_check' ) ) {
51
  $update_options = true;
52
  }
53
  if ( $update_options )
54
- update_option( 'aioseop_options', $aioseop_options );
55
  }
56
  }
57
  }
@@ -113,7 +113,7 @@ if ( !function_exists( 'aioseop_addmycolumns' ) ) {
113
  global $aioseop_options, $pagenow;
114
  $aiosp_posttypecolumns = Array();
115
  if ( !empty( $aioseop_options) && !empty( $aioseop_options['aiosp_posttypecolumns'] ) ) {
116
- $aiosp_posttypecolumns = $aioseop_options['aiosp_posttypecolumns'];
117
  }
118
  if ( !empty( $pagenow ) && ( $pagenow == 'upload.php' ) )
119
  $post_type = 'attachment';
@@ -121,12 +121,13 @@ if ( !function_exists( 'aioseop_addmycolumns' ) ) {
121
  $post_type = 'post';
122
  else
123
  $post_type = $_REQUEST['post_type'];
 
124
  if( is_array( $aiosp_posttypecolumns ) && in_array( $post_type, $aiosp_posttypecolumns ) ) {
125
  add_action( 'admin_head', 'aioseop_admin_head' );
126
  if ( $post_type == 'page' )
127
  add_filter( 'manage_pages_columns', 'aioseop_mrt_pcolumns' );
128
  elseif ( $post_type == 'attachment' )
129
- add_filter( 'manage_media_columns', 'aioseop_mrt_pcolumns' );
130
  else
131
  add_filter( 'manage_posts_columns', 'aioseop_mrt_pcolumns' );
132
  if ( $post_type == 'attachment' )
@@ -147,12 +148,12 @@ if ( !function_exists( 'aioseop_mrt_pcolumns' ) ) {
147
  if ( empty( $aioseop_options['aiosp_togglekeywords'] ) )
148
  $aioseopc['seokeywords'] = __( 'SEO Keywords', 'all-in-one-seo-pack' );
149
  return $aioseopc;
150
- }
151
  }
152
 
153
  if ( !function_exists( 'aioseop_admin_head' ) ) {
154
  function aioseop_admin_head() {
155
- echo '<script type="text/javascript" src="' . AIOSEOP_PLUGIN_URL . 'quickedit_functions.js" ></script>';
156
  ?><style>
157
  .aioseop_edit_button {
158
  margin: 0 0 0 5px;
@@ -199,12 +200,12 @@ if ( !function_exists( 'aioseop_admin_head' ) ) {
199
  ?><script type="text/javascript">
200
  //<![CDATA[
201
  var aioseopadmin = {
202
- blogUrl: "<?php print get_bloginfo( 'url'); ?>",
203
- pluginUrl: "<?php print AIOSEOP_PLUGIN_URL; ?>",
204
- requestUrl: "<?php print WP_ADMIN_URL . '/admin-ajax.php' ?>",
205
  imgUrl: "<?php print AIOSEOP_PLUGIN_IMAGES_URL; ?>",
206
- Edit: "<?php _e( 'Edit', 'all-in-one-seo-pack'); ?>", Post: "<?php _e( 'Post', 'all-in-one-seo-pack'); ?>", Save: "<?php _e( 'Save', 'all-in-one-seo-pack'); ?>", Cancel: "<?php _e( 'Cancel', 'all-in-one-seo-pack'); ?>", postType: "post",
207
- pleaseWait: "<?php _e( 'Please wait...', 'all-in-one-seo-pack'); ?>", slugEmpty: "<?php _e( 'Slug may not be empty!', 'all-in-one-seo-pack'); ?>",
208
  Revisions: "<?php _e( 'Revisions', 'all-in-one-seo-pack'); ?>", Time: "<?php _e( 'Insert time', 'all-in-one-seo-pack'); ?>"
209
  }
210
  //]]>
@@ -215,11 +216,11 @@ if ( !function_exists( 'aioseop_admin_head' ) ) {
215
 
216
  if ( !function_exists( 'aioseop_handle_ignore_notice' ) ) {
217
  function aioseop_handle_ignore_notice() {
218
-
219
  if ( !empty( $_GET ) ) {
220
  global $current_user;
221
- $user_id = $current_user->ID;
222
-
223
  if ( !empty( $_GET["aioseop_reset_notices"] ) ) {
224
  delete_user_meta( $user_id, 'aioseop_ignore_notice' );
225
  }
@@ -254,11 +255,12 @@ if ( !function_exists( 'aioseop_output_dismissable_notice' ) ) {
254
  wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
255
  $qa['aioseop_ignore_notice'] = $msgid;
256
  $url = '?' . build_query( $qa );
257
- $message = '<p class=alignleft>' . $message . '</p><p class="alignright"><a class="aioseop_dismiss_link" href="' . $url . '">Dismiss</a></p>';
258
  }
259
  return aioseop_output_notice( $message, $id, $class );
260
  }
261
  }
 
262
  if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
263
  function aioseop_ajax_save_meta() {
264
  if ( !empty( $_POST['_inline_edit'] ) && ( $_POST['_inline_edit'] != 'undefined' ) )
@@ -274,9 +276,9 @@ if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
274
  } else {
275
  die();
276
  }
277
- if( $result != '' ):
278
- $label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
279
- else:
280
  $label = "<label id='aioseop_label_{$target}_{$post_id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all-in-one-seo-pack' ) . ' ' . $target . '</i></strong>';
281
  endif;
282
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
@@ -298,13 +300,21 @@ if ( !function_exists( 'aioseop_ajax_init' ) ) {
298
  define( 'AIOSEOP_AJAX_MSG_TMPL', "jQuery('div#aiosp_$settings').fadeOut('fast', function(){jQuery('div#aiosp_$settings').html('%s').fadeIn('fast');});" );
299
 
300
  if ( !wp_verify_nonce($_POST['nonce-aioseop'], 'aioseop-nonce') )
301
- die( sprintf( AIOSEOP_AJAX_MSG_TMPL, __( "Unauthorized access; try reloading the page.", 'all-in-one-seo-pack' ) ) );
302
  } else {
303
  die(0);
304
  }
305
  }
306
  }
307
 
 
 
 
 
 
 
 
 
308
  if ( !function_exists( 'aioseop_ajax_save_url' ) ) {
309
  function aioseop_ajax_save_url() {
310
  aioseop_ajax_init();
@@ -315,14 +325,21 @@ if ( !function_exists( 'aioseop_ajax_save_url' ) ) {
315
  global $aiosp, $aioseop_modules;
316
  aioseop_load_modules();
317
  $aiosp->admin_menu();
318
- $module = $aioseop_modules->return_module( "All_in_One_SEO_Pack_Sitemap" );
 
 
 
 
 
 
319
  $_POST['location'] = null;
320
  $_POST['Submit'] = 'ajax';
321
  $module->add_page_hooks();
 
322
  $_POST = $module->get_current_options( $_POST, null );
323
  $module->handle_settings_updates( null );
324
  $options = $module->get_current_options( Array(), null );
325
- $output = $module->display_custom_options( '', Array( 'name' => 'aiosp_sitemap_addl_pages', 'type' => 'custom', 'save' => true, 'value' => $options['aiosp_sitemap_addl_pages'], 'attr' => '' ) );
326
  $output = str_replace( "'", "\'", $output );
327
  $output = str_replace( "\n", '\n', $output );
328
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
@@ -364,7 +381,7 @@ if ( !function_exists( 'aioseop_ajax_delete_url' ) ) {
364
  }
365
 
366
  if ( !function_exists( 'aioseop_ajax_scan_header' ) ) {
367
-
368
  function aioseop_ajax_scan_header() {
369
  $_POST["options"] = "foo";
370
  aioseop_ajax_init();
@@ -428,7 +445,7 @@ if ( !function_exists( 'aioseop_ajax_scan_header' ) ) {
428
  . "<p>" . __( 'All in One SEO Pack has detected that a plugin(s) or theme is also outputting social meta tags on your site.  You can view this social meta in the source code of your site (check your browser help for instructions on how to view source code).', 'all-in-one-seo-pack' )
429
  . "</p><p>" . __( 'You may prefer to use the social meta tags that are being output by the other plugin(s) or theme.  If so, then you should deactivate this Social Meta feature in All in One SEO Pack Feature Manager.', 'all-in-one-seo-pack' )
430
  . "</p><p>" . __( 'You should avoid duplicate social meta tags.  You can use these free tools from Facebook, Google and Twitter to validate your social meta and check for errors:', 'all-in-one-seo-pack' ) . "</p>";
431
-
432
  foreach( Array( 'https://developers.facebook.com/tools/debug', 'http://www.google.com/webmasters/tools/richsnippets', 'https://dev.twitter.com/docs/cards/validation/validator' ) as $link ) {
433
  $meta .= "<a href='{$link}' target='_blank'>{$link}</a><br />";
434
  }
@@ -437,8 +454,6 @@ if ( !function_exists( 'aioseop_ajax_scan_header' ) ) {
437
  $output = $meta;
438
  $output = str_replace( "'", "\'", $output );
439
  $output = str_replace( "\n", '\n', $output );
440
- // $output = str_replace( "<", '&lt;', $output );
441
- // $output = str_replace( ">", '&gt;', $output );
442
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
443
  }
444
  }
@@ -458,9 +473,14 @@ if (!function_exists('aioseop_ajax_save_settings')) {
458
  if ( empty( $_POST['location'] ) ) $_POST['location'] = null;
459
  $_POST['Submit'] = 'ajax';
460
  $module->add_page_hooks();
461
- // $_POST = $module->get_current_options( $_POST, $_POST['location'] );
462
  $output = $module->handle_settings_updates( $_POST['location'] );
463
- $output = '<div id="aioseop_settings_header"><div id="message" class="updated fade"><p>' . $output . '</p></div></div><style>body.all-in-one-seo_page_all-in-one-seo-pack-aioseop_feature_manager .aioseop_settings_left { margin-top: 45px !important; }</style>';
 
 
 
 
 
 
464
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
465
  }
466
  }
@@ -477,10 +497,6 @@ if (!function_exists('aioseop_ajax_get_menu_links')) {
477
  $aiosp->admin_menu();
478
  if ( empty( $_POST['location'] ) ) $_POST['location'] = null;
479
  $_POST['Submit'] = 'ajax';
480
- // $module->add_page_hooks();
481
-
482
- // include_once( ABSPATH . "/wp-admin/admin.php" );
483
-
484
  $modlist = $aioseop_modules->get_loaded_module_list();
485
  $links = Array();
486
  $link_list = Array();
@@ -489,7 +505,7 @@ if (!function_exists('aioseop_ajax_get_menu_links')) {
489
  foreach( $link as $l )
490
  if ( !empty( $l ) ) {
491
  if ( empty( $link_list[$l['order']] ) ) $link_list[$l['order']] = Array();
492
- $link_list[$l['order']][$l['title']] = $l['href'];
493
  }
494
  if ( !empty( $modlist ) )
495
  foreach( $modlist as $k => $v ) {
@@ -500,7 +516,7 @@ if (!function_exists('aioseop_ajax_get_menu_links')) {
500
  foreach( $link as $l )
501
  if ( !empty( $l ) ) {
502
  if ( empty( $link_list[$l['order']] ) ) $link_list[$l['order']] = Array();
503
- $link_list[$l['order']][$l['title']] = $l['href'];
504
  }
505
  }
506
  }
@@ -534,26 +550,26 @@ if ( !function_exists( 'aioseop_mrt_pccolumn' ) ) {
534
  if ( !$target ) return;
535
  if( current_user_can( 'edit_post', $id ) ) { ?>
536
  <div class="aioseop_mpc_admin_meta_container">
537
- <div class="aioseop_mpc_admin_meta_options"
538
- id="aioseop_<?php print $target; ?>_<?php echo $id; ?>"
539
  style="float:left;">
540
- <?php $content = strip_tags( stripslashes( get_post_meta( $id, "_aioseop_" . $target, TRUE ) ) );
541
- if( !empty($content) ):
542
- $label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
543
- else:
544
  $label = "<label id='aioseop_label_{$target}_{$id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all-in-one-seo-pack' ) . " " . $target . '</i></strong>';
545
  endif;
546
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
547
  echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
548
  $id . ', "' . $target . '", "' . $nonce . '");return false;\' title="' . __('Edit') . '">'
549
- . "<img class='aioseop_edit_button'
550
- id='aioseop_edit_id'
551
  src='" . AIOSEOP_PLUGIN_IMAGES_URL . "cog_edit.png' /></a> " . $label;
552
  ?>
553
  </div>
554
  </div>
555
  <?php }
556
- }
557
  }
558
 
559
  if ( !function_exists( 'aioseop_unprotect_meta' ) ) {
@@ -706,14 +722,12 @@ if ( !function_exists( 'aioseop_load_json_services' ) ) {
706
  function aioseop_load_json_services() {
707
  static $services_json = null;
708
  if ( $services_json ) return $services_json;
709
- if ( !class_exists( 'Services_JSON' ) ) require_once( 'JSON.php' );
710
  if ( !$services_json ) $services_json = new Services_JSON();
711
  return $services_json;
712
  }
713
  }
714
 
715
-
716
-
717
  if ( !function_exists( 'json_encode' ) ) {
718
  function json_encode( $arg ) {
719
  $services_json = aioseop_load_json_services();
@@ -762,6 +776,7 @@ if ( !function_exists( 'parse_ini_string' ) ) {
762
  }
763
 
764
  function aioseop_update_user_visibilitynotice(){
765
-
766
- update_user_meta( get_current_user_id(), 'aioseop_visibility_notice_dismissed', true );
767
- }
 
8
  if (!function_exists('aioseop_load_modules')) {
9
  function aioseop_load_modules() {
10
  global $aioseop_modules, $aioseop_module_list;
11
+ require_once( AIOSEOP_PLUGIN_DIR . 'admin/aioseop_module_manager.php' );
12
  $aioseop_modules = new All_in_One_SEO_Pack_Module_Manager( apply_filters( 'aioseop_module_list', $aioseop_module_list ) );
13
  $aioseop_modules->load_modules();
14
  }
51
  $update_options = true;
52
  }
53
  if ( $update_options )
54
+ update_option( 'aioseop_options', $aioseop_options );
55
  }
56
  }
57
  }
113
  global $aioseop_options, $pagenow;
114
  $aiosp_posttypecolumns = Array();
115
  if ( !empty( $aioseop_options) && !empty( $aioseop_options['aiosp_posttypecolumns'] ) ) {
116
+ $aiosp_posttypecolumns = $aioseop_options['aiosp_posttypecolumns'];
117
  }
118
  if ( !empty( $pagenow ) && ( $pagenow == 'upload.php' ) )
119
  $post_type = 'attachment';
121
  $post_type = 'post';
122
  else
123
  $post_type = $_REQUEST['post_type'];
124
+
125
  if( is_array( $aiosp_posttypecolumns ) && in_array( $post_type, $aiosp_posttypecolumns ) ) {
126
  add_action( 'admin_head', 'aioseop_admin_head' );
127
  if ( $post_type == 'page' )
128
  add_filter( 'manage_pages_columns', 'aioseop_mrt_pcolumns' );
129
  elseif ( $post_type == 'attachment' )
130
+ add_filter( 'manage_media_columns', 'aioseop_mrt_pcolumns' );
131
  else
132
  add_filter( 'manage_posts_columns', 'aioseop_mrt_pcolumns' );
133
  if ( $post_type == 'attachment' )
148
  if ( empty( $aioseop_options['aiosp_togglekeywords'] ) )
149
  $aioseopc['seokeywords'] = __( 'SEO Keywords', 'all-in-one-seo-pack' );
150
  return $aioseopc;
151
+ }
152
  }
153
 
154
  if ( !function_exists( 'aioseop_admin_head' ) ) {
155
  function aioseop_admin_head() {
156
+ echo '<script type="text/javascript" src="' . AIOSEOP_PLUGIN_URL . 'js/quickedit_functions.js" ></script>';
157
  ?><style>
158
  .aioseop_edit_button {
159
  margin: 0 0 0 5px;
200
  ?><script type="text/javascript">
201
  //<![CDATA[
202
  var aioseopadmin = {
203
+ blogUrl: "<?php print get_bloginfo( 'url'); ?>",
204
+ pluginUrl: "<?php print AIOSEOP_PLUGIN_URL; ?>",
205
+ requestUrl: "<?php print WP_ADMIN_URL . '/admin-ajax.php' ?>",
206
  imgUrl: "<?php print AIOSEOP_PLUGIN_IMAGES_URL; ?>",
207
+ Edit: "<?php _e( 'Edit', 'all-in-one-seo-pack'); ?>", Post: "<?php _e( 'Post', 'all-in-one-seo-pack'); ?>", Save: "<?php _e( 'Save', 'all-in-one-seo-pack'); ?>", Cancel: "<?php _e( 'Cancel', 'all-in-one-seo-pack'); ?>", postType: "post",
208
+ pleaseWait: "<?php _e( 'Please wait...', 'all-in-one-seo-pack'); ?>", slugEmpty: "<?php _e( 'Slug may not be empty!', 'all-in-one-seo-pack'); ?>",
209
  Revisions: "<?php _e( 'Revisions', 'all-in-one-seo-pack'); ?>", Time: "<?php _e( 'Insert time', 'all-in-one-seo-pack'); ?>"
210
  }
211
  //]]>
216
 
217
  if ( !function_exists( 'aioseop_handle_ignore_notice' ) ) {
218
  function aioseop_handle_ignore_notice() {
219
+
220
  if ( !empty( $_GET ) ) {
221
  global $current_user;
222
+ $user_id = $current_user->ID;
223
+
224
  if ( !empty( $_GET["aioseop_reset_notices"] ) ) {
225
  delete_user_meta( $user_id, 'aioseop_ignore_notice' );
226
  }
255
  wp_parse_str( $_SERVER["QUERY_STRING"], $qa );
256
  $qa['aioseop_ignore_notice'] = $msgid;
257
  $url = '?' . build_query( $qa );
258
+ $message = '<p class=alignleft>' . $message . '</p><p class="alignright"><a class="aioseop_dismiss_link" href="' . $url . '">Dismiss</a></p>';
259
  }
260
  return aioseop_output_notice( $message, $id, $class );
261
  }
262
  }
263
+
264
  if ( !function_exists( 'aioseop_ajax_save_meta' ) ) {
265
  function aioseop_ajax_save_meta() {
266
  if ( !empty( $_POST['_inline_edit'] ) && ( $_POST['_inline_edit'] != 'undefined' ) )
276
  } else {
277
  die();
278
  }
279
+ if( $result != '' ):
280
+ $label = "<label id='aioseop_label_{$target}_{$post_id}'><span style='width: 20px;display: inline-block;'></span>" . $result . '</label>';
281
+ else:
282
  $label = "<label id='aioseop_label_{$target}_{$post_id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all-in-one-seo-pack' ) . ' ' . $target . '</i></strong>';
283
  endif;
284
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$post_id}" );
300
  define( 'AIOSEOP_AJAX_MSG_TMPL', "jQuery('div#aiosp_$settings').fadeOut('fast', function(){jQuery('div#aiosp_$settings').html('%s').fadeIn('fast');});" );
301
 
302
  if ( !wp_verify_nonce($_POST['nonce-aioseop'], 'aioseop-nonce') )
303
+ die( sprintf( AIOSEOP_AJAX_MSG_TMPL, __( "Unauthorized access; try reloading the page.", 'all-in-one-seo-pack' ) ) );
304
  } else {
305
  die(0);
306
  }
307
  }
308
  }
309
 
310
+ function aioseop_embed_handler_html( $return, $url, $attr ) {
311
+ return AIO_ProGeneral::aioseop_embed_handler_html();
312
+ }
313
+
314
+ function aioseop_ajax_update_oembed() {
315
+ AIO_ProGeneral::aioseop_ajax_update_oembed();
316
+ }
317
+
318
  if ( !function_exists( 'aioseop_ajax_save_url' ) ) {
319
  function aioseop_ajax_save_url() {
320
  aioseop_ajax_init();
325
  global $aiosp, $aioseop_modules;
326
  aioseop_load_modules();
327
  $aiosp->admin_menu();
328
+ if ( !empty( $_POST['settings'] ) && ( $_POST['settings'] == 'video_sitemap_addl_pages' ) ) {
329
+ $module = $aioseop_modules->return_module( "All_in_One_SEO_Pack_Video_Sitemap" );
330
+ } elseif ( !empty( $_POST['settings'] ) && ( $_POST['settings'] == 'news_sitemap_addl_pages' ) ) {
331
+ $module = $aioseop_modules->return_module( "All_in_One_SEO_Pack_News_Sitemap" );
332
+ } else {
333
+ $module = $aioseop_modules->return_module( "All_in_One_SEO_Pack_Sitemap" );
334
+ }
335
  $_POST['location'] = null;
336
  $_POST['Submit'] = 'ajax';
337
  $module->add_page_hooks();
338
+ $prefix = $module->get_prefix();
339
  $_POST = $module->get_current_options( $_POST, null );
340
  $module->handle_settings_updates( null );
341
  $options = $module->get_current_options( Array(), null );
342
+ $output = $module->display_custom_options( '', Array( 'name' => $prefix . 'addl_pages', 'type' => 'custom', 'save' => true, 'value' => $options[$prefix . 'addl_pages'], 'attr' => '' ) );
343
  $output = str_replace( "'", "\'", $output );
344
  $output = str_replace( "\n", '\n', $output );
345
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
381
  }
382
 
383
  if ( !function_exists( 'aioseop_ajax_scan_header' ) ) {
384
+
385
  function aioseop_ajax_scan_header() {
386
  $_POST["options"] = "foo";
387
  aioseop_ajax_init();
445
  . "<p>" . __( 'All in One SEO Pack has detected that a plugin(s) or theme is also outputting social meta tags on your site.  You can view this social meta in the source code of your site (check your browser help for instructions on how to view source code).', 'all-in-one-seo-pack' )
446
  . "</p><p>" . __( 'You may prefer to use the social meta tags that are being output by the other plugin(s) or theme.  If so, then you should deactivate this Social Meta feature in All in One SEO Pack Feature Manager.', 'all-in-one-seo-pack' )
447
  . "</p><p>" . __( 'You should avoid duplicate social meta tags.  You can use these free tools from Facebook, Google and Twitter to validate your social meta and check for errors:', 'all-in-one-seo-pack' ) . "</p>";
448
+
449
  foreach( Array( 'https://developers.facebook.com/tools/debug', 'http://www.google.com/webmasters/tools/richsnippets', 'https://dev.twitter.com/docs/cards/validation/validator' ) as $link ) {
450
  $meta .= "<a href='{$link}' target='_blank'>{$link}</a><br />";
451
  }
454
  $output = $meta;
455
  $output = str_replace( "'", "\'", $output );
456
  $output = str_replace( "\n", '\n', $output );
 
 
457
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
458
  }
459
  }
473
  if ( empty( $_POST['location'] ) ) $_POST['location'] = null;
474
  $_POST['Submit'] = 'ajax';
475
  $module->add_page_hooks();
 
476
  $output = $module->handle_settings_updates( $_POST['location'] );
477
+
478
+ if( AIOSEOPPRO ){
479
+ $output = '<div id="aioseop_settings_header"><div id="message" class="updated fade"><p>' . $output . '</p></div></div><style>body.all-in-one-seo_page_all-in-one-seo-pack-pro-aioseop_feature_manager .aioseop_settings_left { margin-top: 45px !important; }</style>';
480
+ }else{
481
+ $output = '<div id="aioseop_settings_header"><div id="message" class="updated fade"><p>' . $output . '</p></div></div><style>body.all-in-one-seo_page_all-in-one-seo-pack-aioseop_feature_manager .aioseop_settings_left { margin-top: 45px !important; }</style>';
482
+ }
483
+
484
  die( sprintf( AIOSEOP_AJAX_MSG_TMPL, $output ) );
485
  }
486
  }
497
  $aiosp->admin_menu();
498
  if ( empty( $_POST['location'] ) ) $_POST['location'] = null;
499
  $_POST['Submit'] = 'ajax';
 
 
 
 
500
  $modlist = $aioseop_modules->get_loaded_module_list();
501
  $links = Array();
502
  $link_list = Array();
505
  foreach( $link as $l )
506
  if ( !empty( $l ) ) {
507
  if ( empty( $link_list[$l['order']] ) ) $link_list[$l['order']] = Array();
508
+ $link_list[$l['order']][$l['title']] = $l['href'];
509
  }
510
  if ( !empty( $modlist ) )
511
  foreach( $modlist as $k => $v ) {
516
  foreach( $link as $l )
517
  if ( !empty( $l ) ) {
518
  if ( empty( $link_list[$l['order']] ) ) $link_list[$l['order']] = Array();
519
+ $link_list[$l['order']][$l['title']] = $l['href'];
520
  }
521
  }
522
  }
550
  if ( !$target ) return;
551
  if( current_user_can( 'edit_post', $id ) ) { ?>
552
  <div class="aioseop_mpc_admin_meta_container">
553
+ <div class="aioseop_mpc_admin_meta_options"
554
+ id="aioseop_<?php print $target; ?>_<?php echo $id; ?>"
555
  style="float:left;">
556
+ <?php $content = strip_tags( stripslashes( get_post_meta( $id, "_aioseop_" . $target, TRUE ) ) );
557
+ if( !empty($content) ):
558
+ $label = "<label id='aioseop_label_{$target}_{$id}'><span style='width: 20px;display: inline-block;'></span>" . $content . '</label>';
559
+ else:
560
  $label = "<label id='aioseop_label_{$target}_{$id}'></label><span style='width: 20px;display: inline-block;'></span><strong><i>" . __( 'No', 'all-in-one-seo-pack' ) . " " . $target . '</i></strong>';
561
  endif;
562
  $nonce = wp_create_nonce( "aioseop_meta_{$target}_{$id}" );
563
  echo '<a id="' . $target . 'editlink' . $id . '" class="aioseop_edit_link" href="javascript:void(0);" onclick=\'aioseop_ajax_edit_meta_form(' .
564
  $id . ', "' . $target . '", "' . $nonce . '");return false;\' title="' . __('Edit') . '">'
565
+ . "<img class='aioseop_edit_button'
566
+ id='aioseop_edit_id'
567
  src='" . AIOSEOP_PLUGIN_IMAGES_URL . "cog_edit.png' /></a> " . $label;
568
  ?>
569
  </div>
570
  </div>
571
  <?php }
572
+ }
573
  }
574
 
575
  if ( !function_exists( 'aioseop_unprotect_meta' ) ) {
722
  function aioseop_load_json_services() {
723
  static $services_json = null;
724
  if ( $services_json ) return $services_json;
725
+ if ( !class_exists( 'Services_JSON' ) ) require_once( 'inc/extlib/JSON.php' );
726
  if ( !$services_json ) $services_json = new Services_JSON();
727
  return $services_json;
728
  }
729
  }
730
 
 
 
731
  if ( !function_exists( 'json_encode' ) ) {
732
  function json_encode( $arg ) {
733
  $services_json = aioseop_load_json_services();
776
  }
777
 
778
  function aioseop_update_user_visibilitynotice(){
779
+
780
+ update_user_meta( get_current_user_id(), 'aioseop_visibility_notice_dismissed', true );
781
+
782
+ }
inc/aiosp_calc_desc.php ADDED
File without changes
inc/aiosp_calc_title.php ADDED
File without changes
inc/commonstrings.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class aiosp_common_strings {
4
+
5
+ function __construct( ){
6
+
7
+ //video sitemap strings
8
+ __( 'Video Sitemap', 'all-in-one-seo-pack' );
9
+ __( 'Show Only Posts With Videos', 'all-in-one-seo-pack' );
10
+ __( 'Scan Posts For Videos', 'all-in-one-seo-pack' );
11
+ __( 'Restrict Access to Video Sitemap', 'all-in-one-seo-pack' );
12
+ __( 'Press the Scan button to scan your posts for videos! Do this if video content from a post or posts is not showing up in your sitemap.', 'all-in-one-seo-pack' );
13
+ __( 'If checked, only posts that have videos in them will be displayed on the sitemap.', 'all-in-one-seo-pack' );
14
+ __( 'Enable this option to only allow access to your sitemap by site administrators and major search engines.', 'all-in-one-seo-pack' );
15
+ __( 'You do not have access to this page; try logging in as an administrator.' , 'all-in-one-seo-pack' );
16
+ __( 'Scan', 'all-in-one-seo-pack' );
17
+
18
+ //functions_class strings
19
+ __( 'Finished scanning posts', 'all-in-one-seo-pack' );
20
+
21
+ //update checker strings (incomplete... need to separate out html)
22
+ __( 'Purchase one now', 'all-in-one-seo-pack' );
23
+ __( 'License Key is not set yet or invalid. ', 'all-in-one-seo-pack' );
24
+ __( ' Need a license key?', 'all-in-one-seo-pack' );
25
+ __("Notice: ", 'all-in-one-seo-pack' );
26
+ __( 'Manage Licenses', 'all-in-one-seo-pack' );
27
+
28
+
29
+
30
+ }
31
+
32
+
33
+
34
+
35
+
36
+
37
+
38
+ }
inc/deprecated.php ADDED
@@ -0,0 +1,214 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ function oauth_init() {
4
+ if ( !is_user_logged_in() || !current_user_can( 'aiosp_manage_seo' ) ) return false;
5
+ $this->token = "anonymous";
6
+ $this->secret = "anonymous";
7
+ $preload = $this->get_class_option();
8
+ $manual_ua = '';
9
+ if ( !empty( $_POST ) ) {
10
+ if ( !empty( $_POST["{$this->prefix}google_connect"] ) ) {
11
+ $manual_ua = 1;
12
+ }
13
+ } elseif ( !empty( $preload["{$this->prefix}google_connect"] ) ) {
14
+ $manual_ua = 1;
15
+ }
16
+ if ( !empty( $manual_ua ) ) {
17
+ foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
18
+ if ( !empty( $preload["{$this->prefix}{$v}"]) ) {
19
+ unset( $preload["{$this->prefix}{$v}"] );
20
+ unset( $this->$v );
21
+ }
22
+ }
23
+ $this->update_class_option( $preload );
24
+ $this->update_options( );
25
+ // return;
26
+ }
27
+ foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
28
+ if ( !empty( $preload["{$this->prefix}{$v}"]) ) {
29
+ $this->$v = $preload["{$this->prefix}{$v}"];
30
+ }
31
+ }
32
+ $callback_url = NULL;
33
+ if ( !empty( $_REQUEST['oauth_verifier'] ) ) {
34
+ $this->verifier = $_REQUEST['oauth_verifier'];
35
+ if ( !empty( $_REQUEST['oauth_token'] ) ) {
36
+ if ( isset( $this->token ) && $this->token == $_REQUEST['oauth_token'] ) {
37
+ $this->access_token = $this->oauth_get_token( $this->verifier );
38
+ if ( is_array( $this->access_token ) && !empty( $this->access_token['oauth_token'] ) ) {
39
+ unset( $this->token );
40
+ unset( $this->secret );
41
+ $this->ga_token = $this->access_token['oauth_token'];
42
+ foreach ( Array( "token", "secret", "access_token", "ga_token" ) as $v ) {
43
+ if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
44
+ }
45
+ $this->update_class_option( $preload );
46
+ }
47
+ }
48
+ wp_redirect( menu_page_url( plugin_basename( $this->file ), false ) );
49
+ exit;
50
+ }
51
+ }
52
+ if ( !empty( $this->ga_token ) ) {
53
+ if ( !empty( $this->account_cache ) ) {
54
+ $ua = $this->account_cache['ua'];
55
+ $profiles = $this->account_cache['profiles'];
56
+ } else {
57
+ $this->token = $this->access_token['oauth_token'];
58
+ $this->secret = $this->access_token['oauth_token_secret'];
59
+
60
+ $data = $this->oauth_get_data('https://www.googleapis.com/analytics/v2.4/management/accounts/~all/webproperties/~all/profiles' );
61
+
62
+ $http_code = wp_remote_retrieve_response_code( $data );
63
+
64
+ if( $http_code == 200 ) {
65
+ $response = wp_remote_retrieve_body( $data );
66
+ $xml = $this->xml_string_to_array( $response );
67
+ $ua = Array();
68
+ $profiles = Array();
69
+ if ( !empty( $xml["entry"] ) ) {
70
+ $rec = Array();
71
+ $results = Array();
72
+ if ( !empty( $xml["entry"][0] ) )
73
+ $results = $xml["entry"];
74
+ else
75
+ $results[] = $xml["entry"];
76
+ foreach( $results as $r ) {
77
+ foreach( $r as $k => $v )
78
+ switch( $k ) {
79
+ case 'id': $rec['id'] = $v; break;
80
+ case 'title': $rec['title'] = $v['@content']; break;
81
+ case 'dxp:property':
82
+ $attr = Array();
83
+ foreach ( $v as $a => $f )
84
+ if ( is_array($f) && !empty($f['@attributes'] ) )
85
+ $rec[$f['@attributes']['name']] = $f['@attributes']['value'];
86
+ break;
87
+ }
88
+ $ua[$rec['title']] = Array( $rec['ga:webPropertyId'] => $rec['ga:webPropertyId'] );
89
+ $profiles[ $rec['ga:webPropertyId'] ] = $rec['ga:profileId'];
90
+ }
91
+ }
92
+ $this->account_cache = Array();
93
+ $this->account_cache['ua'] = $ua;
94
+ $this->account_cache['profiles'] = $profiles;
95
+ $preload["{$this->prefix}account_cache"] = $this->account_cache;
96
+ } else {
97
+ unset( $this->token );
98
+ unset( $this->secret );
99
+ unset( $this->ga_token );
100
+ unset( $preload["{$this->prefix}ga_token"] ); // error condition here -- pdb
101
+ $response = wp_remote_retrieve_body( $data );
102
+ $xml = $this->xml_string_to_array( $response );
103
+ if ( !empty( $xml ) && !empty( $xml["error"] ) ) {
104
+ $error = 'Error: ';
105
+ if ( !empty( $xml["error"]["internalReason"] ) ) {
106
+ $error .= $xml["error"]["internalReason"];
107
+ } else {
108
+ foreach( $xml["error"] as $k => $v )
109
+ $error .= "$k: $v\n";
110
+ }
111
+ $this->output_error( $error );
112
+ }
113
+ }
114
+ }
115
+ }
116
+ if ( !empty( $this->ga_token ) ) {
117
+ $this->default_options["google_analytics_id"]['type'] = 'select';
118
+ $this->default_options["google_analytics_id"]['initial_options'] = $ua;
119
+ $this->default_options["google_connect"]["type"] = 'html';
120
+ $this->default_options["google_connect"]["nolabel"] = 1;
121
+ $this->default_options["google_connect"]["save"] = true;
122
+ $this->default_options["google_connect"]["name"] = __( 'Disconnect From Google Analytics', 'all-in-one-seo-pack' );
123
+ $this->default_options["google_connect"]["default"] = "<input name='aiosp_google_connect' type=submit class='button-primary' value='" . __( 'Remove Stored Credentials', 'all-in-one-seo-pack' ) . "'>";
124
+ add_filter( $this->prefix . 'override_options', Array( $this, 'override_options' ), 10, 3 );
125
+ } else {
126
+ $this->default_options["google_connect"]["type"] = 'html';
127
+ $this->default_options["google_connect"]["nolabel"] = 1;
128
+ $this->default_options["google_connect"]["save"] = false;
129
+ $url = $this->oauth_connect();
130
+ $this->default_options["google_connect"]["default"] = "<a href='{$url}' class='button-primary'>" . __( 'Connect With Google Analytics', 'all-in-one-seo-pack' ) . "</a>";
131
+ foreach ( Array( "token", "secret", "access_token", "ga_token", "account_cache" ) as $v ) {
132
+ if ( !empty( $this->$v) ) $preload["{$this->prefix}{$v}"] = $this->$v;
133
+ }
134
+ }
135
+ $this->update_class_option( $preload );
136
+ $this->update_options( );
137
+ // $url = $this->report_query();
138
+ if ( !empty( $this->account_cache ) && !empty( $this->options["{$this->prefix}google_analytics_id"] ) && !empty( $this->account_cache["profiles"][ $this->options["{$this->prefix}google_analytics_id"] ] ) ) {
139
+ $this->profile_id = $this->account_cache["profiles"][ $this->options["{$this->prefix}google_analytics_id"] ];
140
+ }
141
+ }
142
+
143
+ function oauth_get_data( $oauth_url, $args = null ) {
144
+ if ( !class_exists( 'OAuthConsumer' ) ) require_once( AIOSEOP_PLUGIN_DIR . 'inc/extlib/OAuth.php' );
145
+ if ( $args === null ) $args = Array( 'scope' => 'https://www.googleapis.com/auth/analytics.readonly', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
146
+ $req_token = new OAuthConsumer( $this->token, $this->secret );
147
+ $req = $this->oauth_get_creds( $oauth_url, $req_token, $args );
148
+ return wp_remote_get( $req->to_url() );
149
+ }
150
+
151
+ function oauth_get_creds( $oauth_url, $req_token = NULL, $args = Array(), $callback = null ) {
152
+ if ( !class_exists( 'OAuthConsumer' ) ) require_once( AIOSEOP_PLUGIN_DIR . 'inc/extlib/OAuth.php' );
153
+ if ( !empty( $callback ) ) $args['oauth_callback'] = $callback;
154
+ if ( empty( $this->sig_method ) ) $this->sig_method = new OAuthSignatureMethod_HMAC_SHA1();
155
+ if ( empty( $this->consumer ) ) $this->consumer = new OAuthCOnsumer( 'anonymous', 'anonymous' );
156
+ $req_req = OAuthRequest::from_consumer_and_token( $this->consumer, $req_token, "GET", $oauth_url, $args );
157
+ $req_req->sign_request( $this->sig_method, $this->consumer, $req_token );
158
+ return $req_req;
159
+ }
160
+
161
+ function oauth_get_token( $oauth_verifier ) {
162
+ if ( !class_exists( 'OAuthConsumer' ) ) require_once( AIOSEOP_PLUGIN_DIR . 'inc/extlib/OAuth.php' );
163
+ $args = Array( 'scope' => 'https://www.google.com/analytics/feeds/', 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack' ) );
164
+ $args['oauth_verifier'] = $oauth_verifier;
165
+ $oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
166
+ $reqData = $this->oauth_get_data( $oauth_access_token, $args );
167
+ $reqOAuthData = OAuthUtil::parse_parameters( wp_remote_retrieve_body( $reqData ) );
168
+ return $reqOAuthData;
169
+ }
170
+
171
+ function oauth_connect( $count = 0 ) {
172
+ global $aiosp_activation;
173
+ if ( !class_exists( 'OAuthConsumer' ) ) require_once( AIOSEOP_PLUGIN_DIR . 'inc/extlib/OAuth.php' );
174
+ $url = '';
175
+ $callback_url = NULL;
176
+ $consumer_key = "anonymous";
177
+ $consumer_secret = "anonymous";
178
+ $oauth_request_token = "https://www.google.com/accounts/OAuthGetRequestToken";
179
+ $oauth_authorize = "https://www.google.com/accounts/OAuthAuthorizeToken";
180
+ $oauth_access_token = "https://www.google.com/accounts/OAuthGetAccessToken";
181
+ if ( $aiosp_activation ) {
182
+ $oauth_current = false;
183
+ } else {
184
+ $oauth_current = get_transient( "aioseop_oauth_current" );
185
+ }
186
+ if ( !empty( $this->token ) && ( $this->token != 'anonymous' ) && $oauth_current ) {
187
+ return $oauth_authorize . '?oauth_token=' . $this->token;
188
+ } else {
189
+ set_transient( "aioseop_oauth_current", 1, 3600 );
190
+ unset( $this->token );
191
+ unset( $this->secret );
192
+ }
193
+ $args = array(
194
+ 'scope' => 'https://www.google.com/analytics/feeds/',
195
+ 'xoauth_displayname' => AIOSEOP_PLUGIN_NAME . ' ' . __('Google Analytics', 'all-in-one-seo-pack')
196
+ );
197
+ if ( AIOSEOPPRO ) {
198
+ $req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack-pro/aioseop_class.php" ) );
199
+ } else {
200
+ $req_req = $this->oauth_get_creds( $oauth_request_token, NULL, $args, admin_url( "admin.php?page=all-in-one-seo-pack/aioseop_class.php" ) );
201
+ }
202
+ $reqData = wp_remote_get( $req_req->to_url() );
203
+ $reqOAuthData = OAuthUtil::parse_parameters( wp_remote_retrieve_body( $reqData ) );
204
+ if ( !empty( $reqOAuthData['oauth_token'] ) ) $this->token = $reqOAuthData['oauth_token'];
205
+ if ( !empty( $reqOAuthData['oauth_token_secret'] ) ) $this->secret = $reqOAuthData['oauth_token_secret'];
206
+ if ( !empty( $this->token ) && ( $this->token != 'anonymous' ) && ( $oauth_current ) ) {
207
+ $url = $oauth_authorize . "?oauth_token={$this->token}";
208
+ } else {
209
+ if ( !$count ) {
210
+ return $this->oauth_connect( 1 );
211
+ }
212
+ }
213
+ return $url;
214
+ }
JSON.php → inc/extlib/JSON.php RENAMED
File without changes
OAuth.php → inc/extlib/OAuth.php RENAMED
File without changes
inc/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
init.php ADDED
@@ -0,0 +1,2 @@
 
 
1
+ <?php
2
+
aioseop_module.js → js/modules/aioseop_module.js RENAMED
@@ -185,14 +185,14 @@ jQuery(document).ready(function(){
185
  // listen for drag drop of metaboxes , bind mousedown to .hndle so it only fires when starting to drag
186
  jQuery('.hndle').mousedown(function(){
187
  // set live event listener for mouse up on the content .wrap and wait a tick to give the dragged div time to settle before firing the reclick function
188
- jQuery('.wrap').mouseup(function(){store_radio(); setTimeout('reclick_radio();',50);});
189
  })
190
  });
191
  /**
192
  * stores object of all radio buttons that are checked for entire form
193
  */
194
- if(typeof store_radio != 'function') {
195
- function store_radio(){
196
  var radioshack = {};
197
  jQuery('input[type="radio"]').each(function(){
198
  if(jQuery(this).is(':checked')){
@@ -201,12 +201,12 @@ if(typeof store_radio != 'function') {
201
  jQuery(document).data('radioshack',radioshack);
202
  });
203
  }
204
- }
205
  /**
206
  * detect mouseup and restore all radio buttons that were checked
207
  */
208
- if(typeof reclick_radio != 'function') {
209
- function reclick_radio(){
210
  // get object of checked radio button names and values
211
  var radios = jQuery(document).data('radioshack');
212
  //step thru each object element and trigger a click on it's corresponding radio button
@@ -216,7 +216,7 @@ if(typeof reclick_radio != 'function') {
216
  // unbind the event listener on .wrap (prevents clicks on inputs from triggering function)
217
  jQuery('.wrap').unbind('mouseup');
218
  }
219
- }
220
 
221
  function aioseop_handle_ajax_call( action, settings, options, success) {
222
  var aioseop_sack = new sack(ajaxurl);
@@ -229,6 +229,7 @@ function aioseop_handle_ajax_call( action, settings, options, success) {
229
  aioseop_sack.onCompletion = success;
230
  }
231
  aioseop_sack.setVar( "nonce-aioseop", jQuery('input[name="nonce-aioseop"]').val() );
 
232
 
233
  aioseop_sack.onError = function() {alert('Ajax error on saving.'); };
234
  aioseop_sack.runAJAX();
@@ -285,12 +286,6 @@ jQuery(document).ready(function() {
285
  }
286
  });
287
  }
288
- /*
289
- jQuery("#aiosp_settings_form").delegate("input[name='Submit']", "click", function() {
290
- aioseop_handle_post_url('aioseop_ajax_save_settings', 'ajax_settings_message', jQuery('form#aiosp_settings_form').serialize() );
291
- return false;
292
- });
293
- */
294
  jQuery(".all-in-one-seo_page_all-in-one-seo-pack-pro-aioseop_feature_manager #aiosp_settings_form .aioseop_settings_left").delegate("input[name='Submit']", "click", function(e) {
295
  e.preventDefault();
296
  return false;
@@ -306,38 +301,35 @@ jQuery(document).ready(function() {
306
  return false;
307
  });
308
  var selectors = "div.aioseop_multicheckbox_type div.aioseop_option_div, #aiosp_sitemap_debug div.aioseop_option_div, #aiosp_performance_status div.aioseop_option_div";
309
- /*
310
- jQuery(selectors).each(function() {
311
- aioseop_overflow_border(this);
312
- });
313
- var resizeTimer;
314
- jQuery(window).resize(function() {
315
- clearTimeout(resizeTimer);
316
- resizeTimer = setTimeout(jQuery(selectors).each(function() {
317
- aioseop_overflow_border(this);
318
- }), 250);
319
- });
320
- */
321
  jQuery("div#aiosp_sitemap_addl_pages_metabox").delegate("input[name='Submit']", "click", function() {
322
  aioseop_handle_post_url('aioseop_ajax_save_url', 'sitemap_addl_pages', jQuery('div#aiosp_sitemap_addl_pages_metabox input, div#aiosp_sitemap_addl_pages_metabox select').serialize() );
323
  return false;
324
  });
 
 
 
 
325
  jQuery("div#aiosp_sitemap_addl_pages_metabox").delegate("a.aiosp_delete_url", "click", function(e) {
326
  e.preventDefault();
327
  aioseop_handle_post_url('aioseop_ajax_delete_url', 'sitemap_addl_pages', jQuery(this).attr("title") );
328
  return false;
329
  });
 
 
 
 
 
330
  jQuery("div#aiosp_opengraph_scan_header").delegate("input[name='aiosp_opengraph_scan_header']", "click", function(e) {
331
  e.preventDefault();
332
  aioseop_handle_post_url('aioseop_ajax_scan_header', 'opengraph_scan_header', jQuery('div#aiosp_opengraph_scan_header').serialize() );
333
  return false;
334
  });
335
- jQuery( 'input[name="aiosp_sitemap_posttypes[]"][value="all"], input[name="aiosp_sitemap_taxonomies[]"][value="all"]' ).click(function () {
336
- jQuery(this).parents('div:eq(0)').find(':checkbox').attr('checked', this.checked);
337
  });
338
- jQuery( 'input[name="aiosp_sitemap_posttypes[]"][value!="all"], input[name="aiosp_sitemap_taxonomies[]"][value!="all"]' ).click(function () {
339
  if ( !this.checked )
340
- jQuery(this).parents('div:eq(0)').find('input[value="all"]:checkbox').attr('checked', this.checked);
341
  });
342
 
343
  jQuery(".aioseop_tab:not(:first)").hide();
185
  // listen for drag drop of metaboxes , bind mousedown to .hndle so it only fires when starting to drag
186
  jQuery('.hndle').mousedown(function(){
187
  // set live event listener for mouse up on the content .wrap and wait a tick to give the dragged div time to settle before firing the reclick function
188
+ jQuery('.wrap').mouseup(function(){aiosp_store_radio(); setTimeout('aiosp_reclick_radio();',50);});
189
  })
190
  });
191
  /**
192
  * stores object of all radio buttons that are checked for entire form
193
  */
194
+
195
+ function aiosp_store_radio(){
196
  var radioshack = {};
197
  jQuery('input[type="radio"]').each(function(){
198
  if(jQuery(this).is(':checked')){
201
  jQuery(document).data('radioshack',radioshack);
202
  });
203
  }
204
+
205
  /**
206
  * detect mouseup and restore all radio buttons that were checked
207
  */
208
+
209
+ function aiosp_reclick_radio(){
210
  // get object of checked radio button names and values
211
  var radios = jQuery(document).data('radioshack');
212
  //step thru each object element and trigger a click on it's corresponding radio button
216
  // unbind the event listener on .wrap (prevents clicks on inputs from triggering function)
217
  jQuery('.wrap').unbind('mouseup');
218
  }
219
+
220
 
221
  function aioseop_handle_ajax_call( action, settings, options, success) {
222
  var aioseop_sack = new sack(ajaxurl);
229
  aioseop_sack.onCompletion = success;
230
  }
231
  aioseop_sack.setVar( "nonce-aioseop", jQuery('input[name="nonce-aioseop"]').val() );
232
+ aioseop_sack.setVar( "nonce-aioseop-edit", jQuery('input[name="nonce-aioseop-edit"]').val() );
233
 
234
  aioseop_sack.onError = function() {alert('Ajax error on saving.'); };
235
  aioseop_sack.runAJAX();
286
  }
287
  });
288
  }
 
 
 
 
 
 
289
  jQuery(".all-in-one-seo_page_all-in-one-seo-pack-pro-aioseop_feature_manager #aiosp_settings_form .aioseop_settings_left").delegate("input[name='Submit']", "click", function(e) {
290
  e.preventDefault();
291
  return false;
301
  return false;
302
  });
303
  var selectors = "div.aioseop_multicheckbox_type div.aioseop_option_div, #aiosp_sitemap_debug div.aioseop_option_div, #aiosp_performance_status div.aioseop_option_div";
 
 
 
 
 
 
 
 
 
 
 
 
304
  jQuery("div#aiosp_sitemap_addl_pages_metabox").delegate("input[name='Submit']", "click", function() {
305
  aioseop_handle_post_url('aioseop_ajax_save_url', 'sitemap_addl_pages', jQuery('div#aiosp_sitemap_addl_pages_metabox input, div#aiosp_sitemap_addl_pages_metabox select').serialize() );
306
  return false;
307
  });
308
+ jQuery("div#aiosp_video_sitemap_addl_pages_metabox").delegate("input[name='Submit']", "click", function() {
309
+ aioseop_handle_post_url('aioseop_ajax_save_url', 'video_sitemap_addl_pages', jQuery('div#aiosp_video_sitemap_addl_pages_metabox input, div#aiosp_video_sitemap_addl_pages_metabox select').serialize() );
310
+ return false;
311
+ });
312
  jQuery("div#aiosp_sitemap_addl_pages_metabox").delegate("a.aiosp_delete_url", "click", function(e) {
313
  e.preventDefault();
314
  aioseop_handle_post_url('aioseop_ajax_delete_url', 'sitemap_addl_pages', jQuery(this).attr("title") );
315
  return false;
316
  });
317
+ jQuery("div#aiosp_video_sitemap_addl_pages_metabox").delegate("a.aiosp_delete_url", "click", function(e) {
318
+ e.preventDefault();
319
+ aioseop_handle_post_url('aioseop_ajax_delete_url', 'video_sitemap_addl_pages', jQuery(this).attr("title") );
320
+ return false;
321
+ });
322
  jQuery("div#aiosp_opengraph_scan_header").delegate("input[name='aiosp_opengraph_scan_header']", "click", function(e) {
323
  e.preventDefault();
324
  aioseop_handle_post_url('aioseop_ajax_scan_header', 'opengraph_scan_header', jQuery('div#aiosp_opengraph_scan_header').serialize() );
325
  return false;
326
  });
327
+ jQuery( 'input[name="aiosp_sitemap_posttypes[]"][value="all"], input[name="aiosp_video_sitemap_posttypes[]"][value="all"], input[name="aiosp_sitemap_taxonomies[]"][value="all"], input[name="aiosp_video_sitemap_taxonomies[]"][value="all"]' ).click(function () {
328
+ jQuery(this).parents('div:eq(0)').find(':checkbox').prop('checked', this.checked);
329
  });
330
+ jQuery( 'input[name="aiosp_sitemap_posttypes[]"][value!="all"], input[name="aiosp_video_sitemap_posttypes[]"][value!="all"], input[name="aiosp_sitemap_taxonomies[]"][value!="all"], input[name="aiosp_video_sitemap_taxonomies[]"][value!="all"]' ).click(function () {
331
  if ( !this.checked )
332
+ jQuery(this).parents('div:eq(0)').find('input[value="all"]:checkbox').prop('checked', this.checked);
333
  });
334
 
335
  jQuery(".aioseop_tab:not(:first)").hide();
quickedit_functions.js → js/quickedit_functions.js RENAMED
@@ -56,4 +56,4 @@ function handle_post_meta( p, t, m, n ) {
56
  jQuery("div#aioseop_"+m+"_"+p).attr( "class", "aioseop_mpc_admin_meta_options" );
57
 
58
  })
59
- };
56
  jQuery("div#aioseop_"+m+"_"+p).attr( "class", "aioseop_mpc_admin_meta_options" );
57
 
58
  })
59
+ }
aioseop_bad_robots.php → modules/aioseop_bad_robots.php RENAMED
@@ -14,8 +14,8 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
14
  parent::__construct();
15
 
16
  $help_text = Array(
17
- 'block_bots' => __( 'Block requests from user agents that are known to misbehave.', 'all-in-one-seo-pack' ),
18
- 'block_refer' => __( 'Block referral spam.', 'all-in-one-seo-pack' ),
19
  'track_blocks'=> __( 'Log and show recent requests from blocked bots.', 'all-in-one-seo-pack' ),
20
  'htaccess_rules'=>__( 'Block bad robots via Apaache .htaccess rules. Warning: this will change your web server configuration, make sure you are able to edit this file manually as well.', 'all-in-one-seo-pack' ),
21
  'edit_blocks' => __( 'Check this to edit the list of disallowed user agents for blocking bad bots.', 'all-in-one-seo-pack' ),
@@ -25,11 +25,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
25
  );
26
 
27
  $this->default_options = array(
28
- 'block_bots' => Array( 'name' => __( 'Block Bad Bots', 'all-in-one-seo-pack' ) ),
29
- 'block_refer' => Array( 'name' => __( 'Block Referral Spam', 'all-in-one-seo-pack' ) ),
30
  'track_blocks' => Array( 'name' => __( 'Track Blocked Bots', 'all-in-one-seo-pack' ) ),
31
- 'htaccess_rules' => Array( 'name' => __( 'Add rules to .htaccess', 'all-in-one-seo-pack' ) ),
32
- 'edit_blocks' => Array( 'name' => __( 'Edit Blocklists', 'all-in-one-seo-pack' ) ),
33
  'blocklist' => Array( 'name' => __( 'User Agent Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on' ), 'default' => join( "\n", $this->default_bad_bots() ) ),
34
  'referlist' => Array( 'name' => __( 'Referer Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on', "{$this->prefix}block_refer" => 'on', ), 'default' => join( "\n", $this->default_bad_referers() ) ),
35
  'blocked_log' => Array( 'name' => __( 'Log Of Blocked Bots', 'all-in-one-seo-pack' ), 'default' => __( 'No requests yet.', 'all-in-one-seo-pack' ), 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'top', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px', 'condshow' => Array( "{$this->prefix}track_blocks" => 'on' ) )
@@ -76,7 +76,18 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Bad_Robots' ) ) {
76
  }
77
 
78
  function generate_htaccess_blocklist() {
79
- if ( !$this->option_isset( 'htaccess_rules' ) ) return;
 
 
 
 
 
 
 
 
 
 
 
80
  if ( function_exists( 'apache_get_modules' ) ) {
81
  $modules = apache_get_modules();
82
  foreach( Array( 'mod_authz_host', 'mod_setenvif' ) as $m ) {
14
  parent::__construct();
15
 
16
  $help_text = Array(
17
+ 'block_bots' => __( 'Block requests from user agents that are known to misbehave with 503.', 'all-in-one-seo-pack' ),
18
+ 'block_refer' => __( 'Block Referral Spam using HTTP.', 'all-in-one-seo-pack' ),
19
  'track_blocks'=> __( 'Log and show recent requests from blocked bots.', 'all-in-one-seo-pack' ),
20
  'htaccess_rules'=>__( 'Block bad robots via Apaache .htaccess rules. Warning: this will change your web server configuration, make sure you are able to edit this file manually as well.', 'all-in-one-seo-pack' ),
21
  'edit_blocks' => __( 'Check this to edit the list of disallowed user agents for blocking bad bots.', 'all-in-one-seo-pack' ),
25
  );
26
 
27
  $this->default_options = array(
28
+ 'block_bots' => Array( 'name' => __( 'Block Bad Bots using HTTP', 'all-in-one-seo-pack' ) ),
29
+ 'block_refer' => Array( 'name' => __( 'Block Referral Spam using HTTP', 'all-in-one-seo-pack' ) ),
30
  'track_blocks' => Array( 'name' => __( 'Track Blocked Bots', 'all-in-one-seo-pack' ) ),
31
+ 'htaccess_rules' => Array( 'name' => __( 'Block Bad Bots using .htaccess', 'all-in-one-seo-pack' ) ),
32
+ 'edit_blocks' => Array( 'name' => __( 'Use Custom Blocklists', 'all-in-one-seo-pack' ) ),
33
  'blocklist' => Array( 'name' => __( 'User Agent Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on' ), 'default' => join( "\n", $this->default_bad_bots() ) ),
34
  'referlist' => Array( 'name' => __( 'Referer Blocklist', 'all-in-one-seo-pack' ), 'type' => 'textarea', 'rows' => 5, 'cols' => 120, 'condshow' => Array( "{$this->prefix}edit_blocks" => 'on', "{$this->prefix}block_refer" => 'on', ), 'default' => join( "\n", $this->default_bad_referers() ) ),
35
  'blocked_log' => Array( 'name' => __( 'Log Of Blocked Bots', 'all-in-one-seo-pack' ), 'default' => __( 'No requests yet.', 'all-in-one-seo-pack' ), 'type' => 'html', 'disabled' => 'disabled', 'save' => false, 'label' => 'top', 'rows' => 5, 'cols' => 120, 'style' => 'min-width:950px', 'condshow' => Array( "{$this->prefix}track_blocks" => 'on' ) )
76
  }
77
 
78
  function generate_htaccess_blocklist() {
79
+ if ( !$this->option_isset( 'htaccess_rules' ) ) {
80
+
81
+ if ( insert_with_markers( get_home_path() . '.htaccess', $this->name, '' ) ) {
82
+ aioseop_output_notice( __( "Updated .htaccess rules.", 'all-in-one-seo-pack' ) );
83
+ } else {
84
+ aioseop_output_notice( __( "Failed to update .htaccess rules!", 'all-in-one-seo-pack' ), "", "error" );
85
+ }
86
+
87
+ return;
88
+
89
+ }
90
+
91
  if ( function_exists( 'apache_get_modules' ) ) {
92
  $modules = apache_get_modules();
93
  foreach( Array( 'mod_authz_host', 'mod_setenvif' ) as $m ) {
aioseop_feature_manager.php → modules/aioseop_feature_manager.php RENAMED
@@ -15,25 +15,41 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
15
  $this->prefix = 'aiosp_feature_manager_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  parent::__construct();
18
- $this->module_info = Array(
19
  'sitemap' => Array( 'name' => __( 'XML Sitemaps', 'all-in-one-seo-pack' ),
20
  'description' => __( 'Create and manage your XML Sitemaps using this feature and submit your XML Sitemap to Google, Bing/Yahoo and Ask.com.', 'all-in-one-seo-pack' ) ),
21
  'opengraph' => Array( 'name' => __( 'Social Meta', 'all-in-one-seo-pack' ),
22
- 'description' => __( 'Activate this feature to add Social Meta data to your site to deliver closer integration between your website/blog and Facebook, Twitter, and Google+.', 'all-in-one-seo-pack' ) ),
23
- 'robots' => Array( 'name' => __( 'Robots.txt', 'all-in-one-seo-pack' ),
24
- 'description' => __( 'Generate and validate your robots.txt file to guide search engines through your site.', 'all-in-one-seo-pack' ) ),
25
- 'file_editor' => Array( 'name' => __( 'File Editor', 'all-in-one-seo-pack' ),
26
- 'description' => __( 'Edit your robots.txt file and your .htaccess file to fine-tune your site.', 'all-in-one-seo-pack' ) ),
27
- 'bad_robots'=> Array( 'name' => __( 'Bad Bot Blocker', 'all-in-one-seo-pack' ),
28
- 'description' => __( 'Stop badly behaving bots from slowing down your website.', 'all-in-one-seo-pack' ) ),
29
- 'performance' => Array( 'name' => __( 'Performance', 'all-in-one-seo-pack' ),
30
- 'description' => __( 'Optimize performance related to SEO and check your system status.', 'all-in-one-seo-pack' ),
31
- 'default' => 'on' ),
32
  'importer_exporter' => Array( 'name' => __( 'Importer & Exporter', 'all-in-one-seo-pack' ),
33
- 'description' => __( 'Exports and imports your All in One SEO Pack plugin settings.', 'all-in-one-seo-pack' ) ),
34
- 'coming_soon' => Array( 'name' => __( 'Coming Soon...', 'all-in-one-seo-pack' ),
35
- 'description' => __( 'Video Sitemap', 'all-in-one-seo-pack' ),
36
- 'save' => false ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37
 
38
  // Set up default settings fields
39
  // name - Human-readable name of the setting
@@ -46,17 +62,16 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
46
  $this->default_options = array();
47
  $this->module_info = apply_filters( 'aioseop_module_info', $this->module_info );
48
  $mod[] = 'coming_soon';
49
-
50
  foreach ( $mod as $m ) {
51
  if ( $m == 'performance' && !is_super_admin() ) continue;
52
- $module_name = ucwords( strtr( $m, '_', ' ' ) );
53
  $this->default_options["enable_$m"] = Array( 'name' => $this->module_info[$m]['name'],
54
  'help_text' => $this->module_info[$m]['description'],
55
  'type' => 'custom',
56
  'class' => 'aioseop_feature',
57
  'id' => "aioseop_$m",
58
  'save' => true );
59
-
60
  if ( !empty( $this->module_info[$m]['image'] ) )
61
  $this->default_options["enable_$m"]['image'] = $this->module_info[$m]['image'];
62
  if ( !empty( $this->module_info[$m] ) )
@@ -75,21 +90,21 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
75
  $this->update_options( );
76
  if ( is_admin() ) {
77
  add_filter( $this->prefix . 'output_option', Array( $this, 'display_option_div' ), 10, 2 );
78
- add_filter( $this->prefix . 'submit_options', Array( $this, 'filter_submit' ) );
79
  }
80
  }
81
-
82
  function menu_order() {
83
  return 20;
84
  }
85
-
86
- function filter_submit( $submit, $location = null ) {
87
  $submit['Submit']['value'] = __( 'Update Features', 'all-in-one-seo-pack' ) . ' &raquo;';
88
  $submit['Submit']['class'] .= " hidden";
89
  $submit['Submit_Default']['value'] = __( 'Reset Features', 'all-in-one-seo-pack' ) . ' &raquo;';
90
  return $submit;
91
  }
92
-
93
  function display_option_div( $buf, $args ) {
94
  $name = $img = $desc = $checkbox = $class = '';
95
  if ( isset( $args['options']['help_text'] ) && !empty( $args['options']['help_text'] ) )
@@ -99,7 +114,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Feature_Manager' ) ) {
99
  $img .= '<p><img src="' . AIOSEOP_PLUGIN_IMAGES_URL . $args['options']['image'] . '"></p>';
100
  else
101
  $img .= '<p><span class="aioseop_featured_image' . $class . '"></span></p>';
102
-
103
  if ( $args['options']['save'] ) {
104
  $name = "<h3>{$args['options']['name']}</h3>";
105
  $checkbox .= '<input type="checkbox" onchange="jQuery(\'#' . $args["options"]["id"] . ' .aioseop_featured_image, #' . $args["options"]["id"] . ' .feature_button\').toggleClass(\'active\', this.checked);jQuery(\'input[name=Submit]\').trigger(\'click\');" style="display:none;" id="' . $args['name'] . '" name="' . $args['name'] . '"';
15
  $this->prefix = 'aiosp_feature_manager_'; // option prefix
16
  $this->file = __FILE__; // the current file
17
  parent::__construct();
18
+ $this->module_info = Array(
19
  'sitemap' => Array( 'name' => __( 'XML Sitemaps', 'all-in-one-seo-pack' ),
20
  'description' => __( 'Create and manage your XML Sitemaps using this feature and submit your XML Sitemap to Google, Bing/Yahoo and Ask.com.', 'all-in-one-seo-pack' ) ),
21
  'opengraph' => Array( 'name' => __( 'Social Meta', 'all-in-one-seo-pack' ),
22
+ 'description' => __( 'Activate this feature to add Social Meta data to your site to deliver closer integration between your website/blog and Facebook, Twitter, and Google+.', 'all-in-one-seo-pack' ) ),
23
+ 'robots' => Array( 'name' => __( 'Robots.txt', 'all-in-one-seo-pack' ),
24
+ 'description' => __( 'Generate and validate your robots.txt file to guide search engines through your site.', 'all-in-one-seo-pack' ) ),
25
+ 'file_editor' => Array( 'name' => __( 'File Editor', 'all-in-one-seo-pack' ),
26
+ 'description' => __( 'Edit your robots.txt file and your .htaccess file to fine-tune your site.', 'all-in-one-seo-pack' ) ),
 
 
 
 
 
27
  'importer_exporter' => Array( 'name' => __( 'Importer & Exporter', 'all-in-one-seo-pack' ),
28
+ 'description' => __( 'Exports and imports your All in One SEO Pack plugin settings.', 'all-in-one-seo-pack' ) ),
29
+ 'bad_robots' => Array( 'name' => __( 'Bad Bot Blocker', 'all-in-one-seo-pack' ),
30
+ 'description' => __( 'Stop badly behaving bots from slowing down your website.', 'all-in-one-seo-pack' ) ),
31
+ 'performance' => Array( 'name' => __( 'Performance', 'all-in-one-seo-pack' ),
32
+ 'description' => __( 'Optimize performance related to SEO and check your system status.', 'all-in-one-seo-pack' ),
33
+ 'default' => 'on' )
34
+ );
35
+
36
+
37
+ if( AIOSEOPPRO ){
38
+
39
+ $this->module_info['coming_soon'] = Array( 'name' => __( 'Coming Soon...', 'all-in-one-seo-pack' ),
40
+ 'description' => __( 'Image SEO', 'all-in-one-seo-pack' ),
41
+ 'save' => false );
42
+ $this->module_info['video_sitemap'] = Array( 'name' => __( 'Video Sitemap', 'all-in-one-seo-pack' ),
43
+ 'description' => __( 'Create and manage your Video Sitemap using this feature and submit your Video Sitemap to Google, Bing/Yahoo and Ask.com.', 'all-in-one-seo-pack' ) );
44
+
45
+
46
+ }else{
47
+
48
+ $this->module_info['coming_soon'] = Array( 'name' => __( 'Coming Soon...', 'all-in-one-seo-pack' ),
49
+ 'description' => __( 'Video Sitemap', 'all-in-one-seo-pack' ),
50
+ 'save' => false ) ;
51
+
52
+ }
53
 
54
  // Set up default settings fields
55
  // name - Human-readable name of the setting
62
  $this->default_options = array();
63
  $this->module_info = apply_filters( 'aioseop_module_info', $this->module_info );
64
  $mod[] = 'coming_soon';
65
+
66
  foreach ( $mod as $m ) {
67
  if ( $m == 'performance' && !is_super_admin() ) continue;
 
68
  $this->default_options["enable_$m"] = Array( 'name' => $this->module_info[$m]['name'],
69
  'help_text' => $this->module_info[$m]['description'],
70
  'type' => 'custom',
71
  'class' => 'aioseop_feature',
72
  'id' => "aioseop_$m",
73
  'save' => true );
74
+
75
  if ( !empty( $this->module_info[$m]['image'] ) )
76
  $this->default_options["enable_$m"]['image'] = $this->module_info[$m]['image'];
77
  if ( !empty( $this->module_info[$m] ) )
90
  $this->update_options( );
91
  if ( is_admin() ) {
92
  add_filter( $this->prefix . 'output_option', Array( $this, 'display_option_div' ), 10, 2 );
93
+ add_filter( $this->prefix . 'submit_options', Array( $this, 'filter_submit' ) );
94
  }
95
  }
96
+
97
  function menu_order() {
98
  return 20;
99
  }
100
+
101
+ function filter_submit( $submit ) {
102
  $submit['Submit']['value'] = __( 'Update Features', 'all-in-one-seo-pack' ) . ' &raquo;';
103
  $submit['Submit']['class'] .= " hidden";
104
  $submit['Submit_Default']['value'] = __( 'Reset Features', 'all-in-one-seo-pack' ) . ' &raquo;';
105
  return $submit;
106
  }
107
+
108
  function display_option_div( $buf, $args ) {
109
  $name = $img = $desc = $checkbox = $class = '';
110
  if ( isset( $args['options']['help_text'] ) && !empty( $args['options']['help_text'] ) )
114
  $img .= '<p><img src="' . AIOSEOP_PLUGIN_IMAGES_URL . $args['options']['image'] . '"></p>';
115
  else
116
  $img .= '<p><span class="aioseop_featured_image' . $class . '"></span></p>';
117
+
118
  if ( $args['options']['save'] ) {
119
  $name = "<h3>{$args['options']['name']}</h3>";
120
  $checkbox .= '<input type="checkbox" onchange="jQuery(\'#' . $args["options"]["id"] . ' .aioseop_featured_image, #' . $args["options"]["id"] . ' .feature_button\').toggleClass(\'active\', this.checked);jQuery(\'input[name=Submit]\').trigger(\'click\');" style="display:none;" id="' . $args['name'] . '" name="' . $args['name'] . '"';
aioseop_file_editor.php → modules/aioseop_file_editor.php RENAMED
File without changes
aioseop_importer_exporter.php → modules/aioseop_importer_exporter.php RENAMED
File without changes
aioseop_opengraph.php → modules/aioseop_opengraph.php RENAMED
@@ -9,7 +9,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
9
  class All_in_One_SEO_Pack_Opengraph extends All_in_One_SEO_Pack_Module {
10
  var $fb_object_types;
11
  var $type;
12
-
13
  function __construct( ) {
14
  $this->name = __('Social Meta', 'all-in-one-seo-pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_opengraph_'; // option prefix
@@ -72,9 +72,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
72
  )
73
  );
74
  parent::__construct();
75
-
76
  $categories = Array( 'blog' => __( 'Blog', 'all-in-one-seo-pack' ), 'website' => __( 'Website', 'all-in-one-seo-pack' ), 'article' => __( 'Article', 'all-in-one-seo-pack' ) );
77
-
78
  $this->help_text = Array(
79
  "setmeta" => __( "Checking this box will use the Home Title and Home Description set in All in One SEO Pack, General Settings as the Open Graph title and description for your home page.", 'all-in-one-seo-pack' ),
80
  "key" => __( "Enter your Facebook Admin ID here. Information about how to get your Facebook Admin ID can be found at https://developers.facebook.com/docs/platforminsights/domains", 'all-in-one-seo-pack' ),
@@ -123,7 +123,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
123
  "profile_links" => __( "Add URLs for your website's social profiles here (Facebook, Twitter, Google+, Instagram, LinkedIn), one per line.", 'all-in-one-seo-pack' ),
124
  "social_name" => __( "Add the name of the person or organization who owns these profiles.", 'all-in-one-seo-pack' )
125
  );
126
-
127
  $this->help_anchors = Array(
128
  'generate_descriptions' => '#auto-generate-og-descriptions',
129
  'setmeta' => '#use-aioseo-title-and-description',
@@ -148,7 +148,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
148
  'twitter_domain' => '#twitter-domain',
149
  'scan_header' => '#scan-social-meta'
150
  );
151
-
152
  $count_desc = __( " characters. Open Graph allows up to a maximum of %s chars for the %s.", 'all-in-one-seo-pack' );
153
  $this->default_options = array(
154
  'scan_header' => Array( 'name' => __( 'Scan Header', 'all-in-one-seo-pack' ), 'type' => 'custom', 'save' => true ),
@@ -231,7 +231,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
231
  </script>
232
  <a name="aioseop_opengraph_settings_facebook_debug" id="aioseop_opengraph_settings_facebook_debug" class="button-primary" href="" target=_blank>' . __( 'Debug This Post', 'all-in-one-seo-pack' )
233
  . '</a>' ),
234
-
235
  'section' => Array( 'name' => __( 'Article Section', 'all-in-one-seo-pack' ),
236
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
237
  'tag' => Array( 'name' => __( 'Article Tags', 'all-in-one-seo-pack' ),
@@ -243,7 +243,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
243
  'type' => 'radio', 'initial_options' => Array( 'person' => __( 'Person', 'all-in-one-seo-pack' ), 'org' => __( 'Organization', 'all-in-one-seo-pack' ) ) ),
244
  'social_name' =>Array('name' => __( "Associated Name", 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => "" ),
245
  );
246
-
247
  // load initial options / set defaults
248
  $this->update_options( );
249
 
@@ -261,7 +261,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
261
  'display' => $display, 'prefix' => 'aioseop_opengraph_'
262
  )
263
  );
264
-
265
  $this->layout = Array(
266
  'default' => Array(
267
  'name' => __( 'General Settings', 'all-in-one-seo-pack' ),
@@ -299,25 +299,25 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
299
  'options' => Array( 'scan_header' )
300
  )
301
  );
302
-
303
  $other_options = Array();
304
  foreach( $this->layout as $k => $v )
305
  $other_options = array_merge( $other_options, $v['options'] );
306
-
307
  $this->layout['default']['options'] = array_diff( array_keys( $this->default_options ), $other_options );
308
-
309
  if ( is_admin() ) {
310
  add_action( 'admin_init', Array( $this, 'debug_post_types' ), 5 );
311
  } else {
312
  add_action( 'wp', Array( $this, 'type_setup' ) );
313
  }
314
-
315
  if( !is_admin() || defined( 'DOING_AJAX' ) ){ $this->do_opengraph(); }
316
-
317
  // Avoid having duplicate meta tags
318
  add_filter( 'jetpack_enable_open_graph', '__return_false' );
319
  }
320
-
321
  function settings_page_init() {
322
  add_filter( 'aiosp_output_option', Array( $this, 'display_custom_options' ), 10, 2 );
323
  $cat = $this->options["{$this->prefix}categories"];
@@ -483,7 +483,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
483
  $type = $this->type;
484
  $sitename = $this->options['aiosp_opengraph_sitename'];
485
 
486
- $appid = $this->options['aiosp_opengraph_appid'];
487
 
488
  if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
489
  $first_page = false;
@@ -661,9 +661,9 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
661
 
662
  if ( ( empty( $thumbnail ) && !empty( $this->options['aiosp_opengraph_fallback'] ) ) )
663
  $thumbnail = $this->options['aiosp_opengraph_dimg'];
664
-
665
  if ( !empty( $thumbnail ) ) $thumbnail = esc_url( $thumbnail );
666
-
667
  $width = $height = '';
668
  if ( !empty( $thumbnail ) ) {
669
  if ( !empty( $metabox['aioseop_opengraph_settings_imagewidth'] ) )
@@ -675,14 +675,14 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
675
  if ( empty( $height ) && !empty( $this->options['aiosp_opengraph_dimgheight'] ) )
676
  $height = $this->options['aiosp_opengraph_dimgheight'];
677
  }
678
-
679
  if ( !empty( $video ) ) {
680
  if ( !empty( $metabox['aioseop_opengraph_settings_videowidth'] ) )
681
  $videowidth = $metabox['aioseop_opengraph_settings_videowidth'];
682
  if ( !empty( $metabox['aioseop_opengraph_settings_videoheight'] ) )
683
  $videoheight = $metabox['aioseop_opengraph_settings_videoheight'];
684
  }
685
-
686
  $card = 'summary';
687
  if ( !empty( $this->options['aiosp_opengraph_defcard'] ) )
688
  $card = $this->options['aiosp_opengraph_defcard'];
@@ -695,10 +695,10 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
695
  if($card == 'photo'){
696
  $card = 'summary_large_image';
697
  }
698
-
699
-
700
  $site = $domain = $creator = '';
701
-
702
  if ( !empty( $this->options['aiosp_opengraph_twitter_site'] ) )
703
  $site = $this->options['aiosp_opengraph_twitter_site'];
704
 
@@ -707,11 +707,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
707
 
708
  if ( !empty( $post ) && isset( $post->post_author ) && !empty( $this->options['aiosp_opengraph_twitter_creator'] ) )
709
  $creator = get_the_author_meta( 'twitter', $post->post_author );
710
-
711
  if ( !empty( $site ) && $site[0] != '@' ) $site = '@' . $site;
712
 
713
  if ( !empty( $creator ) && $creator[0] != '@' ) $creator = '@' . $creator;
714
-
715
  $meta = Array(
716
  'facebook' => Array(
717
  'title' => 'og:title',
@@ -743,10 +743,6 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Opengraph' ) ) {
743
  'description' => 'twitter:description',
744
  'thumbnail' => 'twitter:image',
745
  ),
746
- //this has been moved below to check for schema.org checkbox
747
- /*'google+' => Array(
748
- 'thumbnail' => 'image',
749
- ),*/
750
  );
751
 
752
  //Only show if "use schema.org markup is checked"
9
  class All_in_One_SEO_Pack_Opengraph extends All_in_One_SEO_Pack_Module {
10
  var $fb_object_types;
11
  var $type;
12
+
13
  function __construct( ) {
14
  $this->name = __('Social Meta', 'all-in-one-seo-pack'); // Human-readable name of the plugin
15
  $this->prefix = 'aiosp_opengraph_'; // option prefix
72
  )
73
  );
74
  parent::__construct();
75
+
76
  $categories = Array( 'blog' => __( 'Blog', 'all-in-one-seo-pack' ), 'website' => __( 'Website', 'all-in-one-seo-pack' ), 'article' => __( 'Article', 'all-in-one-seo-pack' ) );
77
+
78
  $this->help_text = Array(
79
  "setmeta" => __( "Checking this box will use the Home Title and Home Description set in All in One SEO Pack, General Settings as the Open Graph title and description for your home page.", 'all-in-one-seo-pack' ),
80
  "key" => __( "Enter your Facebook Admin ID here. Information about how to get your Facebook Admin ID can be found at https://developers.facebook.com/docs/platforminsights/domains", 'all-in-one-seo-pack' ),
123
  "profile_links" => __( "Add URLs for your website's social profiles here (Facebook, Twitter, Google+, Instagram, LinkedIn), one per line.", 'all-in-one-seo-pack' ),
124
  "social_name" => __( "Add the name of the person or organization who owns these profiles.", 'all-in-one-seo-pack' )
125
  );
126
+
127
  $this->help_anchors = Array(
128
  'generate_descriptions' => '#auto-generate-og-descriptions',
129
  'setmeta' => '#use-aioseo-title-and-description',
148
  'twitter_domain' => '#twitter-domain',
149
  'scan_header' => '#scan-social-meta'
150
  );
151
+
152
  $count_desc = __( " characters. Open Graph allows up to a maximum of %s chars for the %s.", 'all-in-one-seo-pack' );
153
  $this->default_options = array(
154
  'scan_header' => Array( 'name' => __( 'Scan Header', 'all-in-one-seo-pack' ), 'type' => 'custom', 'save' => true ),
231
  </script>
232
  <a name="aioseop_opengraph_settings_facebook_debug" id="aioseop_opengraph_settings_facebook_debug" class="button-primary" href="" target=_blank>' . __( 'Debug This Post', 'all-in-one-seo-pack' )
233
  . '</a>' ),
234
+
235
  'section' => Array( 'name' => __( 'Article Section', 'all-in-one-seo-pack' ),
236
  'type' => 'text', 'default' => '', 'condshow' => Array( 'aioseop_opengraph_settings_category' => 'article' ) ),
237
  'tag' => Array( 'name' => __( 'Article Tags', 'all-in-one-seo-pack' ),
243
  'type' => 'radio', 'initial_options' => Array( 'person' => __( 'Person', 'all-in-one-seo-pack' ), 'org' => __( 'Organization', 'all-in-one-seo-pack' ) ) ),
244
  'social_name' =>Array('name' => __( "Associated Name", 'all-in-one-seo-pack' ), 'type' => 'text', 'default' => "" ),
245
  );
246
+
247
  // load initial options / set defaults
248
  $this->update_options( );
249
 
261
  'display' => $display, 'prefix' => 'aioseop_opengraph_'
262
  )
263
  );
264
+
265
  $this->layout = Array(
266
  'default' => Array(
267
  'name' => __( 'General Settings', 'all-in-one-seo-pack' ),
299
  'options' => Array( 'scan_header' )
300
  )
301
  );
302
+
303
  $other_options = Array();
304
  foreach( $this->layout as $k => $v )
305
  $other_options = array_merge( $other_options, $v['options'] );
306
+
307
  $this->layout['default']['options'] = array_diff( array_keys( $this->default_options ), $other_options );
308
+
309
  if ( is_admin() ) {
310
  add_action( 'admin_init', Array( $this, 'debug_post_types' ), 5 );
311
  } else {
312
  add_action( 'wp', Array( $this, 'type_setup' ) );
313
  }
314
+
315
  if( !is_admin() || defined( 'DOING_AJAX' ) ){ $this->do_opengraph(); }
316
+
317
  // Avoid having duplicate meta tags
318
  add_filter( 'jetpack_enable_open_graph', '__return_false' );
319
  }
320
+
321
  function settings_page_init() {
322
  add_filter( 'aiosp_output_option', Array( $this, 'display_custom_options' ), 10, 2 );
323
  $cat = $this->options["{$this->prefix}categories"];
483
  $type = $this->type;
484
  $sitename = $this->options['aiosp_opengraph_sitename'];
485
 
486
+ $appid = isset($this->options['aiosp_opengraph_appid']) ? $this->options['aiosp_opengraph_appid'] : '';
487
 
488
  if ( !empty( $aioseop_options['aiosp_hide_paginated_descriptions'] ) ) {
489
  $first_page = false;
661
 
662
  if ( ( empty( $thumbnail ) && !empty( $this->options['aiosp_opengraph_fallback'] ) ) )
663
  $thumbnail = $this->options['aiosp_opengraph_dimg'];
664
+
665
  if ( !empty( $thumbnail ) ) $thumbnail = esc_url( $thumbnail );
666
+
667
  $width = $height = '';
668
  if ( !empty( $thumbnail ) ) {
669
  if ( !empty( $metabox['aioseop_opengraph_settings_imagewidth'] ) )
675
  if ( empty( $height ) && !empty( $this->options['aiosp_opengraph_dimgheight'] ) )
676
  $height = $this->options['aiosp_opengraph_dimgheight'];
677
  }
678
+
679
  if ( !empty( $video ) ) {
680
  if ( !empty( $metabox['aioseop_opengraph_settings_videowidth'] ) )
681
  $videowidth = $metabox['aioseop_opengraph_settings_videowidth'];
682
  if ( !empty( $metabox['aioseop_opengraph_settings_videoheight'] ) )
683
  $videoheight = $metabox['aioseop_opengraph_settings_videoheight'];
684
  }
685
+
686
  $card = 'summary';
687
  if ( !empty( $this->options['aiosp_opengraph_defcard'] ) )
688
  $card = $this->options['aiosp_opengraph_defcard'];
695
  if($card == 'photo'){
696
  $card = 'summary_large_image';
697
  }
698
+
699
+
700
  $site = $domain = $creator = '';
701
+
702
  if ( !empty( $this->options['aiosp_opengraph_twitter_site'] ) )
703
  $site = $this->options['aiosp_opengraph_twitter_site'];
704
 
707
 
708
  if ( !empty( $post ) && isset( $post->post_author ) && !empty( $this->options['aiosp_opengraph_twitter_creator'] ) )
709
  $creator = get_the_author_meta( 'twitter', $post->post_author );
710
+
711
  if ( !empty( $site ) && $site[0] != '@' ) $site = '@' . $site;
712
 
713
  if ( !empty( $creator ) && $creator[0] != '@' ) $creator = '@' . $creator;
714
+
715
  $meta = Array(
716
  'facebook' => Array(
717
  'title' => 'og:title',
743
  'description' => 'twitter:description',
744
  'thumbnail' => 'twitter:image',
745
  ),
 
 
 
 
746
  );
747
 
748
  //Only show if "use schema.org markup is checked"
aioseop_performance.php → modules/aioseop_performance.php RENAMED
@@ -227,12 +227,18 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
227
  }
228
  }
229
 
230
- do if ( !empty( $_REQUEST['sfwd_debug_submit'] ) ) {
231
  $nonce=$_REQUEST['sfwd_debug_nonce'];
232
  if (! wp_verify_nonce($nonce, 'sfwd-debug-nonce') ) {
233
  echo "<div class='sfwd_debug_error'>" . __( "Form submission error: verification check failed.", 'all-in-one-seo-pack' ) . "</div>";
234
  break;
235
  }
 
 
 
 
 
 
236
  $email = '';
237
  if ( !empty( $_REQUEST['sfwd_debug_send_email'] ) ) $email = sanitize_email( $_REQUEST['sfwd_debug_send_email'] );
238
  if ( $email ) {
@@ -248,7 +254,11 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Performance' ) ) {
248
  $nonce = wp_create_nonce('sfwd-debug-nonce');
249
  $buf = "<ul class='sfwd_debug_settings'>\n{$page_text}\n</ul>\n<p>\n" .
250
  '<input name="sfwd_debug_send_email" type="text" value="" placeholder="' . __( "E-mail debug information", 'all-in-one-seo-pack' ) . '"><input name="sfwd_debug_nonce" type="hidden" value="' .
251
- $nonce . '"><input name="sfwd_debug_submit" type="submit" value="' . __( 'Submit', 'all-in-one-seo-pack' ) . '" class="button-primary"><p>';
 
 
 
 
252
  return $buf;
253
  }
254
  }
227
  }
228
  }
229
 
230
+ do if ( !empty( $_REQUEST['sfwd_debug_submit'] ) || !empty( $_REQUEST['sfwd_update_check'] ) ) {
231
  $nonce=$_REQUEST['sfwd_debug_nonce'];
232
  if (! wp_verify_nonce($nonce, 'sfwd-debug-nonce') ) {
233
  echo "<div class='sfwd_debug_error'>" . __( "Form submission error: verification check failed.", 'all-in-one-seo-pack' ) . "</div>";
234
  break;
235
  }
236
+ if ( !empty( $_REQUEST['sfwd_update_check'] ) && $_REQUEST['sfwd_update_check'] ) {
237
+ global $aioseop_update_checker;
238
+ $aioseop_update_checker->checkForUpdates();
239
+ echo "<div class='sfwd_debug_mail_sent'>" . sprintf( __( "%s has checked for updates.", 'all-in-one-seo-pack' ), AIOSEOP_PLUGIN_NAME ) . "</div>";
240
+ break;
241
+ }
242
  $email = '';
243
  if ( !empty( $_REQUEST['sfwd_debug_send_email'] ) ) $email = sanitize_email( $_REQUEST['sfwd_debug_send_email'] );
244
  if ( $email ) {
254
  $nonce = wp_create_nonce('sfwd-debug-nonce');
255
  $buf = "<ul class='sfwd_debug_settings'>\n{$page_text}\n</ul>\n<p>\n" .
256
  '<input name="sfwd_debug_send_email" type="text" value="" placeholder="' . __( "E-mail debug information", 'all-in-one-seo-pack' ) . '"><input name="sfwd_debug_nonce" type="hidden" value="' .
257
+ $nonce . '"><input name="sfwd_debug_submit" type="submit" value="' . __( 'Submit', 'all-in-one-seo-pack' ) . '" class="button-primary">';
258
+
259
+ if ( AIOSEOPPRO ){
260
+ $buf .= '<p><input name="sfwd_update_check" type="submit" value="' . __( 'Check For Updates', 'all-in-one-seo-pack' ) . '" class="button-primary">';
261
+ }
262
  return $buf;
263
  }
264
  }
aioseop_robots.php → modules/aioseop_robots.php RENAMED
@@ -37,7 +37,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Robots' ) ) {
37
  'robotgen' => Array( 'name' => __( 'Generate Robots.txt', 'all-in-one-seo-pack'),
38
  'save' => false,
39
  'default' => '', 'type' => 'textarea', 'cols' => 57, 'rows' => 20, 'label' => 'none', 'readonly' => 'readonly' ),
40
- 'Submit_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Add Rule', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1, 'style' => 'margin-left: 20px;' ),
41
  'Submit_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Save Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
42
  'Submit_Delete' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Delete Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
43
  'optusage' => Array( 'type' => 'html', 'label' => 'none',
37
  'robotgen' => Array( 'name' => __( 'Generate Robots.txt', 'all-in-one-seo-pack'),
38
  'save' => false,
39
  'default' => '', 'type' => 'textarea', 'cols' => 57, 'rows' => 20, 'label' => 'none', 'readonly' => 'readonly' ),
40
+ 'Submit_Preview' => Array( 'type' => 'submit', 'class' => 'button-primary MRL', 'name' => __( 'Add Rule', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
41
  'Submit_Update' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Save Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
42
  'Submit_Delete' => Array( 'type' => 'submit', 'class' => 'button-primary', 'name' => __( 'Delete Robots.txt File', 'all-in-one-seo-pack' ) . ' &raquo;', 'nowrap' => 1 ),
43
  'optusage' => Array( 'type' => 'html', 'label' => 'none',
aioseop_sitemap.php → modules/aioseop_sitemap.php RENAMED
@@ -1125,7 +1125,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
1125
  //unset( $plugin_url['scheme'] );
1126
  $plugin_path = $this->unparse_url( $plugin_url );
1127
 
1128
- $xml_header = '<?xml-stylesheet type="text/xsl" href="' . $plugin_path . 'sitemap.xsl"?>' . "\r\n"
1129
  . '<urlset ';
1130
  $namespaces = apply_filters( $this->prefix . 'xml_namespace', Array( 'xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9' ) );
1131
  if ( !empty( $namespaces ) ) {
@@ -1181,7 +1181,7 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
1181
  if ( !is_array( $urls ) ) return null;
1182
  echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n\r\n";
1183
  echo "<!-- " . sprintf( $this->comment_string, $comment, AIOSEOP_VERSION, date('D, d M Y H:i:s e') ) . " -->\r\n";
1184
- echo '<?xml-stylesheet type="text/xsl" href="' . $this->plugin_path['url'] . 'sitemap.xsl"?>' . "\r\n";
1185
  echo '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\r\n";
1186
  $count = 0;
1187
  foreach ( $urls as $url ) {
@@ -1739,15 +1739,6 @@ if ( !class_exists( 'All_in_One_SEO_Pack_Sitemap' ) ) {
1739
  }
1740
  }
1741
 
1742
- global $wp_version;
1743
- /*** Disable for now - this appears to be slower. -- pdb ***/
1744
- /*
1745
- if ( version_compare( $wp_version, '3.5', '>=' ) ) {
1746
- $args['meta_query'] = Array(
1747
- Array( 'key' => '_aioseop_sitemap_exclude', 'value' => '', 'compare' => 'NOT EXISTS' )
1748
- );
1749
- } else {
1750
- */
1751
  $ex_args = $args;
1752
  $ex_args['meta_key'] = '_aioseop_sitemap_exclude';
1753
  $ex_args['meta_value'] = 'on';
1125
  //unset( $plugin_url['scheme'] );
1126
  $plugin_path = $this->unparse_url( $plugin_url );
1127
 
1128
+ $xml_header = '<?xml-stylesheet type="text/xsl" href="' . AIOSEOP_PLUGIN_URL . 'sitemap.xsl"?>' . "\r\n"
1129
  . '<urlset ';
1130
  $namespaces = apply_filters( $this->prefix . 'xml_namespace', Array( 'xmlns' => 'http://www.sitemaps.org/schemas/sitemap/0.9' ) );
1131
  if ( !empty( $namespaces ) ) {
1181
  if ( !is_array( $urls ) ) return null;
1182
  echo '<?xml version="1.0" encoding="UTF-8"?>' . "\r\n\r\n";
1183
  echo "<!-- " . sprintf( $this->comment_string, $comment, AIOSEOP_VERSION, date('D, d M Y H:i:s e') ) . " -->\r\n";
1184
+ echo '<?xml-stylesheet type="text/xsl" href="' . AIOSEOP_PLUGIN_URL . 'sitemap.xsl"?>' . "\r\n";
1185
  echo '<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\r\n";
1186
  $count = 0;
1187
  foreach ( $urls as $url ) {
1739
  }
1740
  }
1741
 
 
 
 
 
 
 
 
 
 
1742
  $ex_args = $args;
1743
  $ex_args['meta_key'] = '_aioseop_sitemap_exclude';
1744
  $ex_args['meta_value'] = 'on';
modules/aioseop_video_sitemap.php ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ <?php
2
+
3
+ if( AIOSEOPPRO ){
4
+ require_once( AIOSEOP_PLUGIN_DIR . 'pro/video_sitemap.php' );
5
+ }
{images → modules/images}/Default-BW-Retina.png RENAMED
File without changes
{images → modules/images}/Default-BW-Standard.png RENAMED
File without changes
{images → modules/images}/Default-Color-Retina.png RENAMED
File without changes
{images → modules/images}/Default-Color-Standard.png RENAMED
File without changes
{images → modules/images}/FileEditor-BW-Retina.png RENAMED
File without changes
{images → modules/images}/FileEditor-BW-Standard.png RENAMED
File without changes
{images → modules/images}/FileEditor-Color-Retina.png RENAMED
File without changes
{images → modules/images}/FileEditor-Color-Standard.png RENAMED
File without changes
{images → modules/images}/ImporterExporter-BW-Retina.png RENAMED
File without changes
{images → modules/images}/ImporterExporter-BW-Standard.png RENAMED
File without changes
{images → modules/images}/ImporterExporter-Color-Retina.png RENAMED
File without changes
{images → modules/images}/ImporterExporter-Color-Standard.png RENAMED
File without changes
{images → modules/images}/Performance-BW-Retina.png RENAMED
File without changes
{images → modules/images}/Performance-BW-Standard.png RENAMED
File without changes
{images → modules/images}/Performance-Color-Retina.png RENAMED
File without changes
{images → modules/images}/Performance-Color-Standard.png RENAMED
File without changes
{images → modules/images}/Robots-BW-Retina.png RENAMED
File without changes
{images → modules/images}/Robots-BW-Standard.png RENAMED
File without changes
{images → modules/images}/Robots-Color-Retina.png RENAMED
File without changes
{images → modules/images}/Robots-Color-Standard.png RENAMED
File without changes
{images → modules/images}/SocialMeta-BW-Retina.png RENAMED
File without changes
{images → modules/images}/SocialMeta-BW-Standard.png RENAMED
File without changes
{images → modules/images}/SocialMeta-Color-Retina.png RENAMED
File without changes
{images → modules/images}/SocialMeta-Color-Standard.png RENAMED
File without changes
{images → modules/images}/XMLSitemaps-BW-Retina.png RENAMED
File without changes
{images → modules/images}/XMLSitemaps-BW-Standard.png RENAMED
File without changes
{images → modules/images}/XMLSitemaps-Color-Retina.png RENAMED
File without changes
{images → modules/images}/XMLSitemaps-Color-Standard.png RENAMED
File without changes
{images → modules/images}/banner11.png RENAMED
File without changes
{images → modules/images}/banner12.png RENAMED
File without changes
{images → modules/images}/banner13.png RENAMED
File without changes
{images → modules/images}/banner14.png RENAMED
File without changes
{images → modules/images}/banner15.png RENAMED
File without changes
{images → modules/images}/banner21.jpg RENAMED
File without changes
{images → modules/images}/banner22.jpg RENAMED
File without changes
modules/images/delete.png ADDED
Binary file
{images → modules/images}/facebook-follow-retina.png RENAMED
File without changes
{images → modules/images}/facebook-follow-standard.png RENAMED
File without changes
{images → modules/images}/twitter-follow-retina.png RENAMED
File without changes
{images → modules/images}/twitter-follow-standard.png RENAMED
File without changes
modules/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
public/index.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php // Silence is golden
readme.txt CHANGED
@@ -1,14 +1,14 @@
1
  === All in One SEO Pack ===
2
- Contributors: hallsofmontezuma, wpsmort
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8
4
- Tags: seo, SEO, all in one seo, social, search engine optimization, google, sitemap, WordPress SEO, meta, meta description, xml sitemap, xml sitemaps, google sitemap, sitemaps, robots meta, rss, rss footer, yahoo, bing, news sitemaps, XML News Sitemaps, multisite, canonical, nofollow, noindex, keywords, meta keywords, description, webmaster tools, google webmaster tools, google analytics, seo pack
5
  Requires at least: 3.3
6
  Tested up to: 4.4
7
- Stable tag: 2.2.7.6.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
- All in One SEO Pack is a WordPress SEO plugin to automatically optimize your WordPress blog for Search Engines such as Google.
12
 
13
  == Description ==
14
 
@@ -44,7 +44,7 @@ Torbert](http://twitter.com/michaeltorbert/)
44
  https://www.youtube.com/watch?v=46MR4FboMaA
45
 
46
  = Tags =
47
- seo, SEO, All in One, google, meta, meta description, search engine optimization, xml sitemap, xml sitemaps, google sitemap, sitemap, sitemaps, robots meta, rss, rss footer, yahoo, bing, news sitemaps, XML News Sitemaps, WordPress SEO, multisite, canonical, nofollow, noindex, keywords, meta keywords, description, webmaster tools, google webmaster tools, seo pack, schema.org, search engines, custom post types, custom taxonomies, canonical
48
 
49
  == Installation ==
50
 
1
  === All in One SEO Pack ===
2
+ Contributors: hallsofmontezuma, wpsmort, dougal, pbaylies, arnaudbroes
3
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=mrtorbert%40gmail%2ecom&item_name=All%20In%20One%20SEO%20Pack&item_number=Support%20Open%20Source&no_shipping=0&no_note=1&tax=0&currency_code=USD&lc=US&bn=PP%2dDonationsBF&charset=UTF%2d8
4
+ Tags: seo, SEO, all in one seo, widget, Post, plugin, admin, posts, shortcode, sidebar, google, twitter, page, images, comments, image, social, search engine optimization, sitemap, WordPress SEO, meta, meta description, xml sitemap, xml sitemaps, google sitemap, sitemaps, robots meta, rss, rss footer, yahoo, bing, news sitemaps, XML News Sitemaps, multisite, canonical, nofollow, noindex, keywords, meta keywords, description, webmaster tools, google webmaster tools, google analytics, seo pack
5
  Requires at least: 3.3
6
  Tested up to: 4.4
7
+ Stable tag: 2.3
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
11
+ The most downloaded plugin for WordPress (almost 30 million downloads). Use All in One SEO Pack to automatically optimize your site for Search Engines.
12
 
13
  == Description ==
14
 
44
  https://www.youtube.com/watch?v=46MR4FboMaA
45
 
46
  = Tags =
47
+ seo, SEO, All in One, google, meta, meta description, search engine optimization, xml sitemap, xml sitemaps, google sitemap, sitemap, sitemaps, robots meta, rss, rss footer, yahoo, bing, widget, Post, plugin, admin, posts, shortcode, sidebar, twitter, page, images, comments, image, news sitemaps, XML News Sitemaps, WordPress SEO, multisite, canonical, nofollow, noindex, keywords, meta keywords, description, webmaster tools, google webmaster tools, seo pack, schema.org, search engines, custom post types, custom taxonomies, canonical
48
 
49
  == Installation ==
50
 
sitemap.xsl CHANGED
@@ -1,6 +1,7 @@
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <xsl:stylesheet version="2.0"
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
 
4
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
5
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
6
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
@@ -111,6 +112,15 @@ tr.stripe { background-color:#f7f7f7; }
111
  <a href="{$itemURL}">
112
  <xsl:value-of select="sitemap:loc"/>
113
  </a>
 
 
 
 
 
 
 
 
 
114
  </td>
115
  <td>
116
  <xsl:if test="string(number(sitemap:priority))!='NaN'">
@@ -122,6 +132,11 @@ tr.stripe { background-color:#f7f7f7; }
122
  </td>
123
  <td>
124
  <xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
 
 
 
 
 
125
  </td>
126
  </tr>
127
  </xsl:for-each>
1
  <?xml version="1.0" encoding="UTF-8"?>
2
  <xsl:stylesheet version="2.0"
3
  xmlns:html="http://www.w3.org/TR/REC-html40"
4
+ xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"
5
  xmlns:image="http://www.google.com/schemas/sitemap-image/1.1"
6
  xmlns:sitemap="http://www.sitemaps.org/schemas/sitemap/0.9"
7
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
112
  <a href="{$itemURL}">
113
  <xsl:value-of select="sitemap:loc"/>
114
  </a>
115
+ <xsl:variable name="thumbURL">
116
+ <xsl:value-of select="video:video/video:thumbnail_loc"/>
117
+ </xsl:variable>
118
+ <xsl:variable name="playURL">
119
+ <xsl:value-of select="video:video/video:player_loc"/>
120
+ </xsl:variable>
121
+ <xsl:if test="$thumbURL != ''">
122
+ <a href="{$playURL}"><img src="{$thumbURL}" style="max-width:60px;float:right;"/></a>
123
+ </xsl:if>
124
  </td>
125
  <td>
126
  <xsl:if test="string(number(sitemap:priority))!='NaN'">
132
  </td>
133
  <td>
134
  <xsl:value-of select="concat(substring(sitemap:lastmod,0,11),concat(' ', substring(sitemap:lastmod,12,5)))"/>
135
+ </td>
136
+ <td>
137
+
138
+
139
+
140
  </td>
141
  </tr>
142
  </xsl:for-each>