Version Description
- Change language to po/mo files
- Include .pot file and French language
- Setting for home page meta
- Bigger edit meta boxes
- Update icon of notification in meta view
Download this release
Release Info
Developer | JoomUnited |
Plugin | WP Meta SEO |
Version | 1.2.0 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.2.0
- css/style.css +4 -1
- img/loop.png +0 -0
- inc/class-metaseo-mutils.php +5 -5
- inc/class.image-helper.php +10 -10
- inc/class.metaseo-admin.php +61 -41
- inc/class.metaseo-content-list-table.php +8 -8
- inc/class.metaseo-dashboard.php +1 -1
- inc/class.metaseo-image-list-table.php +35 -35
- inc/class.metaseo-metabox.php +48 -49
- inc/pages/content-meta.php +1 -1
- inc/pages/dashboard.php +6 -6
- inc/pages/image-meta.php +3 -1
- inc/pages/settings.php +1 -1
- js/autosize.js +245 -0
- languages/wpms-en_GB.mo +0 -0
- languages/wpms-en_GB.po +386 -0
- languages/wpms-fr_FR.mo +0 -0
- languages/wpms-fr_FR.po +318 -0
- languages/wpms.pot +319 -0
- readme.txt +23 -13
- wp-meta-seo.php +40 -10
css/style.css
CHANGED
@@ -203,7 +203,7 @@ a.info .tooltip
|
|
203 |
}
|
204 |
|
205 |
.opt-info-warning{
|
206 |
-
background:url('../img/
|
207 |
min-height:30px;
|
208 |
}
|
209 |
|
@@ -272,3 +272,6 @@ span.hz-loading{
|
|
272 |
min-height:14px;
|
273 |
}
|
274 |
|
|
|
|
|
|
203 |
}
|
204 |
|
205 |
.opt-info-warning{
|
206 |
+
background:url('../img/loop.png') no-repeat scroll 1px 5px;
|
207 |
min-height:30px;
|
208 |
}
|
209 |
|
272 |
min-height:14px;
|
273 |
}
|
274 |
|
275 |
+
.metaseo-img-meta{
|
276 |
+
max-width: 100%;
|
277 |
+
}
|
img/loop.png
ADDED
Binary file
|
inc/class-metaseo-mutils.php
CHANGED
@@ -23,27 +23,27 @@ class WPMSEO_Utils {
|
|
23 |
}
|
24 |
switch ($val) {
|
25 |
case 0:
|
26 |
-
$score = __('N/A', '
|
27 |
$css = 'na';
|
28 |
break;
|
29 |
case 4:
|
30 |
case 5:
|
31 |
-
$score = __('Poor', '
|
32 |
$css = 'poor';
|
33 |
break;
|
34 |
case 6:
|
35 |
case 7:
|
36 |
-
$score = __('OK', '
|
37 |
$css = 'ok';
|
38 |
break;
|
39 |
case 8:
|
40 |
case 9:
|
41 |
case 10:
|
42 |
-
$score = __('Good', '
|
43 |
$css = 'good';
|
44 |
break;
|
45 |
default:
|
46 |
-
$score = __('Bad', '
|
47 |
$css = 'bad';
|
48 |
break;
|
49 |
}
|
23 |
}
|
24 |
switch ($val) {
|
25 |
case 0:
|
26 |
+
$score = __('N/A', 'wpms');
|
27 |
$css = 'na';
|
28 |
break;
|
29 |
case 4:
|
30 |
case 5:
|
31 |
+
$score = __('Poor', 'wpms');
|
32 |
$css = 'poor';
|
33 |
break;
|
34 |
case 6:
|
35 |
case 7:
|
36 |
+
$score = __('OK', 'wpms');
|
37 |
$css = 'ok';
|
38 |
break;
|
39 |
case 8:
|
40 |
case 9:
|
41 |
case 10:
|
42 |
+
$score = __('Good', 'wpms');
|
43 |
$css = 'good';
|
44 |
break;
|
45 |
default:
|
46 |
+
$score = __('Bad', 'wpms');
|
47 |
$css = 'bad';
|
48 |
break;
|
49 |
}
|
inc/class.image-helper.php
CHANGED
@@ -344,15 +344,15 @@ class ImageHelper{
|
|
344 |
$im = ' image ';
|
345 |
}
|
346 |
|
347 |
-
$msg[$iID]['iNotGood']['msg'] = __($results['iNotGoodTotal'][$iID] .$im. 'with wrong size', '
|
348 |
$msg[$iID]['iNotGood']['warning'] = true;
|
349 |
|
350 |
-
$msg[$iID]['iNotGood']['button'] = '<a href="javascript:void(0);" class=" img-resize button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="resize_image" onclick="showPostsList(this)">'.__('Resize image', '
|
351 |
|
352 |
update_post_meta($iID, '_metaseo_resize_image_counter', $results['iNotGoodTotal'][$iID]);
|
353 |
update_post_meta($iID, '_metaseo_resize_image', $post_group);
|
354 |
}else{
|
355 |
-
$msg[$iID]['iNotGood']['msg'] = __('Image sizes are good!', '
|
356 |
$msg[$iID]['iNotGood']['warning'] = false;
|
357 |
|
358 |
delete_post_meta($iID, '_metaseo_resize_image_counter');
|
@@ -369,16 +369,16 @@ class ImageHelper{
|
|
369 |
if($mkey == 'alt'){ $text = ' text'; }
|
370 |
|
371 |
if($results['imNotGoodTotal'][$iID][$mkey] > 1){
|
372 |
-
$msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . 's are missing', '
|
373 |
}
|
374 |
elseif($results['imNotGoodTotal'][$iID][$mkey] == 1){
|
375 |
-
$msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . ' is missing', '
|
376 |
}
|
377 |
|
378 |
}
|
379 |
|
380 |
$msg[$iID]['imNotGood']['warning'] = true;
|
381 |
-
$msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Fix meta', '
|
382 |
|
383 |
|
384 |
update_post_meta($iID, '_metaseo_fix_metas_counter', count($post_group));
|
@@ -388,7 +388,7 @@ class ImageHelper{
|
|
388 |
if( $results['imNotGoodTotal'][$iID]['alt'] == 0
|
389 |
&& $results['imNotGoodTotal'][$iID]['title'] == 0 ){
|
390 |
if($results['iNotGoodTotal'][$iID] != -1){
|
391 |
-
$msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Edit meta', '
|
392 |
}
|
393 |
else{
|
394 |
$msg[$iID]['imNotGood']['button'] = '';
|
@@ -414,7 +414,7 @@ class ImageHelper{
|
|
414 |
$query = "SELECT `post_content` FROM $wpdb->posts WHERE `ID`=" . $post_id;
|
415 |
|
416 |
if(!($post_content = @$wpdb->get_row($query)->post_content)){
|
417 |
-
$ret['msg'] = __('This post is not existed or deleted, please choose one another!','
|
418 |
|
419 |
return $ret;
|
420 |
}
|
@@ -456,10 +456,10 @@ class ImageHelper{
|
|
456 |
|
457 |
if($id){
|
458 |
$ret['success'] = true;
|
459 |
-
$ret['msg'] = __('Well! This image is so good now.', '
|
460 |
}
|
461 |
else{
|
462 |
-
$ret['msg'] = __('Opps! An error occured when updating the post, please try again', '
|
463 |
}
|
464 |
|
465 |
return $ret;
|
344 |
$im = ' image ';
|
345 |
}
|
346 |
|
347 |
+
$msg[$iID]['iNotGood']['msg'] = __($results['iNotGoodTotal'][$iID] .$im. 'with wrong size', 'wpms');
|
348 |
$msg[$iID]['iNotGood']['warning'] = true;
|
349 |
|
350 |
+
$msg[$iID]['iNotGood']['button'] = '<a href="javascript:void(0);" class=" img-resize button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="resize_image" onclick="showPostsList(this)">'.__('Resize image', 'wpms').'<span class="spinner-light"></span></a>';
|
351 |
|
352 |
update_post_meta($iID, '_metaseo_resize_image_counter', $results['iNotGoodTotal'][$iID]);
|
353 |
update_post_meta($iID, '_metaseo_resize_image', $post_group);
|
354 |
}else{
|
355 |
+
$msg[$iID]['iNotGood']['msg'] = __('Image sizes are good!', 'wpms');
|
356 |
$msg[$iID]['iNotGood']['warning'] = false;
|
357 |
|
358 |
delete_post_meta($iID, '_metaseo_resize_image_counter');
|
369 |
if($mkey == 'alt'){ $text = ' text'; }
|
370 |
|
371 |
if($results['imNotGoodTotal'][$iID][$mkey] > 1){
|
372 |
+
$msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . 's are missing', 'wpms');
|
373 |
}
|
374 |
elseif($results['imNotGoodTotal'][$iID][$mkey] == 1){
|
375 |
+
$msg[$iID]['imNotGood']['msg'][$mkey] = __($results['imNotGoodTotal'][$iID][$mkey] . ' ' . $mkey . $text . ' is missing', 'wpms');
|
376 |
}
|
377 |
|
378 |
}
|
379 |
|
380 |
$msg[$iID]['imNotGood']['warning'] = true;
|
381 |
+
$msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button button-primary" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Fix meta', 'wpms').'<span class="spinner-light"></span></a>';
|
382 |
|
383 |
|
384 |
update_post_meta($iID, '_metaseo_fix_metas_counter', count($post_group));
|
388 |
if( $results['imNotGoodTotal'][$iID]['alt'] == 0
|
389 |
&& $results['imNotGoodTotal'][$iID]['title'] == 0 ){
|
390 |
if($results['iNotGoodTotal'][$iID] != -1){
|
391 |
+
$msg[$iID]['imNotGood']['button'] = '<a href="javascript:void(0);" class=" fix-metas button" data-img-name="'.$_imgs[$iID].'" data-post-id="'. $iID.'" data-opt-key="fix_metas" onclick="showPostsList(this)">'.__('Edit meta', 'wpms').'<span class="spinner-light"></span></a>';
|
392 |
}
|
393 |
else{
|
394 |
$msg[$iID]['imNotGood']['button'] = '';
|
414 |
$query = "SELECT `post_content` FROM $wpdb->posts WHERE `ID`=" . $post_id;
|
415 |
|
416 |
if(!($post_content = @$wpdb->get_row($query)->post_content)){
|
417 |
+
$ret['msg'] = __('This post is not existed or deleted, please choose one another!','wpms');
|
418 |
|
419 |
return $ret;
|
420 |
}
|
456 |
|
457 |
if($id){
|
458 |
$ret['success'] = true;
|
459 |
+
$ret['msg'] = __('Well! This image is so good now.', 'wpms');
|
460 |
}
|
461 |
else{
|
462 |
+
$ret['msg'] = __('Opps! An error occured when updating the post, please try again', 'wpms');
|
463 |
}
|
464 |
|
465 |
return $ret;
|
inc/class.metaseo-admin.php
CHANGED
@@ -10,6 +10,8 @@ class MetaSeo_Admin {
|
|
10 |
|
11 |
function __construct() {
|
12 |
$this->settings = array(
|
|
|
|
|
13 |
"metaseo_showfacebook"=>"",
|
14 |
"metaseo_showtwitter"=>"",
|
15 |
"metaseo_showtmetablock"=>0
|
@@ -38,10 +40,15 @@ class MetaSeo_Admin {
|
|
38 |
add_action( 'wp_ajax_updateContentMeta', array($this, 'updateContentMeta_callback') );
|
39 |
add_action( 'admin_init', array($this, 'stop_heartbeat') , 1 );
|
40 |
add_action('admin_init', array($this,'metaseo_field_settings'));
|
|
|
41 |
add_action('wp_ajax_metaseo_reload_analysis',array($this,'metaseo_reload_analysis'));
|
42 |
|
43 |
}
|
44 |
|
|
|
|
|
|
|
|
|
45 |
function metaseo_reload_analysis() {
|
46 |
if(empty($_POST['datas'])){
|
47 |
wp_send_json(false);
|
@@ -56,7 +63,7 @@ class MetaSeo_Admin {
|
|
56 |
$test = false;
|
57 |
if(is_array($words_meta_title) && is_array($words_post_title)){
|
58 |
foreach ($words_meta_title as $mtitle){
|
59 |
-
if(in_array($mtitle, $words_post_title)){
|
60 |
$test = true;
|
61 |
}
|
62 |
}
|
@@ -65,14 +72,14 @@ class MetaSeo_Admin {
|
|
65 |
}
|
66 |
|
67 |
if($test){
|
68 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','
|
69 |
$check ++;
|
70 |
}else{
|
71 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','
|
72 |
}
|
73 |
|
74 |
}else{
|
75 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','
|
76 |
$check ++;
|
77 |
}
|
78 |
|
@@ -83,7 +90,7 @@ class MetaSeo_Admin {
|
|
83 |
$test1 = false;
|
84 |
if(is_array($words_title) && is_array($words_post_content)){
|
85 |
foreach ($words_title as $mtitle){
|
86 |
-
if(in_array($mtitle, $words_post_content)){
|
87 |
$test1 = true;
|
88 |
}
|
89 |
}
|
@@ -92,41 +99,41 @@ class MetaSeo_Admin {
|
|
92 |
}
|
93 |
|
94 |
if($test1){
|
95 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','
|
96 |
$check ++;
|
97 |
}else{
|
98 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','
|
99 |
}
|
100 |
|
101 |
// page url matches page title
|
102 |
$mtitle = $_POST['datas']['title'];
|
103 |
if($_POST['datas']['mpageurl'] == sanitize_title($mtitle)){
|
104 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','
|
105 |
$check ++;
|
106 |
}else{
|
107 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','
|
108 |
}
|
109 |
|
110 |
// meta title filled
|
111 |
if($_POST['datas']['meta_title'] != '' && strlen($_POST['datas']['meta_title']) <= self::$title_length){
|
112 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','
|
113 |
$check++;
|
114 |
}else{
|
115 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','
|
116 |
}
|
117 |
|
118 |
// desc filled
|
119 |
if($_POST['datas']['meta_desc'] != '' && strlen($_POST['datas']['meta_desc']) <= self::$desc_length){
|
120 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','
|
121 |
$check++;
|
122 |
}else{
|
123 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','
|
124 |
}
|
125 |
|
126 |
// image resize
|
127 |
if($_POST['datas']['content'] == '') {
|
128 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','
|
129 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','
|
130 |
$check += 2;
|
131 |
}else{
|
132 |
$dom = new DOMDocument;
|
@@ -156,21 +163,21 @@ class MetaSeo_Admin {
|
|
156 |
}
|
157 |
|
158 |
if($img_wrong){
|
159 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','
|
160 |
}else{
|
161 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','
|
162 |
$check++;
|
163 |
}
|
164 |
|
165 |
if($img_wrong_alt){
|
166 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','
|
167 |
}else{
|
168 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','
|
169 |
$check++;
|
170 |
}
|
171 |
|
172 |
}else{
|
173 |
-
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','
|
174 |
}
|
175 |
}
|
176 |
|
@@ -182,15 +189,26 @@ class MetaSeo_Admin {
|
|
182 |
function metaseo_field_settings(){
|
183 |
register_setting('Wp Meta SEO','_metaseo_settings');
|
184 |
add_settings_section('metaseo_dashboard','',array( $this, 'showSettings' ),'metaseo_settings');
|
185 |
-
add_settings_field('
|
186 |
-
add_settings_field('
|
187 |
-
add_settings_field('
|
|
|
|
|
188 |
}
|
189 |
|
190 |
public function showSettings(){
|
191 |
|
192 |
}
|
193 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
194 |
|
195 |
public function showtmetablock(){
|
196 |
echo '<input id="metaseo_installnew" name="_metaseo_settings[metaseo_installnew]" type="hidden" value="old"/>';
|
@@ -256,26 +274,26 @@ class MetaSeo_Admin {
|
|
256 |
// wp_die();
|
257 |
// }
|
258 |
|
259 |
-
$response->msg = __('Modification was saved', '
|
260 |
if($metakey == 'metatitle') {
|
261 |
if(!update_post_meta($postID, '_metaseo_metatitle', $value)) {
|
262 |
$response->updated = false;
|
263 |
-
$response->msg = __('Meta title was not saved', '
|
264 |
}
|
265 |
else{
|
266 |
$response->updated = true;
|
267 |
-
$response->msg = __('Meta title was saved', '
|
268 |
}
|
269 |
}
|
270 |
|
271 |
if($metakey =='metadesc') {
|
272 |
if(!update_post_meta($postID, '_metaseo_metadesc', $value)) {
|
273 |
$response->updated = false;
|
274 |
-
$response->msg = __('Meta description was not saved', '
|
275 |
}
|
276 |
else{
|
277 |
$response->updated = true;
|
278 |
-
$response->msg = __('Meta description was saved', '
|
279 |
}
|
280 |
}
|
281 |
|
@@ -288,16 +306,20 @@ class MetaSeo_Admin {
|
|
288 |
*
|
289 |
*/
|
290 |
public function loadAdminScripts($hook) {
|
291 |
-
|
292 |
wp_enqueue_script('jquery');
|
293 |
|
294 |
wp_enqueue_script(
|
295 |
'wpmetaseoAdmin', plugins_url('js/metaseo_admin.js', dirname(__FILE__)), array('jquery'), '0.1', true
|
296 |
);
|
|
|
|
|
|
|
|
|
297 |
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
// in JavaScript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value
|
302 |
wp_localize_script( 'wpmetaseoAdmin', 'myAjax',
|
303 |
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
|
@@ -320,10 +342,8 @@ class MetaSeo_Admin {
|
|
320 |
function register_menu_page() {
|
321 |
|
322 |
// Add main page
|
323 |
-
$admin_page = add_menu_page(__('WP Meta SEO:', '
|
324 |
-
$this,
|
325 |
-
'load_page',
|
326 |
-
), plugins_url('/img/icon.png', dirname(__FILE__)) );
|
327 |
|
328 |
/**
|
329 |
* Filter: 'metaseo_manage_options_capability' - Allow changing the capability users need to view the settings pages
|
@@ -337,7 +357,7 @@ class MetaSeo_Admin {
|
|
337 |
array(
|
338 |
'metaseo_dashboard',
|
339 |
'',
|
340 |
-
__('Content meta', '
|
341 |
$manage_options_cap,
|
342 |
'metaseo_content_meta',
|
343 |
array($this, 'load_page'),
|
@@ -346,7 +366,7 @@ class MetaSeo_Admin {
|
|
346 |
array(
|
347 |
'metaseo_dashboard',
|
348 |
'',
|
349 |
-
__('Image meta', '
|
350 |
$manage_options_cap,
|
351 |
'metaseo_image_meta',
|
352 |
array($this, 'load_page'),
|
@@ -355,7 +375,7 @@ class MetaSeo_Admin {
|
|
355 |
array(
|
356 |
'metaseo_dashboard',
|
357 |
'',
|
358 |
-
__('Settings', '
|
359 |
$manage_options_cap,
|
360 |
'metaseo_settings',
|
361 |
array($this, 'load_page'),
|
@@ -373,7 +393,7 @@ class MetaSeo_Admin {
|
|
373 |
foreach ($submenu_pages as $submenu_page) {
|
374 |
|
375 |
// Add submenu page
|
376 |
-
$admin_page = add_submenu_page($submenu_page[0], $submenu_page[2] . ' - ' . __('WP Meta SEO:', '
|
377 |
|
378 |
// Check if we need to hook
|
379 |
if (isset($submenu_page[6]) && null != $submenu_page[6] && is_array($submenu_page[6]) && count($submenu_page[6]) > 0) {
|
@@ -386,7 +406,7 @@ class MetaSeo_Admin {
|
|
386 |
|
387 |
global $submenu;
|
388 |
if (isset($submenu['metaseo_dashboard']) && current_user_can($manage_options_cap)) {
|
389 |
-
$submenu['metaseo_dashboard'][0][0] = __('Dashboard', '
|
390 |
}
|
391 |
}
|
392 |
|
10 |
|
11 |
function __construct() {
|
12 |
$this->settings = array(
|
13 |
+
"metaseo_title_home"=>"",
|
14 |
+
"metaseo_desc_home"=>"",
|
15 |
"metaseo_showfacebook"=>"",
|
16 |
"metaseo_showtwitter"=>"",
|
17 |
"metaseo_showtmetablock"=>0
|
40 |
add_action( 'wp_ajax_updateContentMeta', array($this, 'updateContentMeta_callback') );
|
41 |
add_action( 'admin_init', array($this, 'stop_heartbeat') , 1 );
|
42 |
add_action('admin_init', array($this,'metaseo_field_settings'));
|
43 |
+
add_action('init', array($this,'wpms_load_langguage'));
|
44 |
add_action('wp_ajax_metaseo_reload_analysis',array($this,'metaseo_reload_analysis'));
|
45 |
|
46 |
}
|
47 |
|
48 |
+
function wpms_load_langguage(){
|
49 |
+
load_plugin_textdomain( 'wpms', false, dirname( plugin_basename( WPMSEO_FILE ) ) . '/languages/' );
|
50 |
+
}
|
51 |
+
|
52 |
function metaseo_reload_analysis() {
|
53 |
if(empty($_POST['datas'])){
|
54 |
wp_send_json(false);
|
63 |
$test = false;
|
64 |
if(is_array($words_meta_title) && is_array($words_post_title)){
|
65 |
foreach ($words_meta_title as $mtitle){
|
66 |
+
if(in_array($mtitle, $words_post_title) && $mtitle != ''){
|
67 |
$test = true;
|
68 |
}
|
69 |
}
|
72 |
}
|
73 |
|
74 |
if($test){
|
75 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
|
76 |
$check ++;
|
77 |
}else{
|
78 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','wpms').'</div>';
|
79 |
}
|
80 |
|
81 |
}else{
|
82 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
|
83 |
$check ++;
|
84 |
}
|
85 |
|
90 |
$test1 = false;
|
91 |
if(is_array($words_title) && is_array($words_post_content)){
|
92 |
foreach ($words_title as $mtitle){
|
93 |
+
if(in_array($mtitle, $words_post_content) && $mtitle != ''){
|
94 |
$test1 = true;
|
95 |
}
|
96 |
}
|
99 |
}
|
100 |
|
101 |
if($test1){
|
102 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','wpms').'</div>';
|
103 |
$check ++;
|
104 |
}else{
|
105 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','wpms').'</div>';
|
106 |
}
|
107 |
|
108 |
// page url matches page title
|
109 |
$mtitle = $_POST['datas']['title'];
|
110 |
if($_POST['datas']['mpageurl'] == sanitize_title($mtitle)){
|
111 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','wpms').'</div>';
|
112 |
$check ++;
|
113 |
}else{
|
114 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','wpms').'</div>';
|
115 |
}
|
116 |
|
117 |
// meta title filled
|
118 |
if($_POST['datas']['meta_title'] != '' && strlen($_POST['datas']['meta_title']) <= self::$title_length){
|
119 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','wpms').'</div>';
|
120 |
$check++;
|
121 |
}else{
|
122 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','wpms').'</div>';
|
123 |
}
|
124 |
|
125 |
// desc filled
|
126 |
if($_POST['datas']['meta_desc'] != '' && strlen($_POST['datas']['meta_desc']) <= self::$desc_length){
|
127 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','wpms').'</div>';
|
128 |
$check++;
|
129 |
}else{
|
130 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','wpms').'</div>';
|
131 |
}
|
132 |
|
133 |
// image resize
|
134 |
if($_POST['datas']['content'] == '') {
|
135 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
|
136 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
137 |
$check += 2;
|
138 |
}else{
|
139 |
$dom = new DOMDocument;
|
163 |
}
|
164 |
|
165 |
if($img_wrong){
|
166 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
|
167 |
}else{
|
168 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
|
169 |
$check++;
|
170 |
}
|
171 |
|
172 |
if($img_wrong_alt){
|
173 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
174 |
}else{
|
175 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
176 |
$check++;
|
177 |
}
|
178 |
|
179 |
}else{
|
180 |
+
$output .= '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
|
181 |
}
|
182 |
}
|
183 |
|
189 |
function metaseo_field_settings(){
|
190 |
register_setting('Wp Meta SEO','_metaseo_settings');
|
191 |
add_settings_section('metaseo_dashboard','',array( $this, 'showSettings' ),'metaseo_settings');
|
192 |
+
add_settings_field('metaseo_title_home', __('Homepage meta title ', 'wpms'), array( $this, 'metaseo_title_home' ), 'metaseo_settings', 'metaseo_dashboard');
|
193 |
+
add_settings_field('metaseo_desc_home', __('Homepage meta description ', 'wpms'), array( $this, 'metaseo_desc_home' ), 'metaseo_settings', 'metaseo_dashboard');
|
194 |
+
add_settings_field('metaseo_showfacebook', __('Facebook profile URL ', 'wpms'), array( $this, 'showfacebook' ), 'metaseo_settings', 'metaseo_dashboard');
|
195 |
+
add_settings_field('metaseo_showtwitter', __('Twitter Username ', 'wpms'), array( $this, 'showtwitter' ), 'metaseo_settings', 'metaseo_dashboard');
|
196 |
+
add_settings_field('metaseo_showtmetablock', __('Meta block edition ', 'wpms'), array( $this, 'showtmetablock' ), 'metaseo_settings', 'metaseo_dashboard');
|
197 |
}
|
198 |
|
199 |
public function showSettings(){
|
200 |
|
201 |
}
|
202 |
|
203 |
+
public function metaseo_title_home(){
|
204 |
+
$home_title = isset( $this->settings['metaseo_title_home'] ) ? $this->settings['metaseo_title_home'] : '';
|
205 |
+
echo '<input id="metaseo_title_home" name="_metaseo_settings[metaseo_title_home]" type="text" value="'.esc_attr( $home_title ).'" size="50"/>';
|
206 |
+
}
|
207 |
+
|
208 |
+
public function metaseo_desc_home(){
|
209 |
+
$home_desc = isset( $this->settings['metaseo_desc_home'] ) ? $this->settings['metaseo_desc_home'] : '';
|
210 |
+
echo '<input id="metaseo_desc_home" name="_metaseo_settings[metaseo_desc_home]" type="text" value="'.esc_attr( $home_desc ).'" size="50"/>';
|
211 |
+
}
|
212 |
|
213 |
public function showtmetablock(){
|
214 |
echo '<input id="metaseo_installnew" name="_metaseo_settings[metaseo_installnew]" type="hidden" value="old"/>';
|
274 |
// wp_die();
|
275 |
// }
|
276 |
|
277 |
+
$response->msg = __('Modification was saved', 'wpms') ;
|
278 |
if($metakey == 'metatitle') {
|
279 |
if(!update_post_meta($postID, '_metaseo_metatitle', $value)) {
|
280 |
$response->updated = false;
|
281 |
+
$response->msg = __('Meta title was not saved', 'wpms') ;
|
282 |
}
|
283 |
else{
|
284 |
$response->updated = true;
|
285 |
+
$response->msg = __('Meta title was saved', 'wpms') ;
|
286 |
}
|
287 |
}
|
288 |
|
289 |
if($metakey =='metadesc') {
|
290 |
if(!update_post_meta($postID, '_metaseo_metadesc', $value)) {
|
291 |
$response->updated = false;
|
292 |
+
$response->msg = __('Meta description was not saved', 'wpms') ;
|
293 |
}
|
294 |
else{
|
295 |
$response->updated = true;
|
296 |
+
$response->msg = __('Meta description was saved', 'wpms') ;
|
297 |
}
|
298 |
}
|
299 |
|
306 |
*
|
307 |
*/
|
308 |
public function loadAdminScripts($hook) {
|
309 |
+
global $current_screen;
|
310 |
wp_enqueue_script('jquery');
|
311 |
|
312 |
wp_enqueue_script(
|
313 |
'wpmetaseoAdmin', plugins_url('js/metaseo_admin.js', dirname(__FILE__)), array('jquery'), '0.1', true
|
314 |
);
|
315 |
+
if($current_screen->base == 'toplevel_page_metaseo_dashboard'){
|
316 |
+
wp_enqueue_script('Chart', plugins_url('js/Chart.js', dirname(__FILE__)), array('jquery'), '0.1', true);
|
317 |
+
wp_enqueue_script('dashboard-chart', plugins_url('js/dashboard-chart.js', dirname(__FILE__)), array('jquery'), '0.1', true);
|
318 |
+
}
|
319 |
|
320 |
+
if($current_screen->base == 'wp-meta-seo_page_metaseo_image_meta'){
|
321 |
+
wp_enqueue_script('mautosize', plugins_url('js/autosize.js', dirname(__FILE__)), array('jquery'), '0.1', true);
|
322 |
+
}
|
323 |
// in JavaScript, object properties are accessed as ajax_object.ajax_url, ajax_object.we_value
|
324 |
wp_localize_script( 'wpmetaseoAdmin', 'myAjax',
|
325 |
array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
|
342 |
function register_menu_page() {
|
343 |
|
344 |
// Add main page
|
345 |
+
$admin_page = add_menu_page(__('WP Meta SEO:', 'wpms') . ' ' . __('Dashboard', 'wpms'), __('WP Meta SEO', 'wpms'), 'manage_options', 'metaseo_dashboard', array(
|
346 |
+
$this,'load_page',) , 'dashicons-chart-area' );
|
|
|
|
|
347 |
|
348 |
/**
|
349 |
* Filter: 'metaseo_manage_options_capability' - Allow changing the capability users need to view the settings pages
|
357 |
array(
|
358 |
'metaseo_dashboard',
|
359 |
'',
|
360 |
+
__('Content meta', 'wpms'),
|
361 |
$manage_options_cap,
|
362 |
'metaseo_content_meta',
|
363 |
array($this, 'load_page'),
|
366 |
array(
|
367 |
'metaseo_dashboard',
|
368 |
'',
|
369 |
+
__('Image meta', 'wpms'),
|
370 |
$manage_options_cap,
|
371 |
'metaseo_image_meta',
|
372 |
array($this, 'load_page'),
|
375 |
array(
|
376 |
'metaseo_dashboard',
|
377 |
'',
|
378 |
+
__('Settings', 'wpms'),
|
379 |
$manage_options_cap,
|
380 |
'metaseo_settings',
|
381 |
array($this, 'load_page'),
|
393 |
foreach ($submenu_pages as $submenu_page) {
|
394 |
|
395 |
// Add submenu page
|
396 |
+
$admin_page = add_submenu_page($submenu_page[0], $submenu_page[2] . ' - ' . __('WP Meta SEO:', 'wpms'), $submenu_page[2], $submenu_page[3], $submenu_page[4], $submenu_page[5]);
|
397 |
|
398 |
// Check if we need to hook
|
399 |
if (isset($submenu_page[6]) && null != $submenu_page[6] && is_array($submenu_page[6]) && count($submenu_page[6]) > 0) {
|
406 |
|
407 |
global $submenu;
|
408 |
if (isset($submenu['metaseo_dashboard']) && current_user_can($manage_options_cap)) {
|
409 |
+
$submenu['metaseo_dashboard'][0][0] = __('Dashboard', 'wpms');
|
410 |
}
|
411 |
}
|
412 |
|
inc/class.metaseo-content-list-table.php
CHANGED
@@ -129,10 +129,10 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
129 |
|
130 |
function get_columns() {
|
131 |
return $columns = array(
|
132 |
-
'col_id' => __('', '
|
133 |
-
'col_title' => __('Title', '
|
134 |
-
'col_meta_title' => __('Meta Title', '
|
135 |
-
'col_meta_desc' => __('Meta Description', '
|
136 |
);
|
137 |
}
|
138 |
|
@@ -294,7 +294,7 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
294 |
|
295 |
case 'col_title':
|
296 |
$post_title = stripslashes($rec->post_title);
|
297 |
-
if($post_title == '') $post_title = __('(no title)' , '
|
298 |
echo sprintf('<td %2$s><div class="action-wrapper"><strong id="post-title-'.$rec->ID.'">%1$s</strong>', $post_title, $attributes);
|
299 |
|
300 |
$post_type_object = get_post_type_object($rec->post_type);
|
@@ -317,13 +317,13 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
317 |
|
318 |
echo $this->row_actions($actions);
|
319 |
echo '</div><div class="snippet-wrapper">';
|
320 |
-
$preview = __(" This is a rendering of what this post might look like in Google's search results.", '
|
321 |
$info = sprintf('<a class="info-content"><img src=' . WPMETASEO_PLUGIN_URL . 'img/info.png href="#">'
|
322 |
. '<p class="tooltip-metacontent">'
|
323 |
.$preview
|
324 |
.'</p></a>');
|
325 |
|
326 |
-
echo '<div><strong>' . __('Snippet Preview', '
|
327 |
|
328 |
echo '<div class="snippet">
|
329 |
<a id="snippet_title'.$rec->ID . '" class="snippet_metatitle">'.(!empty($rec->metatitle) ? $rec->metatitle : $rec->post_title).'</a>';
|
@@ -579,7 +579,7 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
579 |
return null;
|
580 |
}
|
581 |
//These info may be got from database in later version
|
582 |
-
$mseo = '
|
583 |
$yoast = 'wordpress-seo/wp-seo.php';
|
584 |
$aio = 'all-in-one-seo-pack/all_in_one_seo_pack.php';
|
585 |
|
129 |
|
130 |
function get_columns() {
|
131 |
return $columns = array(
|
132 |
+
'col_id' => __('', 'wpms'),
|
133 |
+
'col_title' => __('Title', 'wpms'),
|
134 |
+
'col_meta_title' => __('Meta Title', 'wpms'),
|
135 |
+
'col_meta_desc' => __('Meta Description', 'wpms')
|
136 |
);
|
137 |
}
|
138 |
|
294 |
|
295 |
case 'col_title':
|
296 |
$post_title = stripslashes($rec->post_title);
|
297 |
+
if($post_title == '') $post_title = __('(no title)' , 'wpms');
|
298 |
echo sprintf('<td %2$s><div class="action-wrapper"><strong id="post-title-'.$rec->ID.'">%1$s</strong>', $post_title, $attributes);
|
299 |
|
300 |
$post_type_object = get_post_type_object($rec->post_type);
|
317 |
|
318 |
echo $this->row_actions($actions);
|
319 |
echo '</div><div class="snippet-wrapper">';
|
320 |
+
$preview = __(" This is a rendering of what this post might look like in Google's search results.", 'wpms');
|
321 |
$info = sprintf('<a class="info-content"><img src=' . WPMETASEO_PLUGIN_URL . 'img/info.png href="#">'
|
322 |
. '<p class="tooltip-metacontent">'
|
323 |
.$preview
|
324 |
.'</p></a>');
|
325 |
|
326 |
+
echo '<div><strong>' . __('Snippet Preview', 'wpms') . '</strong> ' . $info. '</div>';
|
327 |
|
328 |
echo '<div class="snippet">
|
329 |
<a id="snippet_title'.$rec->ID . '" class="snippet_metatitle">'.(!empty($rec->metatitle) ? $rec->metatitle : $rec->post_title).'</a>';
|
579 |
return null;
|
580 |
}
|
581 |
//These info may be got from database in later version
|
582 |
+
$mseo = 'wpms/wpms.php';
|
583 |
$yoast = 'wordpress-seo/wp-seo.php';
|
584 |
$aio = 'all-in-one-seo-pack/all_in_one_seo_pack.php';
|
585 |
|
inc/class.metaseo-dashboard.php
CHANGED
@@ -138,7 +138,7 @@ class MetaSeo_Dashboard {
|
|
138 |
echo $rank;
|
139 |
}
|
140 |
else{
|
141 |
-
echo __('We can\'t get rank of this site from Alexa.com!', '
|
142 |
}
|
143 |
}
|
144 |
|
138 |
echo $rank;
|
139 |
}
|
140 |
else{
|
141 |
+
echo __('We can\'t get rank of this site from Alexa.com!', 'wpms');
|
142 |
}
|
143 |
}
|
144 |
|
inc/class.metaseo-image-list-table.php
CHANGED
@@ -133,14 +133,14 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
133 |
|
134 |
function get_columns() {
|
135 |
return $columns = array(
|
136 |
-
'col_id' => __('ID', '
|
137 |
-
'col_image' => __('Image', '
|
138 |
-
'col_image_name' => __('Name', '
|
139 |
-
'col_image_info' => __('Optimization Info', '
|
140 |
-
'col_image_alternative' => __('Alternative text', '
|
141 |
-
'col_image_title' => __('Title', '
|
142 |
-
'col_image_legend' => __('Legend', '
|
143 |
-
'col_image_desc' => __('Description', '
|
144 |
);
|
145 |
}
|
146 |
|
@@ -459,7 +459,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
459 |
|
460 |
case 'col_image_name':
|
461 |
$info = '<div class="img-name-wrapper">';
|
462 |
-
$info .= '<
|
463 |
#$info .= '<p class="savedInfo" style="display:none;"></p>';
|
464 |
$info .= '<p>size: ' . $img_size . $img_sizes. '</p>';
|
465 |
$info .= '<p>' . $img_width . 'x' . $img_height . '</p>';
|
@@ -488,7 +488,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
488 |
break;
|
489 |
|
490 |
case 'col_image_alternative':
|
491 |
-
$input = ("<
|
492 |
$input .= ('<span class="saved-info" style="position:relative">
|
493 |
<span class="meta-update" style="position:absolute"></span>
|
494 |
</span>');
|
@@ -496,7 +496,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
496 |
break;
|
497 |
|
498 |
case 'col_image_title':
|
499 |
-
$input = ("<
|
500 |
$input .= ('<span class="saved-info" style="position:relative">
|
501 |
<span class="meta-update" style="position:absolute"></span>
|
502 |
</span>');
|
@@ -504,7 +504,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
504 |
break;
|
505 |
|
506 |
case 'col_image_legend':
|
507 |
-
$input = ("<
|
508 |
$input .= ('<span class="saved-info" style="position:relative">
|
509 |
<span class="meta-update" style="position:absolute"></span>
|
510 |
</span>');
|
@@ -512,7 +512,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
512 |
break;
|
513 |
|
514 |
case 'col_image_desc':
|
515 |
-
$input = ("<
|
516 |
$input .= ('<span class="saved-info" style="position:relative">
|
517 |
<span class="meta-update" style="position:absolute"></span>
|
518 |
</span>');
|
@@ -580,9 +580,9 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
580 |
|
581 |
private static function display_fix_metas_list($img_post_id, $posts, $meta_counter, $p, $im){
|
582 |
if($meta_counter){
|
583 |
-
$header = __('We found
|
584 |
}else{
|
585 |
-
$header = __('We found 0 image which needed to add or change meta information', '
|
586 |
}
|
587 |
|
588 |
//Get default meta information of the image
|
@@ -597,7 +597,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
597 |
<tbody>
|
598 |
<?php $alternate = '';?>
|
599 |
<?php if(count($posts) < 1): ?>
|
600 |
-
<tr><td colspan="10" style="height:95%"><?php echo __('This image has still not been inserted in any post!', '
|
601 |
<?php else: ?>
|
602 |
<tr class="metaseo-border-bottom">
|
603 |
<td colspan="1">ID</td>
|
@@ -629,7 +629,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
629 |
$value = str_replace($chr, htmlentities2($chr), $value);
|
630 |
}
|
631 |
?>
|
632 |
-
<input type="text" value="<?php echo ($value != '' ? $value : ''); ?>" id="metaseo-img-<?php echo $type. '-' .$post['ID'] ?>" class="metaseo-fix-meta metaseo-img-<?php echo $type ?>" data-meta-key="_metaseo_fix_metas" data-post-id="<?php echo $post['ID'] ?>" data-img-post-id="<?php echo $img_post_id ?>" data-meta-type="<?php echo $type ?>" data-meta-order="<?php echo $k ?>" data-file-name="<?php echo $file_name; ?>" placeholder="<?php echo ($value == '' ? __(ucfirst($type) . ' is empty', '
|
633 |
<span class="meta-update"></span>
|
634 |
<?php if(trim($$type) != '' && trim($$type) != $value): ?>
|
635 |
<a class="button meta-default" href="#" data-default-value="<?php echo esc_attr($$type) ?>" title="Add to input box" onclick="add_meta_default(this)"> <?php echo '<img src= "' . WPMETASEO_PLUGIN_URL . 'img/img-arrow.png" />' ?> Copy </a>
|
@@ -654,7 +654,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
654 |
|
655 |
private static function display_resize_image_list($img_post_id,$posts, $img_counter, $p, $im){
|
656 |
|
657 |
-
$header = __('We found '
|
658 |
?>
|
659 |
<h3 class="content-header"><?php echo $header ?></h3>
|
660 |
<div class="content-box">
|
@@ -695,7 +695,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
695 |
<?php endforeach ?>
|
696 |
</td>
|
697 |
<td colspan="2" class="metaseo-action">
|
698 |
-
<a href="javascript:void(0);" class="metaseo-optimize button" data-img-post-id="<?php echo $img_post_id ?>" data-post-id="<?php echo $post['ID'] ?>" onclick="optimize_imgs(this)"><?php echo __('Replace?', '
|
699 |
<span class="optimizing spinner"></span>
|
700 |
</td>
|
701 |
<td colspan="4">
|
@@ -749,7 +749,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
749 |
else{
|
750 |
$ret = array(
|
751 |
'success' => false,
|
752 |
-
'msg' => __('The post is not existed, please choose one another!', '
|
753 |
);
|
754 |
}
|
755 |
|
@@ -997,18 +997,18 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
997 |
|
998 |
if(wp_update_post($data)){
|
999 |
$response->updated = true;
|
1000 |
-
$response->msg = __($label . ' was saved', '
|
1001 |
}
|
1002 |
}
|
1003 |
else{
|
1004 |
update_post_meta($post_id, $aliases[$meta_type], $meta_value);
|
1005 |
$response->updated = true;
|
1006 |
-
$response->msg = __($label . ' was saved', '
|
1007 |
}
|
1008 |
|
1009 |
}
|
1010 |
else{
|
1011 |
-
$response->msg = __('There is a problem when update image meta!', '
|
1012 |
}
|
1013 |
|
1014 |
echo json_encode($response);
|
@@ -1025,7 +1025,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
1025 |
$linkold = $img_meta['file'];
|
1026 |
$response = new stdClass();
|
1027 |
$response->updated = FALSE;
|
1028 |
-
$response->msg = __('There is a problem when update image name', '
|
1029 |
|
1030 |
$upload_dirs = wp_upload_dir();
|
1031 |
$upload_dir = $upload_dirs['basedir'];
|
@@ -1127,24 +1127,24 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
1127 |
update_post_meta($postID, '_wp_attachment_metadata', $attached_metadata);
|
1128 |
|
1129 |
$response->updated = true;
|
1130 |
-
$response->msg = __('Image name was changed', '
|
1131 |
} else {
|
1132 |
$response->iname = $old_name;
|
1133 |
-
$response->msg = __('There is a problem when update image name', '
|
1134 |
}
|
1135 |
}
|
1136 |
} else {
|
1137 |
|
1138 |
-
$response->msg = __('Name is existing', '
|
1139 |
$response->iname = $old_name;
|
1140 |
}
|
1141 |
} else {
|
1142 |
$response->iname = $old_name;
|
1143 |
-
$response->msg = __('File is not existed', '
|
1144 |
}
|
1145 |
} else {
|
1146 |
$response->iname = $old_name;
|
1147 |
-
$response->msg = __('Should not be empty', '
|
1148 |
}
|
1149 |
echo json_encode($response);
|
1150 |
wp_die();
|
@@ -1156,7 +1156,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
1156 |
$response->updated = false;
|
1157 |
foreach($_post as $k => $v){
|
1158 |
if(!$v && !in_array($k, array('meta_value', 'meta_order'))){
|
1159 |
-
$response->msg = __('There is a problem when update image meta!', '
|
1160 |
|
1161 |
echo json_encode($response);
|
1162 |
wp_die();
|
@@ -1179,7 +1179,7 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
1179 |
//Then we must update this meta info in the appropriate post content
|
1180 |
if(!$post = get_post($post_id))
|
1181 |
{
|
1182 |
-
$response->msg = __('The post has been deleted before, please check again!', '
|
1183 |
}
|
1184 |
else{
|
1185 |
if($post->post_content !== ''){
|
@@ -1214,19 +1214,19 @@ class MetaSeo_Image_List_Table extends WP_List_Table {
|
|
1214 |
|
1215 |
//Update content of this post.
|
1216 |
if(!wp_update_post(array('ID' => $post->ID, 'post_content' => $post_content))){
|
1217 |
-
$response->msg = __('The post haven\'t been updated, please check again!', '
|
1218 |
}
|
1219 |
else{
|
1220 |
$response->updated = true;
|
1221 |
-
$response->msg = __(ucfirst($meta_type) . ' was saved','
|
1222 |
}
|
1223 |
}
|
1224 |
else{
|
1225 |
-
$response->msg = __('This image has been removed from the post, please check again!', '
|
1226 |
}
|
1227 |
}
|
1228 |
else{
|
1229 |
-
$response->msg = __('Content of the post is empty, please check again', '
|
1230 |
}
|
1231 |
}
|
1232 |
|
133 |
|
134 |
function get_columns() {
|
135 |
return $columns = array(
|
136 |
+
'col_id' => __('ID', 'wpms'),
|
137 |
+
'col_image' => __('Image', 'wpms'),
|
138 |
+
'col_image_name' => __('Name', 'wpms'),
|
139 |
+
'col_image_info' => __('Optimization Info', 'wpms'),
|
140 |
+
'col_image_alternative' => __('Alternative text', 'wpms'),
|
141 |
+
'col_image_title' => __('Title', 'wpms'),
|
142 |
+
'col_image_legend' => __('Legend', 'wpms'),
|
143 |
+
'col_image_desc' => __('Description', 'wpms'),
|
144 |
);
|
145 |
}
|
146 |
|
459 |
|
460 |
case 'col_image_name':
|
461 |
$info = '<div class="img-name-wrapper">';
|
462 |
+
$info .= '<textarea name="name_image['.$rec->ID.']" class="metaseo-img-meta metaseo-img-name" data-meta-type="change_image_name" id="img-name-'.$rec->ID.'" data-post-id="'.$rec->ID.'" rows="2" data-extension="'.$type.'">'.$img_name.'</textarea><span class="img_type">'.$type.'</span>';
|
463 |
#$info .= '<p class="savedInfo" style="display:none;"></p>';
|
464 |
$info .= '<p>size: ' . $img_size . $img_sizes. '</p>';
|
465 |
$info .= '<p>' . $img_width . 'x' . $img_height . '</p>';
|
488 |
break;
|
489 |
|
490 |
case 'col_image_alternative':
|
491 |
+
$input = ("<textarea name='img_alternative[$rec->ID]' class='metaseo-img-meta' data-meta-type='alt_text' id='img-alt-$rec->ID' data-post-id='$rec->ID' rows='2'>". esc_attr($rec->alt)."</textarea>");
|
492 |
$input .= ('<span class="saved-info" style="position:relative">
|
493 |
<span class="meta-update" style="position:absolute"></span>
|
494 |
</span>');
|
496 |
break;
|
497 |
|
498 |
case 'col_image_title':
|
499 |
+
$input = ("<textarea name='img_title[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_title' id='img-title-$rec->ID' data-post-id='$rec->ID' rows='2'>".esc_attr($rec->title)."</textarea>");
|
500 |
$input .= ('<span class="saved-info" style="position:relative">
|
501 |
<span class="meta-update" style="position:absolute"></span>
|
502 |
</span>');
|
504 |
break;
|
505 |
|
506 |
case 'col_image_legend':
|
507 |
+
$input = ("<textarea name='img_legend[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_caption' id='img-legend-$rec->ID' data-post-id='$rec->ID' rows='2'>".esc_attr($rec->legend)."</textarea>");
|
508 |
$input .= ('<span class="saved-info" style="position:relative">
|
509 |
<span class="meta-update" style="position:absolute"></span>
|
510 |
</span>');
|
512 |
break;
|
513 |
|
514 |
case 'col_image_desc':
|
515 |
+
$input = ("<textarea name='img_desc[$rec->ID]' class='metaseo-img-meta' data-meta-type='image_description' id='img-desc-$rec->ID' data-post-id='$rec->ID' rows='2'>".esc_attr($rec->des)."</textarea>");
|
516 |
$input .= ('<span class="saved-info" style="position:relative">
|
517 |
<span class="meta-update" style="position:absolute"></span>
|
518 |
</span>');
|
580 |
|
581 |
private static function display_fix_metas_list($img_post_id, $posts, $meta_counter, $p, $im){
|
582 |
if($meta_counter){
|
583 |
+
$header = sprintf(__('We found %s which needed to add or change meta information', 'wpms'),$meta_counter . $im . $p);
|
584 |
}else{
|
585 |
+
$header = sprintf(__('We found %s which needed to add or change meta information', 'wpms'), 0);//__('We found 0 image which needed to add or change meta information', 'wpms');
|
586 |
}
|
587 |
|
588 |
//Get default meta information of the image
|
597 |
<tbody>
|
598 |
<?php $alternate = '';?>
|
599 |
<?php if(count($posts) < 1): ?>
|
600 |
+
<tr><td colspan="10" style="height:95%"><?php echo __('This image has still not been inserted in any post!', 'wpms') ?></td></tr>
|
601 |
<?php else: ?>
|
602 |
<tr class="metaseo-border-bottom">
|
603 |
<td colspan="1">ID</td>
|
629 |
$value = str_replace($chr, htmlentities2($chr), $value);
|
630 |
}
|
631 |
?>
|
632 |
+
<input type="text" value="<?php echo ($value != '' ? $value : ''); ?>" id="metaseo-img-<?php echo $type. '-' .$post['ID'] ?>" class="metaseo-fix-meta metaseo-img-<?php echo $type ?>" data-meta-key="_metaseo_fix_metas" data-post-id="<?php echo $post['ID'] ?>" data-img-post-id="<?php echo $img_post_id ?>" data-meta-type="<?php echo $type ?>" data-meta-order="<?php echo $k ?>" data-file-name="<?php echo $file_name; ?>" placeholder="<?php echo ($value == '' ? __(ucfirst($type) . ' is empty', 'wpms') : '') ?>" onfocus="metaseo_fix_meta(this);" onblur="updateInputBlur(this)" onkeydown="return checkeyCode(event,this)" />
|
633 |
<span class="meta-update"></span>
|
634 |
<?php if(trim($$type) != '' && trim($$type) != $value): ?>
|
635 |
<a class="button meta-default" href="#" data-default-value="<?php echo esc_attr($$type) ?>" title="Add to input box" onclick="add_meta_default(this)"> <?php echo '<img src= "' . WPMETASEO_PLUGIN_URL . 'img/img-arrow.png" />' ?> Copy </a>
|
654 |
|
655 |
private static function display_resize_image_list($img_post_id,$posts, $img_counter, $p, $im){
|
656 |
|
657 |
+
$header = sprintf(__('We found %s which needed to optimize', 'wpms'), $img_counter . $im . $p);
|
658 |
?>
|
659 |
<h3 class="content-header"><?php echo $header ?></h3>
|
660 |
<div class="content-box">
|
695 |
<?php endforeach ?>
|
696 |
</td>
|
697 |
<td colspan="2" class="metaseo-action">
|
698 |
+
<a href="javascript:void(0);" class="metaseo-optimize button" data-img-post-id="<?php echo $img_post_id ?>" data-post-id="<?php echo $post['ID'] ?>" onclick="optimize_imgs(this)"><?php echo __('Replace?', 'wpms') ?></a>
|
699 |
<span class="optimizing spinner"></span>
|
700 |
</td>
|
701 |
<td colspan="4">
|
749 |
else{
|
750 |
$ret = array(
|
751 |
'success' => false,
|
752 |
+
'msg' => __('The post is not existed, please choose one another!', 'wpms')
|
753 |
);
|
754 |
}
|
755 |
|
997 |
|
998 |
if(wp_update_post($data)){
|
999 |
$response->updated = true;
|
1000 |
+
$response->msg = __($label . ' was saved', 'wpms');
|
1001 |
}
|
1002 |
}
|
1003 |
else{
|
1004 |
update_post_meta($post_id, $aliases[$meta_type], $meta_value);
|
1005 |
$response->updated = true;
|
1006 |
+
$response->msg = __($label . ' was saved', 'wpms');
|
1007 |
}
|
1008 |
|
1009 |
}
|
1010 |
else{
|
1011 |
+
$response->msg = __('There is a problem when update image meta!', 'wpms');
|
1012 |
}
|
1013 |
|
1014 |
echo json_encode($response);
|
1025 |
$linkold = $img_meta['file'];
|
1026 |
$response = new stdClass();
|
1027 |
$response->updated = FALSE;
|
1028 |
+
$response->msg = __('There is a problem when update image name', 'wpms');
|
1029 |
|
1030 |
$upload_dirs = wp_upload_dir();
|
1031 |
$upload_dir = $upload_dirs['basedir'];
|
1127 |
update_post_meta($postID, '_wp_attachment_metadata', $attached_metadata);
|
1128 |
|
1129 |
$response->updated = true;
|
1130 |
+
$response->msg = __('Image name was changed', 'wpms');
|
1131 |
} else {
|
1132 |
$response->iname = $old_name;
|
1133 |
+
$response->msg = __('There is a problem when update image name', 'wpms');
|
1134 |
}
|
1135 |
}
|
1136 |
} else {
|
1137 |
|
1138 |
+
$response->msg = __('Name is existing', 'wpms');
|
1139 |
$response->iname = $old_name;
|
1140 |
}
|
1141 |
} else {
|
1142 |
$response->iname = $old_name;
|
1143 |
+
$response->msg = __('File is not existed', 'wpms');
|
1144 |
}
|
1145 |
} else {
|
1146 |
$response->iname = $old_name;
|
1147 |
+
$response->msg = __('Should not be empty', 'wpms');
|
1148 |
}
|
1149 |
echo json_encode($response);
|
1150 |
wp_die();
|
1156 |
$response->updated = false;
|
1157 |
foreach($_post as $k => $v){
|
1158 |
if(!$v && !in_array($k, array('meta_value', 'meta_order'))){
|
1159 |
+
$response->msg = __('There is a problem when update image meta!', 'wpms') ;
|
1160 |
|
1161 |
echo json_encode($response);
|
1162 |
wp_die();
|
1179 |
//Then we must update this meta info in the appropriate post content
|
1180 |
if(!$post = get_post($post_id))
|
1181 |
{
|
1182 |
+
$response->msg = __('The post has been deleted before, please check again!', 'wpms');
|
1183 |
}
|
1184 |
else{
|
1185 |
if($post->post_content !== ''){
|
1214 |
|
1215 |
//Update content of this post.
|
1216 |
if(!wp_update_post(array('ID' => $post->ID, 'post_content' => $post_content))){
|
1217 |
+
$response->msg = __('The post haven\'t been updated, please check again!', 'wpms');
|
1218 |
}
|
1219 |
else{
|
1220 |
$response->updated = true;
|
1221 |
+
$response->msg = __(ucfirst($meta_type) . ' was saved','wpms') ;
|
1222 |
}
|
1223 |
}
|
1224 |
else{
|
1225 |
+
$response->msg = __('This image has been removed from the post, please check again!', 'wpms');
|
1226 |
}
|
1227 |
}
|
1228 |
else{
|
1229 |
+
$response->msg = __('Content of the post is empty, please check again', 'wpms!');
|
1230 |
}
|
1231 |
}
|
1232 |
|
inc/class.metaseo-metabox.php
CHANGED
@@ -54,34 +54,34 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
54 |
}
|
55 |
|
56 |
public static function translate_meta_boxes() {
|
57 |
-
self::$meta_fields['general']['snippetpreview']['title'] = __('Results preview', '
|
58 |
-
self::$meta_fields['general']['snippetpreview']['help'] = sprintf(__('This is a preview of what your content will looks like in search engine results: title, description and URL', '
|
59 |
|
60 |
-
self::$meta_fields['general']['title']['title'] = __('Search engine
|
61 |
self::$meta_fields['general']['title']['description'] = sprintf(__('<span id="metaseo_wpmseo_title-length">%s</span>'),self::$meta_length_reason);
|
62 |
-
self::$meta_fields['general']['title']['help'] = __('This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed.', '
|
63 |
|
64 |
-
self::$meta_fields['general']['desc']['title'] = __('Search engine description', '
|
65 |
self::$meta_fields['general']['desc']['description'] = sprintf(__('<span id="metaseo_wpmseo_desc-length">%s</span>'),self::$meta_length_reason);
|
66 |
-
self::$meta_fields['general']['desc']['help'] =
|
67 |
|
68 |
-
self::$meta_fields['social']['opengraph-title']['title'] = __('Facebook Title','
|
69 |
-
self::$meta_fields['social']['opengraph-title']['description'] = __('Custom title to display when sharing this content on facebook, content title override','
|
70 |
|
71 |
-
self::$meta_fields['social']['opengraph-desc']['title'] = __('Facebook Description','
|
72 |
-
self::$meta_fields['social']['opengraph-desc']['description'] = __('Custom description to display when sharing this content on facebook, content description override','
|
73 |
|
74 |
-
self::$meta_fields['social']['opengraph-image']['title'] = __('Facebook Image','
|
75 |
-
self::$meta_fields['social']['opengraph-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended size is 1200px x 630px','
|
76 |
|
77 |
-
self::$meta_fields['social']['twitter-title']['title'] = __('Twitter Title','
|
78 |
-
self::$meta_fields['social']['twitter-title']['description'] = __('Custom title to display when sharing this content on twitter, content title override','
|
79 |
|
80 |
-
self::$meta_fields['social']['twitter-desc']['title'] = __('Twitter Description','
|
81 |
-
self::$meta_fields['social']['twitter-desc']['description'] = __('Custom description to display when sharing this content on twitter, content description override','
|
82 |
|
83 |
-
self::$meta_fields['social']['twitter-image']['title'] = __('Twitter Image','
|
84 |
-
self::$meta_fields['social']['twitter-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended min size 440px X 220px','
|
85 |
|
86 |
do_action('wpmseo_tab_translate');
|
87 |
}
|
@@ -120,7 +120,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
120 |
|
121 |
public function metaseo_localize_media_script() {
|
122 |
return array(
|
123 |
-
'choose_image' => __( 'Use Image', '
|
124 |
);
|
125 |
}
|
126 |
|
@@ -138,7 +138,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
138 |
$date = $this->get_post_date($post);
|
139 |
|
140 |
self::$meta_length = ( self::$meta_length - ( strlen($date) + 5 ) );
|
141 |
-
self::$meta_length_reason = __(' (because of date display)', '
|
142 |
}
|
143 |
|
144 |
self::$meta_length_reason = apply_filters('wpmseo_desc_length_reason', self::$meta_length_reason, $post);
|
@@ -186,7 +186,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
186 |
|
187 |
return array_merge($cached_replacement_vars, array(
|
188 |
'field_prefix' => self::$form_prefix,
|
189 |
-
'choose_image' => __('Use Image', '
|
190 |
'wpmseo_meta_desc_length' => self::$meta_length,
|
191 |
'wpmseo_meta_title_length' => self::$meta_title_length,
|
192 |
'wpmseo_title_template' => $title_template,
|
@@ -194,7 +194,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
194 |
'wpmseo_permalink_template' => $sample_permalink,
|
195 |
'wpmseo_keyword_suggest_nonce' => wp_create_nonce('wpmseo-get-suggest'),
|
196 |
'wpmseo_replace_vars_nonce' => wp_create_nonce('wpmseo-replace-vars'),
|
197 |
-
'no_parent_text' => __('(no parent)', '
|
198 |
));
|
199 |
}
|
200 |
|
@@ -238,10 +238,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
238 |
<div class="wpmseo-metabox-tabs-div">
|
239 |
<ul class="wpmseo-metabox-tabs" id="wpmseo-metabox-tabs">
|
240 |
<li class="general">
|
241 |
-
<a class="wpmseo_tablink" data-link="wpmseo_general"><?php _e('SEO Page optimization', '
|
242 |
</li>
|
243 |
<li class="social">
|
244 |
-
<a class="wpmseo_tablink" data-link="wpmseo_social"><?php _e( 'Social for search engine', '
|
245 |
</li>
|
246 |
<?php do_action('wpmseo_tab_header'); ?>
|
247 |
</ul>
|
@@ -253,14 +253,14 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
253 |
}
|
254 |
unset($key, $meta_field);
|
255 |
}
|
256 |
-
$this->do_tab('general', __('General', '
|
257 |
|
258 |
$content = '';
|
259 |
foreach ( $this->get_meta_field_defs( 'social' ) as $meta_key => $meta_field ) {
|
260 |
$content .= $this->do_meta_box( $meta_field, $meta_key );
|
261 |
}
|
262 |
|
263 |
-
$this->do_tab( 'social', __( 'Social', '
|
264 |
do_action('wpmseo_tab_content');
|
265 |
|
266 |
echo '</div>';
|
@@ -275,7 +275,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
275 |
$test = false;
|
276 |
if(is_array($words_meta_title) && is_array($words_post_title)){
|
277 |
foreach ($words_meta_title as $mtitle){
|
278 |
-
if(in_array($mtitle, $words_post_title)){
|
279 |
$test = true;
|
280 |
}
|
281 |
}
|
@@ -284,14 +284,14 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
284 |
}
|
285 |
|
286 |
if($test){
|
287 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','
|
288 |
$this->perc_score++;
|
289 |
}else{
|
290 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','
|
291 |
}
|
292 |
|
293 |
}else{
|
294 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','
|
295 |
$this->perc_score++;
|
296 |
}
|
297 |
return $output;
|
@@ -300,11 +300,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
300 |
function metaseo_check_content($post){
|
301 |
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title));
|
302 |
$words_post_content = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_content));
|
303 |
-
|
304 |
$test1 = false;
|
305 |
if(is_array($words_meta_title) && is_array($words_post_content)){
|
306 |
foreach ($words_meta_title as $mtitle){
|
307 |
-
if(in_array($mtitle, $words_post_content)){
|
308 |
$test1 = true;
|
309 |
}
|
310 |
}
|
@@ -313,10 +312,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
313 |
}
|
314 |
|
315 |
if($test1){
|
316 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','
|
317 |
$this->perc_score++;
|
318 |
}else{
|
319 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','
|
320 |
}
|
321 |
|
322 |
return $output;
|
@@ -327,10 +326,10 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
327 |
$info = pathinfo($pageurl);
|
328 |
|
329 |
if($info['filename'] == sanitize_title($post->post_title)){
|
330 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','
|
331 |
$this->perc_score++;
|
332 |
}else{
|
333 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','
|
334 |
}
|
335 |
|
336 |
return $output;
|
@@ -338,27 +337,27 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
338 |
|
339 |
function metaseo_check_metatitle($meta_title){
|
340 |
if($meta_title != '' && strlen($meta_title) <= self::$meta_title_length){
|
341 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','
|
342 |
$this->perc_score++;
|
343 |
}else{
|
344 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','
|
345 |
}
|
346 |
return $output;
|
347 |
}
|
348 |
|
349 |
function metaseo_check_metadesc($meta_desc){
|
350 |
if($meta_desc != '' && strlen($meta_desc) <= self::$meta_length){
|
351 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','
|
352 |
$this->perc_score++;
|
353 |
}else{
|
354 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','
|
355 |
}
|
356 |
return $output;
|
357 |
}
|
358 |
|
359 |
function metaseo_check_imageresize($content){
|
360 |
if($content == '') {
|
361 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','
|
362 |
$this->perc_score++;
|
363 |
return $output;
|
364 |
}
|
@@ -381,21 +380,21 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
381 |
}
|
382 |
|
383 |
if($img_wrong){
|
384 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','
|
385 |
}else{
|
386 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','
|
387 |
$this->perc_score++;
|
388 |
}
|
389 |
|
390 |
}else{
|
391 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','
|
392 |
}
|
393 |
return $output;
|
394 |
}
|
395 |
|
396 |
function metaseo_check_imagealt($content){
|
397 |
if($content == '') {
|
398 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','
|
399 |
$this->perc_score++;
|
400 |
return $output;
|
401 |
}
|
@@ -413,14 +412,14 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
413 |
}
|
414 |
|
415 |
if($img_wrong){
|
416 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','
|
417 |
}else{
|
418 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','
|
419 |
$this->perc_score++;
|
420 |
}
|
421 |
|
422 |
}else{
|
423 |
-
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','
|
424 |
}
|
425 |
return $output;
|
426 |
}
|
@@ -467,7 +466,7 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
467 |
global $post;
|
468 |
?>
|
469 |
<div class="wpmseotab <?php echo esc_attr($id) ?>">
|
470 |
-
<p class="reload_analysis"><span class="spinner" style="float: left;"></span><input type="button" name="reload_analysis" id="reload_analysis" class="button button-primary" value="<?php _e('Reload analysis','
|
471 |
<table class="form-table">
|
472 |
<?php echo $content ?>
|
473 |
</table>
|
54 |
}
|
55 |
|
56 |
public static function translate_meta_boxes() {
|
57 |
+
self::$meta_fields['general']['snippetpreview']['title'] = __('Results preview', 'wpms');
|
58 |
+
self::$meta_fields['general']['snippetpreview']['help'] = sprintf(__('This is a preview of what your content will looks like in search engine results: title, description and URL', 'wpms'), '<a target="_blank" href="https://www.joomunited.com/wordpress-products/wpms">', '</a>');
|
59 |
|
60 |
+
self::$meta_fields['general']['title']['title'] = __('Search engine title', 'wpms');
|
61 |
self::$meta_fields['general']['title']['description'] = sprintf(__('<span id="metaseo_wpmseo_title-length">%s</span>'),self::$meta_length_reason);
|
62 |
+
self::$meta_fields['general']['title']['help'] = __('This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed.', 'wpms');
|
63 |
|
64 |
+
self::$meta_fields['general']['desc']['title'] = __('Search engine description', 'wpms');
|
65 |
self::$meta_fields['general']['desc']['description'] = sprintf(__('<span id="metaseo_wpmseo_desc-length">%s</span>'),self::$meta_length_reason);
|
66 |
+
self::$meta_fields['general']['desc']['help'] = __('The description of your content that may be displayed in search engine results aka meta description. By default search engine take an excerpt from your content (depending on the search query). 156 characters max allowed.', 'wpms');
|
67 |
|
68 |
+
self::$meta_fields['social']['opengraph-title']['title'] = __('Facebook Title','wpms');
|
69 |
+
self::$meta_fields['social']['opengraph-title']['description'] = __('Custom title to display when sharing this content on facebook, content title override','wpms');
|
70 |
|
71 |
+
self::$meta_fields['social']['opengraph-desc']['title'] = __('Facebook Description','wpms');
|
72 |
+
self::$meta_fields['social']['opengraph-desc']['description'] = __('Custom description to display when sharing this content on facebook, content description override','wpms');
|
73 |
|
74 |
+
self::$meta_fields['social']['opengraph-image']['title'] = __('Facebook Image','wpms');
|
75 |
+
self::$meta_fields['social']['opengraph-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended size is 1200px x 630px','wpms');
|
76 |
|
77 |
+
self::$meta_fields['social']['twitter-title']['title'] = __('Twitter Title','wpms');
|
78 |
+
self::$meta_fields['social']['twitter-title']['description'] = __('Custom title to display when sharing this content on twitter, content title override','wpms');
|
79 |
|
80 |
+
self::$meta_fields['social']['twitter-desc']['title'] = __('Twitter Description','wpms');
|
81 |
+
self::$meta_fields['social']['twitter-desc']['description'] = __('Custom description to display when sharing this content on twitter, content description override','wpms');
|
82 |
|
83 |
+
self::$meta_fields['social']['twitter-image']['title'] = __('Twitter Image','wpms');
|
84 |
+
self::$meta_fields['social']['twitter-image']['description'] = __('Custom image to display when sharing this content on facebook, content description override, recommended min size 440px X 220px','wpms');
|
85 |
|
86 |
do_action('wpmseo_tab_translate');
|
87 |
}
|
120 |
|
121 |
public function metaseo_localize_media_script() {
|
122 |
return array(
|
123 |
+
'choose_image' => __( 'Use Image', 'wpms' ),
|
124 |
);
|
125 |
}
|
126 |
|
138 |
$date = $this->get_post_date($post);
|
139 |
|
140 |
self::$meta_length = ( self::$meta_length - ( strlen($date) + 5 ) );
|
141 |
+
self::$meta_length_reason = __(' (because of date display)', 'wpms');
|
142 |
}
|
143 |
|
144 |
self::$meta_length_reason = apply_filters('wpmseo_desc_length_reason', self::$meta_length_reason, $post);
|
186 |
|
187 |
return array_merge($cached_replacement_vars, array(
|
188 |
'field_prefix' => self::$form_prefix,
|
189 |
+
'choose_image' => __('Use Image', 'wpms'),
|
190 |
'wpmseo_meta_desc_length' => self::$meta_length,
|
191 |
'wpmseo_meta_title_length' => self::$meta_title_length,
|
192 |
'wpmseo_title_template' => $title_template,
|
194 |
'wpmseo_permalink_template' => $sample_permalink,
|
195 |
'wpmseo_keyword_suggest_nonce' => wp_create_nonce('wpmseo-get-suggest'),
|
196 |
'wpmseo_replace_vars_nonce' => wp_create_nonce('wpmseo-replace-vars'),
|
197 |
+
'no_parent_text' => __('(no parent)', 'wpms'),
|
198 |
));
|
199 |
}
|
200 |
|
238 |
<div class="wpmseo-metabox-tabs-div">
|
239 |
<ul class="wpmseo-metabox-tabs" id="wpmseo-metabox-tabs">
|
240 |
<li class="general">
|
241 |
+
<a class="wpmseo_tablink" data-link="wpmseo_general"><?php _e('SEO Page optimization', 'wpms'); ?></a>
|
242 |
</li>
|
243 |
<li class="social">
|
244 |
+
<a class="wpmseo_tablink" data-link="wpmseo_social"><?php _e( 'Social for search engine', 'wp-meta-seo' ) ?></a>
|
245 |
</li>
|
246 |
<?php do_action('wpmseo_tab_header'); ?>
|
247 |
</ul>
|
253 |
}
|
254 |
unset($key, $meta_field);
|
255 |
}
|
256 |
+
$this->do_tab('general', __('General', 'wpms'), $content);
|
257 |
|
258 |
$content = '';
|
259 |
foreach ( $this->get_meta_field_defs( 'social' ) as $meta_key => $meta_field ) {
|
260 |
$content .= $this->do_meta_box( $meta_field, $meta_key );
|
261 |
}
|
262 |
|
263 |
+
$this->do_tab( 'social', __( 'Social', 'wp-meta-seo' ), $content );
|
264 |
do_action('wpmseo_tab_content');
|
265 |
|
266 |
echo '</div>';
|
275 |
$test = false;
|
276 |
if(is_array($words_meta_title) && is_array($words_post_title)){
|
277 |
foreach ($words_meta_title as $mtitle){
|
278 |
+
if(in_array($mtitle, $words_post_title) && $mtitle!=''){
|
279 |
$test = true;
|
280 |
}
|
281 |
}
|
284 |
}
|
285 |
|
286 |
if($test){
|
287 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
|
288 |
$this->perc_score++;
|
289 |
}else{
|
290 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content heading','wpms').'</div>';
|
291 |
}
|
292 |
|
293 |
}else{
|
294 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content heading','wpms').'</div>';
|
295 |
$this->perc_score++;
|
296 |
}
|
297 |
return $output;
|
300 |
function metaseo_check_content($post){
|
301 |
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title));
|
302 |
$words_post_content = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_content));
|
|
|
303 |
$test1 = false;
|
304 |
if(is_array($words_meta_title) && is_array($words_post_content)){
|
305 |
foreach ($words_meta_title as $mtitle){
|
306 |
+
if(in_array($mtitle, $words_post_content) && $mtitle!=''){
|
307 |
$test1 = true;
|
308 |
}
|
309 |
}
|
312 |
}
|
313 |
|
314 |
if($test1){
|
315 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page title word in content','wpms').'</div>';
|
316 |
$this->perc_score++;
|
317 |
}else{
|
318 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page title word in content','wpms').'</div>';
|
319 |
}
|
320 |
|
321 |
return $output;
|
326 |
$info = pathinfo($pageurl);
|
327 |
|
328 |
if($info['filename'] == sanitize_title($post->post_title)){
|
329 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Page url matches with page title','wpms').'</div>';
|
330 |
$this->perc_score++;
|
331 |
}else{
|
332 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Page url matches with page title','wpms').'</div>';
|
333 |
}
|
334 |
|
335 |
return $output;
|
337 |
|
338 |
function metaseo_check_metatitle($meta_title){
|
339 |
if($meta_title != '' && strlen($meta_title) <= self::$meta_title_length){
|
340 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta title filled','wpms').'</div>';
|
341 |
$this->perc_score++;
|
342 |
}else{
|
343 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta title filled','wpms').'</div>';
|
344 |
}
|
345 |
return $output;
|
346 |
}
|
347 |
|
348 |
function metaseo_check_metadesc($meta_desc){
|
349 |
if($meta_desc != '' && strlen($meta_desc) <= self::$meta_length){
|
350 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Meta description filled','wpms').'</div>';
|
351 |
$this->perc_score++;
|
352 |
}else{
|
353 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Meta description filled','wpms').'</div>';
|
354 |
}
|
355 |
return $output;
|
356 |
}
|
357 |
|
358 |
function metaseo_check_imageresize($content){
|
359 |
if($content == '') {
|
360 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
|
361 |
$this->perc_score++;
|
362 |
return $output;
|
363 |
}
|
380 |
}
|
381 |
|
382 |
if($img_wrong){
|
383 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
|
384 |
}else{
|
385 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
|
386 |
$this->perc_score++;
|
387 |
}
|
388 |
|
389 |
}else{
|
390 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Wrong image resize','wpms').'</div>';
|
391 |
}
|
392 |
return $output;
|
393 |
}
|
394 |
|
395 |
function metaseo_check_imagealt($content){
|
396 |
if($content == '') {
|
397 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
398 |
$this->perc_score++;
|
399 |
return $output;
|
400 |
}
|
412 |
}
|
413 |
|
414 |
if($img_wrong){
|
415 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
416 |
}else{
|
417 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
418 |
$this->perc_score++;
|
419 |
}
|
420 |
|
421 |
}else{
|
422 |
+
$output = '<div class="metaseo_analysis"><div class="metaseo-dashicons dashicons-before icons-mwarning"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
423 |
}
|
424 |
return $output;
|
425 |
}
|
466 |
global $post;
|
467 |
?>
|
468 |
<div class="wpmseotab <?php echo esc_attr($id) ?>">
|
469 |
+
<p class="reload_analysis"><span class="spinner" style="float: left;"></span><input type="button" name="reload_analysis" id="reload_analysis" class="button button-primary" value="<?php _e('Reload analysis','wpms'); ?>"></p>
|
470 |
<table class="form-table">
|
471 |
<?php echo $content ?>
|
472 |
</table>
|
inc/pages/content-meta.php
CHANGED
@@ -21,7 +21,7 @@ if (!empty($_REQUEST['_wp_http_referer'])) {
|
|
21 |
<div class="wrap seo_extended_table_page">
|
22 |
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
|
23 |
|
24 |
-
<?php echo '<h2>' . __('Content Meta', '
|
25 |
|
26 |
<form id="wp-seo-meta-form" action="" method="post">
|
27 |
<?php $metaseo_list_table->display(); ?>
|
21 |
<div class="wrap seo_extended_table_page">
|
22 |
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
|
23 |
|
24 |
+
<?php echo '<h2>' . __('Content Meta', 'wpms') . '</h2>'; ?>
|
25 |
|
26 |
<form id="wp-seo-meta-form" action="" method="post">
|
27 |
<?php $metaseo_list_table->display(); ?>
|
inc/pages/dashboard.php
CHANGED
@@ -9,13 +9,13 @@ $url = 'http://www.alexa.com/siteinfo/' . $site_name;
|
|
9 |
$dashboard = new MetaSeo_Dashboard();
|
10 |
|
11 |
?>
|
12 |
-
<h1><?php echo __('DASH BOARD', '
|
13 |
<div class="dashboard">
|
14 |
<div class="left">
|
15 |
<div class="dashboard-left" id='dashboard-left'>
|
16 |
<header>
|
17 |
<p>
|
18 |
-
<div class="title-seo"><?php echo __('Image Meta :', '
|
19 |
<div class="noload" id="imgs_metas_statis_noload">
|
20 |
<span class="loadtext" id="imgs_metas_statis_value"></span>
|
21 |
<div class="load" id="imgs_metas_statis_load">
|
@@ -23,7 +23,7 @@ $dashboard = new MetaSeo_Dashboard();
|
|
23 |
</div>
|
24 |
</p>
|
25 |
<p>
|
26 |
-
<div class="title-seo"><?php echo __('Content Meta :', '
|
27 |
<div class="noload" id="imgs_metas_statis_noload">
|
28 |
<span class="loadtext" id="metacontent_value"></span>
|
29 |
<div class="load" id="metacontent_load">
|
@@ -31,7 +31,7 @@ $dashboard = new MetaSeo_Dashboard();
|
|
31 |
</div>
|
32 |
</p>
|
33 |
<p>
|
34 |
-
<div class="title-seo"><?php echo __('Image optimization :', '
|
35 |
<div class="noload" id="imgs_metas_statis_noload">
|
36 |
<span class="loadtext" id="imgs_statis_value"></span>
|
37 |
<div class="load" id="imgs_statis_load">
|
@@ -41,7 +41,7 @@ $dashboard = new MetaSeo_Dashboard();
|
|
41 |
</header>
|
42 |
<div id="canvas-holder">
|
43 |
<div id="chart-container">
|
44 |
-
<h2><?php echo __('Total', '
|
45 |
<div style="width: 300px; margin: 0px auto; position: relative;">
|
46 |
<div id="avera">
|
47 |
</div>
|
@@ -60,7 +60,7 @@ $dashboard = new MetaSeo_Dashboard();
|
|
60 |
|
61 |
<div style="clear:left"></div>
|
62 |
<div id="wpmetaseo-update-version">
|
63 |
-
<h4><?php echo __('Latest WP Meta SEO News', '
|
64 |
<ul>
|
65 |
<li>– <?php echo __('Version 1.0') ?></li>
|
66 |
<li>– <?php echo __('Version Beta') ?></li>
|
9 |
$dashboard = new MetaSeo_Dashboard();
|
10 |
|
11 |
?>
|
12 |
+
<h1><?php echo __('DASH BOARD', 'wpms') ?></h1>
|
13 |
<div class="dashboard">
|
14 |
<div class="left">
|
15 |
<div class="dashboard-left" id='dashboard-left'>
|
16 |
<header>
|
17 |
<p>
|
18 |
+
<div class="title-seo"><?php echo __('Image Meta :', 'wpms'); ?> <span id="imgs_metas_statis"></span></div>
|
19 |
<div class="noload" id="imgs_metas_statis_noload">
|
20 |
<span class="loadtext" id="imgs_metas_statis_value"></span>
|
21 |
<div class="load" id="imgs_metas_statis_load">
|
23 |
</div>
|
24 |
</p>
|
25 |
<p>
|
26 |
+
<div class="title-seo"><?php echo __('Content Meta :', 'wpms'); ?> <span id="metacontent"></span></div>
|
27 |
<div class="noload" id="imgs_metas_statis_noload">
|
28 |
<span class="loadtext" id="metacontent_value"></span>
|
29 |
<div class="load" id="metacontent_load">
|
31 |
</div>
|
32 |
</p>
|
33 |
<p>
|
34 |
+
<div class="title-seo"><?php echo __('Image optimization :', 'wpms'); ?> <span id="imgs_statis"></span></div>
|
35 |
<div class="noload" id="imgs_metas_statis_noload">
|
36 |
<span class="loadtext" id="imgs_statis_value"></span>
|
37 |
<div class="load" id="imgs_statis_load">
|
41 |
</header>
|
42 |
<div id="canvas-holder">
|
43 |
<div id="chart-container">
|
44 |
+
<h2><?php echo __('Total', 'wpms'); ?></h2>
|
45 |
<div style="width: 300px; margin: 0px auto; position: relative;">
|
46 |
<div id="avera">
|
47 |
</div>
|
60 |
|
61 |
<div style="clear:left"></div>
|
62 |
<div id="wpmetaseo-update-version">
|
63 |
+
<h4><?php echo __('Latest WP Meta SEO News', 'wpms') ?></h4>
|
64 |
<ul>
|
65 |
<li>– <?php echo __('Version 1.0') ?></li>
|
66 |
<li>– <?php echo __('Version Beta') ?></li>
|
inc/pages/image-meta.php
CHANGED
@@ -20,7 +20,7 @@ if (!empty($_REQUEST['_wp_http_referer'])) {
|
|
20 |
<div class="wrap seo_extended_table_page">
|
21 |
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
|
22 |
|
23 |
-
<?php echo '<h2>' . __('Image Meta', '
|
24 |
|
25 |
<form id="wp-seo-meta-form" action="" method="post">
|
26 |
|
@@ -34,5 +34,7 @@ if (!empty($_REQUEST['_wp_http_referer'])) {
|
|
34 |
jQuery(document).ready(function(){
|
35 |
//Scan all posts to find a group of images in their content
|
36 |
metaSeoScanImages();
|
|
|
37 |
});
|
|
|
38 |
</script>
|
20 |
<div class="wrap seo_extended_table_page">
|
21 |
<div id="icon-edit-pages" class="icon32 icon32-posts-page"></div>
|
22 |
|
23 |
+
<?php echo '<h2>' . __('Image Meta', 'wpms') . '</h2>'; ?>
|
24 |
|
25 |
<form id="wp-seo-meta-form" action="" method="post">
|
26 |
|
34 |
jQuery(document).ready(function(){
|
35 |
//Scan all posts to find a group of images in their content
|
36 |
metaSeoScanImages();
|
37 |
+
autosize(document.querySelectorAll('.metaseo-img-meta'));
|
38 |
});
|
39 |
+
|
40 |
</script>
|
inc/pages/settings.php
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
<h2 id="wpio_settings"><?php _e('Wp Meta SEO Settings','
|
2 |
<form method="post" action="options.php">
|
3 |
<?php
|
4 |
settings_fields( 'Wp Meta SEO' );
|
1 |
+
<h2 id="wpio_settings"><?php _e('Wp Meta SEO Settings','wpms') ?></h2>
|
2 |
<form method="post" action="options.php">
|
3 |
<?php
|
4 |
settings_fields( 'Wp Meta SEO' );
|
js/autosize.js
ADDED
@@ -0,0 +1,245 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*!
|
2 |
+
Autosize 3.0.13
|
3 |
+
license: MIT
|
4 |
+
http://www.jacklmoore.com/autosize
|
5 |
+
*/
|
6 |
+
(function (global, factory) {
|
7 |
+
if (typeof define === 'function' && define.amd) {
|
8 |
+
define(['exports', 'module'], factory);
|
9 |
+
} else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
|
10 |
+
factory(exports, module);
|
11 |
+
} else {
|
12 |
+
var mod = {
|
13 |
+
exports: {}
|
14 |
+
};
|
15 |
+
factory(mod.exports, mod);
|
16 |
+
global.autosize = mod.exports;
|
17 |
+
}
|
18 |
+
})(this, function (exports, module) {
|
19 |
+
'use strict';
|
20 |
+
|
21 |
+
var set = typeof Set === 'function' ? new Set() : (function () {
|
22 |
+
var list = [];
|
23 |
+
|
24 |
+
return {
|
25 |
+
has: function has(key) {
|
26 |
+
return Boolean(list.indexOf(key) > -1);
|
27 |
+
},
|
28 |
+
add: function add(key) {
|
29 |
+
list.push(key);
|
30 |
+
},
|
31 |
+
'delete': function _delete(key) {
|
32 |
+
list.splice(list.indexOf(key), 1);
|
33 |
+
}};
|
34 |
+
})();
|
35 |
+
|
36 |
+
function assign(ta) {
|
37 |
+
var _ref = arguments[1] === undefined ? {} : arguments[1];
|
38 |
+
|
39 |
+
var _ref$setOverflowX = _ref.setOverflowX;
|
40 |
+
var setOverflowX = _ref$setOverflowX === undefined ? true : _ref$setOverflowX;
|
41 |
+
var _ref$setOverflowY = _ref.setOverflowY;
|
42 |
+
var setOverflowY = _ref$setOverflowY === undefined ? true : _ref$setOverflowY;
|
43 |
+
|
44 |
+
if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || set.has(ta))
|
45 |
+
return;
|
46 |
+
|
47 |
+
var heightOffset = null;
|
48 |
+
var overflowY = null;
|
49 |
+
var clientWidth = ta.clientWidth;
|
50 |
+
|
51 |
+
function init() {
|
52 |
+
var style = window.getComputedStyle(ta, null);
|
53 |
+
|
54 |
+
overflowY = style.overflowY;
|
55 |
+
|
56 |
+
if (style.resize === 'vertical') {
|
57 |
+
ta.style.resize = 'none';
|
58 |
+
} else if (style.resize === 'both') {
|
59 |
+
ta.style.resize = 'horizontal';
|
60 |
+
}
|
61 |
+
|
62 |
+
if (style.boxSizing === 'content-box') {
|
63 |
+
heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
|
64 |
+
} else {
|
65 |
+
heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
|
66 |
+
}
|
67 |
+
// Fix when a textarea is not on document body and heightOffset is Not a Number
|
68 |
+
if (isNaN(heightOffset)) {
|
69 |
+
heightOffset = 0;
|
70 |
+
}
|
71 |
+
|
72 |
+
update();
|
73 |
+
}
|
74 |
+
|
75 |
+
function changeOverflow(value) {
|
76 |
+
{
|
77 |
+
// Chrome/Safari-specific fix:
|
78 |
+
// When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
|
79 |
+
// made available by removing the scrollbar. The following forces the necessary text reflow.
|
80 |
+
var width = ta.style.width;
|
81 |
+
ta.style.width = '0px';
|
82 |
+
// Force reflow:
|
83 |
+
/* jshint ignore:start */
|
84 |
+
ta.offsetWidth;
|
85 |
+
/* jshint ignore:end */
|
86 |
+
ta.style.width = width;
|
87 |
+
}
|
88 |
+
|
89 |
+
overflowY = value;
|
90 |
+
|
91 |
+
if (setOverflowY) {
|
92 |
+
ta.style.overflowY = value;
|
93 |
+
}
|
94 |
+
|
95 |
+
resize();
|
96 |
+
}
|
97 |
+
|
98 |
+
function resize() {
|
99 |
+
var htmlTop = window.pageYOffset;
|
100 |
+
var bodyTop = document.body.scrollTop;
|
101 |
+
var originalHeight = ta.style.height;
|
102 |
+
|
103 |
+
ta.style.height = 'auto';
|
104 |
+
|
105 |
+
var endHeight = ta.scrollHeight + heightOffset;
|
106 |
+
|
107 |
+
if (ta.scrollHeight === 0) {
|
108 |
+
// If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
|
109 |
+
ta.style.height = originalHeight;
|
110 |
+
return;
|
111 |
+
}
|
112 |
+
|
113 |
+
ta.style.height = endHeight + 'px';
|
114 |
+
|
115 |
+
// used to check if an update is actually necessary on window.resize
|
116 |
+
clientWidth = ta.clientWidth;
|
117 |
+
|
118 |
+
// prevents scroll-position jumping
|
119 |
+
document.documentElement.scrollTop = htmlTop;
|
120 |
+
document.body.scrollTop = bodyTop;
|
121 |
+
}
|
122 |
+
|
123 |
+
function update() {
|
124 |
+
var startHeight = ta.style.height;
|
125 |
+
|
126 |
+
resize();
|
127 |
+
|
128 |
+
var style = window.getComputedStyle(ta, null);
|
129 |
+
|
130 |
+
if (style.height !== ta.style.height) {
|
131 |
+
if (overflowY !== 'visible') {
|
132 |
+
changeOverflow('visible');
|
133 |
+
}
|
134 |
+
} else {
|
135 |
+
if (overflowY !== 'hidden') {
|
136 |
+
changeOverflow('hidden');
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
if (startHeight !== ta.style.height) {
|
141 |
+
var evt = document.createEvent('Event');
|
142 |
+
evt.initEvent('autosize:resized', true, false);
|
143 |
+
ta.dispatchEvent(evt);
|
144 |
+
}
|
145 |
+
}
|
146 |
+
|
147 |
+
var pageResize = function pageResize() {
|
148 |
+
if (ta.clientWidth !== clientWidth) {
|
149 |
+
update();
|
150 |
+
}
|
151 |
+
};
|
152 |
+
|
153 |
+
var destroy = (function (style) {
|
154 |
+
window.removeEventListener('resize', pageResize);
|
155 |
+
ta.removeEventListener('input', update);
|
156 |
+
ta.removeEventListener('keyup', update);
|
157 |
+
ta.removeEventListener('autosize:destroy', destroy);
|
158 |
+
set['delete'](ta);
|
159 |
+
|
160 |
+
Object.keys(style).forEach(function (key) {
|
161 |
+
ta.style[key] = style[key];
|
162 |
+
});
|
163 |
+
}).bind(ta, {
|
164 |
+
height: ta.style.height,
|
165 |
+
resize: ta.style.resize,
|
166 |
+
overflowY: ta.style.overflowY,
|
167 |
+
overflowX: ta.style.overflowX,
|
168 |
+
wordWrap: ta.style.wordWrap});
|
169 |
+
|
170 |
+
ta.addEventListener('autosize:destroy', destroy);
|
171 |
+
|
172 |
+
// IE9 does not fire onpropertychange or oninput for deletions,
|
173 |
+
// so binding to onkeyup to catch most of those events.
|
174 |
+
// There is no way that I know of to detect something like 'cut' in IE9.
|
175 |
+
if ('onpropertychange' in ta && 'oninput' in ta) {
|
176 |
+
ta.addEventListener('keyup', update);
|
177 |
+
}
|
178 |
+
|
179 |
+
window.addEventListener('resize', pageResize);
|
180 |
+
ta.addEventListener('input', update);
|
181 |
+
ta.addEventListener('autosize:update', update);
|
182 |
+
set.add(ta);
|
183 |
+
|
184 |
+
if (setOverflowX) {
|
185 |
+
ta.style.overflowX = 'hidden';
|
186 |
+
ta.style.wordWrap = 'break-word';
|
187 |
+
}
|
188 |
+
|
189 |
+
init();
|
190 |
+
}
|
191 |
+
|
192 |
+
function destroy(ta) {
|
193 |
+
if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA'))
|
194 |
+
return;
|
195 |
+
var evt = document.createEvent('Event');
|
196 |
+
evt.initEvent('autosize:destroy', true, false);
|
197 |
+
ta.dispatchEvent(evt);
|
198 |
+
}
|
199 |
+
|
200 |
+
function update(ta) {
|
201 |
+
if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA'))
|
202 |
+
return;
|
203 |
+
var evt = document.createEvent('Event');
|
204 |
+
evt.initEvent('autosize:update', true, false);
|
205 |
+
ta.dispatchEvent(evt);
|
206 |
+
}
|
207 |
+
|
208 |
+
var autosize = null;
|
209 |
+
|
210 |
+
// Do nothing in Node.js environment and IE8 (or lower)
|
211 |
+
if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
|
212 |
+
autosize = function (el) {
|
213 |
+
return el;
|
214 |
+
};
|
215 |
+
autosize.destroy = function (el) {
|
216 |
+
return el;
|
217 |
+
};
|
218 |
+
autosize.update = function (el) {
|
219 |
+
return el;
|
220 |
+
};
|
221 |
+
} else {
|
222 |
+
autosize = function (el, options) {
|
223 |
+
if (el) {
|
224 |
+
Array.prototype.forEach.call(el.length ? el : [el], function (x) {
|
225 |
+
return assign(x, options);
|
226 |
+
});
|
227 |
+
}
|
228 |
+
return el;
|
229 |
+
};
|
230 |
+
autosize.destroy = function (el) {
|
231 |
+
if (el) {
|
232 |
+
Array.prototype.forEach.call(el.length ? el : [el], destroy);
|
233 |
+
}
|
234 |
+
return el;
|
235 |
+
};
|
236 |
+
autosize.update = function (el) {
|
237 |
+
if (el) {
|
238 |
+
Array.prototype.forEach.call(el.length ? el : [el], update);
|
239 |
+
}
|
240 |
+
return el;
|
241 |
+
};
|
242 |
+
}
|
243 |
+
|
244 |
+
module.exports = autosize;
|
245 |
+
});
|
languages/wpms-en_GB.mo
ADDED
Binary file
|
languages/wpms-en_GB.po
ADDED
@@ -0,0 +1,386 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: \n"
|
4 |
+
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"Language: en_GB\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"X-Generator: Poedit 1.8.5\n"
|
13 |
+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
+
|
15 |
+
msgid "Twitter username (without @)"
|
16 |
+
msgstr "Twitter username (without @)"
|
17 |
+
|
18 |
+
msgid "Facebook profile URL"
|
19 |
+
msgstr "Facebook profile URL"
|
20 |
+
|
21 |
+
msgid ""
|
22 |
+
"2 plugins that are doing almost the same thing detected: disable AIO SEO or "
|
23 |
+
"Yoast SEO to avoid conflict."
|
24 |
+
msgstr ""
|
25 |
+
"2 plugins that are doing almost the same thing detected: disable AIO SEO or "
|
26 |
+
"Yoast SEO to avoid conflict."
|
27 |
+
|
28 |
+
msgid ""
|
29 |
+
"We have found that you’re using All In One SEO plugin, WP Meta SEO can "
|
30 |
+
"import the meta from this plugin, %s"
|
31 |
+
msgstr ""
|
32 |
+
"We have found that you’re using All In One SEO plugin, WP Meta SEO can "
|
33 |
+
"import the meta from this plugin, %s"
|
34 |
+
|
35 |
+
msgid ""
|
36 |
+
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
|
37 |
+
"meta from this plugin, %s"
|
38 |
+
msgstr ""
|
39 |
+
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
|
40 |
+
"meta from this plugin, %s"
|
41 |
+
|
42 |
+
msgid "Results preview"
|
43 |
+
msgstr "Results preview"
|
44 |
+
|
45 |
+
msgid ""
|
46 |
+
"This is a preview of what your content will looks like in search engine "
|
47 |
+
"results: title, description and URL"
|
48 |
+
msgstr ""
|
49 |
+
"This is a preview of what your content will looks like in search engine "
|
50 |
+
"results: title, description and URL"
|
51 |
+
|
52 |
+
msgid "Search engine title"
|
53 |
+
msgstr "Search engine title"
|
54 |
+
|
55 |
+
msgid ""
|
56 |
+
"This is the title of your content that may be displayed in search engine "
|
57 |
+
"results (meta title). By default it’s the content title (page title, post "
|
58 |
+
"title…). 69 characters max allowed."
|
59 |
+
msgstr ""
|
60 |
+
"This is the title of your content that may be displayed in search engine "
|
61 |
+
"results (meta title). By default it’s the content title (page title, post "
|
62 |
+
"title…). 69 characters max allowed."
|
63 |
+
|
64 |
+
msgid "Search engine description"
|
65 |
+
msgstr "Search engine description"
|
66 |
+
|
67 |
+
msgid ""
|
68 |
+
"The description of your content that may be displayed in search engine "
|
69 |
+
"results aka meta description. By default search engine take an excerpt from "
|
70 |
+
"your content (depending on the search query). 156 characters max allowed."
|
71 |
+
msgstr ""
|
72 |
+
"The description of your content that may be displayed in search engine "
|
73 |
+
"results aka meta description. By default search engine take an excerpt from "
|
74 |
+
"your content (depending on the search query). 156 characters max allowed."
|
75 |
+
|
76 |
+
msgid "Facebook Title"
|
77 |
+
msgstr "Facebook Title"
|
78 |
+
|
79 |
+
msgid ""
|
80 |
+
"Custom title to display when sharing this content on facebook, content title "
|
81 |
+
"override"
|
82 |
+
msgstr ""
|
83 |
+
"Custom title to display when sharing this content on facebook, content title "
|
84 |
+
"override"
|
85 |
+
|
86 |
+
msgid "Facebook Description"
|
87 |
+
msgstr "Facebook Description"
|
88 |
+
|
89 |
+
msgid ""
|
90 |
+
"Custom description to display when sharing this content on facebook, content "
|
91 |
+
"description override"
|
92 |
+
msgstr ""
|
93 |
+
"Custom description to display when sharing this content on facebook, content "
|
94 |
+
"description override"
|
95 |
+
|
96 |
+
msgid "Facebook Image"
|
97 |
+
msgstr "Facebook Image"
|
98 |
+
|
99 |
+
msgid ""
|
100 |
+
"Custom image to display when sharing this content on facebook, content "
|
101 |
+
"description override, recommended size is 1200px x 630px"
|
102 |
+
msgstr ""
|
103 |
+
"Custom image to display when sharing this content on facebook, content "
|
104 |
+
"description override, recommended size is 1200px x 630px"
|
105 |
+
|
106 |
+
msgid "Twitter Title"
|
107 |
+
msgstr "Twitter Title"
|
108 |
+
|
109 |
+
msgid ""
|
110 |
+
"Custom title to display when sharing this content on twitter, content title "
|
111 |
+
"override"
|
112 |
+
msgstr ""
|
113 |
+
"Custom title to display when sharing this content on twitter, content title "
|
114 |
+
"override"
|
115 |
+
|
116 |
+
msgid "Twitter Description"
|
117 |
+
msgstr "Twitter Description"
|
118 |
+
|
119 |
+
msgid ""
|
120 |
+
"Custom description to display when sharing this content on twitter, content "
|
121 |
+
"description override"
|
122 |
+
msgstr ""
|
123 |
+
"Custom description to display when sharing this content on twitter, content "
|
124 |
+
"description override"
|
125 |
+
|
126 |
+
msgid "Twitter Image"
|
127 |
+
msgstr "Twitter Image"
|
128 |
+
|
129 |
+
msgid ""
|
130 |
+
"Custom image to display when sharing this content on facebook, content "
|
131 |
+
"description override, recommended min size 440px X 220px"
|
132 |
+
msgstr ""
|
133 |
+
"Custom image to display when sharing this content on facebook, content "
|
134 |
+
"description override, recommended min size 440px X 220px"
|
135 |
+
|
136 |
+
msgid "Use Image"
|
137 |
+
msgstr "Use Image"
|
138 |
+
|
139 |
+
msgid " (because of date display)"
|
140 |
+
msgstr " (because of date display)"
|
141 |
+
|
142 |
+
msgid "(no parent)"
|
143 |
+
msgstr "(no parent)"
|
144 |
+
|
145 |
+
msgid "General"
|
146 |
+
msgstr "General"
|
147 |
+
|
148 |
+
msgid "Social"
|
149 |
+
msgstr "Social"
|
150 |
+
|
151 |
+
msgid "Page title word in content heading"
|
152 |
+
msgstr "Page title word in content heading"
|
153 |
+
|
154 |
+
msgid "Page title word in content"
|
155 |
+
msgstr "Page title word in content"
|
156 |
+
|
157 |
+
msgid "Page url matches with page title"
|
158 |
+
msgstr "Page url matches with page title"
|
159 |
+
|
160 |
+
msgid "Meta title filled"
|
161 |
+
msgstr "Meta title filled"
|
162 |
+
|
163 |
+
msgid "Meta description filled"
|
164 |
+
msgstr "Meta description filled"
|
165 |
+
|
166 |
+
msgid "Wrong image resize"
|
167 |
+
msgstr "Wrong image resize"
|
168 |
+
|
169 |
+
msgid "Image have meta title or alt"
|
170 |
+
msgstr "Image have meta title or alt"
|
171 |
+
|
172 |
+
msgid "SEO Page optimization"
|
173 |
+
msgstr "SEO Page optimization"
|
174 |
+
|
175 |
+
msgid "Social for search engine"
|
176 |
+
msgstr "Social for search engine"
|
177 |
+
|
178 |
+
msgid "Reload analysis"
|
179 |
+
msgstr "Reload analysis"
|
180 |
+
|
181 |
+
msgid "Filter by date"
|
182 |
+
msgstr "Filter by date"
|
183 |
+
|
184 |
+
msgid "All dates"
|
185 |
+
msgstr "All dates"
|
186 |
+
|
187 |
+
msgid "ID"
|
188 |
+
msgstr "ID"
|
189 |
+
|
190 |
+
msgid "Image"
|
191 |
+
msgstr "Image"
|
192 |
+
|
193 |
+
msgid "Name"
|
194 |
+
msgstr "Name"
|
195 |
+
|
196 |
+
msgid "Optimization Info"
|
197 |
+
msgstr "Optimization Info"
|
198 |
+
|
199 |
+
msgid "Alternative text"
|
200 |
+
msgstr "Alternative text"
|
201 |
+
|
202 |
+
msgid "Title"
|
203 |
+
msgstr "Title"
|
204 |
+
|
205 |
+
msgid "Legend"
|
206 |
+
msgstr "Legend"
|
207 |
+
|
208 |
+
msgid "Description"
|
209 |
+
msgstr "Description"
|
210 |
+
|
211 |
+
msgid "Select All"
|
212 |
+
msgstr "Select All"
|
213 |
+
|
214 |
+
msgid "Filter"
|
215 |
+
msgstr "Filter"
|
216 |
+
|
217 |
+
msgid ""
|
218 |
+
"We didn't find any image which needed to be updated regarding meta "
|
219 |
+
"information"
|
220 |
+
msgstr ""
|
221 |
+
"We didn't find any image which needed to be updated regarding meta "
|
222 |
+
"information"
|
223 |
+
|
224 |
+
msgid "This image has still not been inserted in any post!"
|
225 |
+
msgstr "This image has still not been inserted in any post!"
|
226 |
+
|
227 |
+
msgid "We found %s which needed to optimize"
|
228 |
+
msgstr "We found %s which needed to optimize"
|
229 |
+
|
230 |
+
msgid "Replace?"
|
231 |
+
msgstr "Replace?"
|
232 |
+
|
233 |
+
msgid "Replace all"
|
234 |
+
msgstr "Replace all"
|
235 |
+
|
236 |
+
msgid "The post doesn't exist, please select another one"
|
237 |
+
msgstr "The post doesn't exist, please select another one"
|
238 |
+
|
239 |
+
msgid "There is a problem when update image name"
|
240 |
+
msgstr "There is a problem when update image name"
|
241 |
+
|
242 |
+
msgid "Image name changed"
|
243 |
+
msgstr "Image name changed"
|
244 |
+
|
245 |
+
msgid "Name already exist"
|
246 |
+
msgstr "Name already exist"
|
247 |
+
|
248 |
+
msgid "File doesn't existed"
|
249 |
+
msgstr "File doesn't existed"
|
250 |
+
|
251 |
+
msgid "Should not be empty"
|
252 |
+
msgstr "Should not be empty"
|
253 |
+
|
254 |
+
msgid "There is a problem during image meta update"
|
255 |
+
msgstr "There is a problem during image meta update"
|
256 |
+
|
257 |
+
msgid "This content has been deleted, please check again!"
|
258 |
+
msgstr "This content has been deleted, please check again!"
|
259 |
+
|
260 |
+
msgid "The post haven't been updated, please check again!"
|
261 |
+
msgstr "The post haven't been updated, please check again!"
|
262 |
+
|
263 |
+
msgid "This image has been removed from the post, please check again!"
|
264 |
+
msgstr "This image has been removed from the post, please check again!"
|
265 |
+
|
266 |
+
msgid "Content of the post is empty, please check again"
|
267 |
+
msgstr "Content of the post is empty, please check again"
|
268 |
+
|
269 |
+
msgid "We can't get traffic rank from Alexa for this website"
|
270 |
+
msgstr "We can't get traffic rank from Alexa for this website"
|
271 |
+
|
272 |
+
msgid "Meta Title"
|
273 |
+
msgstr "Meta Title"
|
274 |
+
|
275 |
+
msgid "Meta Description"
|
276 |
+
msgstr "Meta Description"
|
277 |
+
|
278 |
+
msgid "(no title)"
|
279 |
+
msgstr "(no title)"
|
280 |
+
|
281 |
+
msgid "Edit this item"
|
282 |
+
msgstr "Edit this item"
|
283 |
+
|
284 |
+
msgid "Edit"
|
285 |
+
msgstr "Edit"
|
286 |
+
|
287 |
+
msgid "View"
|
288 |
+
msgstr "View"
|
289 |
+
|
290 |
+
msgid "Preview"
|
291 |
+
msgstr "Preview"
|
292 |
+
|
293 |
+
msgid ""
|
294 |
+
"This is a preview of what this content might looks like in Google's search "
|
295 |
+
"results."
|
296 |
+
msgstr ""
|
297 |
+
"Prévisualisation de la manière dont le contenu sera affiché dans les "
|
298 |
+
"résultats de recherche"
|
299 |
+
|
300 |
+
msgid "Snippet Preview"
|
301 |
+
msgstr "Snippet Preview"
|
302 |
+
|
303 |
+
msgid "Facebook profile URL "
|
304 |
+
msgstr "Facebook profile URL "
|
305 |
+
|
306 |
+
msgid "Twitter Username "
|
307 |
+
msgstr "Twitter Username "
|
308 |
+
|
309 |
+
msgid "Meta block edition "
|
310 |
+
msgstr "Meta block edition "
|
311 |
+
|
312 |
+
msgid "Modification was saved"
|
313 |
+
msgstr "Modification was saved"
|
314 |
+
|
315 |
+
msgid "Meta title was not saved"
|
316 |
+
msgstr "Meta title was not saved"
|
317 |
+
|
318 |
+
msgid "Meta description was not saved"
|
319 |
+
msgstr "Meta description was not saved"
|
320 |
+
|
321 |
+
msgid "Dashboard"
|
322 |
+
msgstr "Dashboard"
|
323 |
+
|
324 |
+
msgid "WP Meta SEO"
|
325 |
+
msgstr "WP Meta SEO"
|
326 |
+
|
327 |
+
msgid "Content meta"
|
328 |
+
msgstr "Content meta"
|
329 |
+
|
330 |
+
msgid "Image meta"
|
331 |
+
msgstr "Image meta"
|
332 |
+
|
333 |
+
msgid "Settings"
|
334 |
+
msgstr "Settings"
|
335 |
+
|
336 |
+
msgid "Show/hide meta block edition below content"
|
337 |
+
msgstr "Show/hide meta block edition below content"
|
338 |
+
|
339 |
+
msgid "This post is not existed or deleted, please select another one"
|
340 |
+
msgstr "This post is not existed or deleted, please select another one"
|
341 |
+
|
342 |
+
msgid "Well! This image is so good now."
|
343 |
+
msgstr "Well! This image is so good now."
|
344 |
+
|
345 |
+
msgid "Oops! An error occured when updating the post, please try again"
|
346 |
+
msgstr "Oops! An error occured when updating the post, please try again"
|
347 |
+
|
348 |
+
msgid "Resize image"
|
349 |
+
msgstr "Resize image"
|
350 |
+
|
351 |
+
msgid "Image sizes are good!"
|
352 |
+
msgstr "Image sizes are good!"
|
353 |
+
|
354 |
+
msgid "Fix meta"
|
355 |
+
msgstr "Fix meta"
|
356 |
+
|
357 |
+
msgid "Edit meta"
|
358 |
+
msgstr "Edit meta"
|
359 |
+
|
360 |
+
msgid "N/A"
|
361 |
+
msgstr "N/A"
|
362 |
+
|
363 |
+
msgid "Poor"
|
364 |
+
msgstr "Poor"
|
365 |
+
|
366 |
+
msgid "OK"
|
367 |
+
msgstr "OK"
|
368 |
+
|
369 |
+
msgid "Good"
|
370 |
+
msgstr "Good"
|
371 |
+
|
372 |
+
msgid "Bad"
|
373 |
+
msgstr "Bad"
|
374 |
+
|
375 |
+
msgid "Homepage meta title "
|
376 |
+
msgstr "Homepage meta title "
|
377 |
+
|
378 |
+
msgid "Homepage meta description "
|
379 |
+
msgstr "Homepage meta description "
|
380 |
+
|
381 |
+
#~ msgid ""
|
382 |
+
#~ " This is a rendering of what this content might looks like in Google's "
|
383 |
+
#~ "search results."
|
384 |
+
#~ msgstr ""
|
385 |
+
#~ " This is a rendering of what this content might looks like in Google's "
|
386 |
+
#~ "search results."
|
languages/wpms-fr_FR.mo
ADDED
Binary file
|
languages/wpms-fr_FR.po
ADDED
@@ -0,0 +1,318 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
msgid ""
|
2 |
+
msgstr ""
|
3 |
+
"Project-Id-Version: WPMS 1.2\n"
|
4 |
+
"POT-Creation-Date: \n"
|
5 |
+
"PO-Revision-Date: \n"
|
6 |
+
"Last-Translator: \n"
|
7 |
+
"Language-Team: \n"
|
8 |
+
"MIME-Version: 1.0\n"
|
9 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
+
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"Language: fr_FR\n"
|
12 |
+
"X-Generator: Poedit 1.8.5\n"
|
13 |
+
|
14 |
+
msgid "Twitter username (without @)"
|
15 |
+
msgstr "ID Twitter (sans le @)"
|
16 |
+
|
17 |
+
msgid "Facebook profile URL"
|
18 |
+
msgstr "Adresse URL du profil Facebook"
|
19 |
+
|
20 |
+
msgid "Be careful you installed 2 extensions doing almost the same thing, please deactivate AIOSEO or Yoast in order to work more clearly!"
|
21 |
+
msgstr "Attention plusieurs plugins sont susceptibles d'effectuer les même tâches, essayez de désactiver AIO SEO ou Yoast SEO"
|
22 |
+
|
23 |
+
msgid "We have found that you’re using All In One Pack Plugin, WP Meta SEO can import the meta from this plugin, %s"
|
24 |
+
msgstr "Vous utilisez actuellement All In One SEO Plugin, WP Meta SEO put importer les données de ce plugin pour vous, %s"
|
25 |
+
|
26 |
+
msgid "We have found that you’re using Yoast SEO Plugin, WP Meta SEO can import the meta from this plugin, %s"
|
27 |
+
msgstr "Vous utilisez actuellement Yoast SEO Plugin, WP Meta SEO put importer les données de ce plugin pour vous, %s"
|
28 |
+
|
29 |
+
msgid "Results preview"
|
30 |
+
msgstr "Prévisualisation"
|
31 |
+
|
32 |
+
msgid "This is a preview of what your content will looks like in search engine results: title, description and URL"
|
33 |
+
msgstr "Prévisualisation des résultats de recherche, titre, description et URL"
|
34 |
+
|
35 |
+
msgid "Search engine title"
|
36 |
+
msgstr "Titre"
|
37 |
+
|
38 |
+
msgid "This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed."
|
39 |
+
msgstr "Ceci est le titre de votre contenu qui pourra être reprit par les moteurs de recherche (meta title). Par défaut il s'agit du titre du contenu. 69 caractères autorisés."
|
40 |
+
|
41 |
+
msgid "Search engine description"
|
42 |
+
msgstr "Description"
|
43 |
+
|
44 |
+
msgid "The description of your content that may be displayed in search engine results aka meta description. By default search engine take an excerpt from your content (depending on the search query). 156 characters max allowed."
|
45 |
+
msgstr "Ceci est la description de votre contenu qui pourra être reprit par les moteurs de recherche (meta description). Par défaut il s'agit d'un extrait de votre contenu.156 caractères autorisés."
|
46 |
+
|
47 |
+
msgid "Facebook Title"
|
48 |
+
msgstr "Titre facebook"
|
49 |
+
|
50 |
+
msgid "Custom title to display when sharing this content on facebook, content title override"
|
51 |
+
msgstr "Titre customisé lors du partage de ce contenu sur Facebook"
|
52 |
+
|
53 |
+
msgid "Facebook Description"
|
54 |
+
msgstr "Description Facebook"
|
55 |
+
|
56 |
+
msgid "Custom description to display when sharing this content on facebook, content description override"
|
57 |
+
msgstr "Description customisé lors du partage de ce contenu sur Facebook"
|
58 |
+
|
59 |
+
msgid "Facebook Image"
|
60 |
+
msgstr "Image Facebook"
|
61 |
+
|
62 |
+
msgid "Custom image to display when sharing this content on facebook, content description override, recommended size is 1200px x 630px"
|
63 |
+
msgstr "Image customisé lors du partage de ce contenu sur Facebook, taille recommandée 1200px x 630px"
|
64 |
+
|
65 |
+
msgid "Twitter Title"
|
66 |
+
msgstr "Titre Twitter"
|
67 |
+
|
68 |
+
msgid "Custom title to display when sharing this content on twitter, content title override"
|
69 |
+
msgstr "Titre customisé lors du partage de ce contenu sur Twitter"
|
70 |
+
|
71 |
+
msgid "Twitter Description"
|
72 |
+
msgstr "Description Twitter"
|
73 |
+
|
74 |
+
msgid "Custom description to display when sharing this content on twitter, content description override"
|
75 |
+
msgstr "Description customisé lors du partage de ce contenu sur Twitter"
|
76 |
+
|
77 |
+
msgid "Twitter Image"
|
78 |
+
msgstr "Image Twitter"
|
79 |
+
|
80 |
+
msgid "Custom image to display when sharing this content on facebook, content description override, recommended min size 440px X 220px"
|
81 |
+
msgstr "Image customisé lors du partage de ce contenu sur Twitter, taille recommandée 440px x 220px"
|
82 |
+
|
83 |
+
msgid "Use Image"
|
84 |
+
msgstr "Utiliser image"
|
85 |
+
|
86 |
+
msgid " (because of date display)"
|
87 |
+
msgstr " (because of date display)"
|
88 |
+
|
89 |
+
msgid "(no parent)"
|
90 |
+
msgstr "(no parent)"
|
91 |
+
|
92 |
+
msgid "General"
|
93 |
+
msgstr "General"
|
94 |
+
|
95 |
+
msgid "Social"
|
96 |
+
msgstr "Social"
|
97 |
+
|
98 |
+
msgid "Page title word in content heading"
|
99 |
+
msgstr "Mot du titre dans un titre du contenu"
|
100 |
+
|
101 |
+
msgid "Page title word in content"
|
102 |
+
msgstr "Mot du titre dans le contenu"
|
103 |
+
|
104 |
+
msgid "Page url matches with page title"
|
105 |
+
msgstr "URL de page correspond au titre de page"
|
106 |
+
|
107 |
+
msgid "Meta title filled"
|
108 |
+
msgstr "Meta title remplie"
|
109 |
+
|
110 |
+
msgid "Meta description filled"
|
111 |
+
msgstr "Meta description remplie"
|
112 |
+
|
113 |
+
msgid "Wrong image resize"
|
114 |
+
msgstr "Check taille d'image"
|
115 |
+
|
116 |
+
msgid "Image have meta title or alt"
|
117 |
+
msgstr "Les images ont des meta title ou alt"
|
118 |
+
|
119 |
+
msgid "SEO Page optimization"
|
120 |
+
msgstr "Optimisation moteur de recherche"
|
121 |
+
|
122 |
+
msgid "Social for search engine"
|
123 |
+
msgstr "Affichage partage réseaux sociaux"
|
124 |
+
|
125 |
+
msgid "Reload analysis"
|
126 |
+
msgstr "Relancer l'analyse"
|
127 |
+
|
128 |
+
msgid "Filter by date"
|
129 |
+
msgstr "Filtrer par date"
|
130 |
+
|
131 |
+
msgid "All dates"
|
132 |
+
msgstr "Toutes les dates"
|
133 |
+
|
134 |
+
msgid "ID"
|
135 |
+
msgstr "ID"
|
136 |
+
|
137 |
+
msgid "Image"
|
138 |
+
msgstr "Image"
|
139 |
+
|
140 |
+
msgid "Name"
|
141 |
+
msgstr "Nom"
|
142 |
+
|
143 |
+
msgid "Optimization Info"
|
144 |
+
msgstr "Info optimisation"
|
145 |
+
|
146 |
+
msgid "Alternative text"
|
147 |
+
msgstr "texte alternatif"
|
148 |
+
|
149 |
+
msgid "Title"
|
150 |
+
msgstr "Titre"
|
151 |
+
|
152 |
+
msgid "Legend"
|
153 |
+
msgstr "Légende"
|
154 |
+
|
155 |
+
msgid "Description"
|
156 |
+
msgstr "Description"
|
157 |
+
|
158 |
+
msgid "Select All"
|
159 |
+
msgstr "Tout selectionner"
|
160 |
+
|
161 |
+
msgid "Filter"
|
162 |
+
msgstr "Filtrer"
|
163 |
+
|
164 |
+
msgid "We found 0 image which needed to add or change meta information"
|
165 |
+
msgstr "Nous n'avons pas trouvé d'images qui nécessite l'ajout ou l'édition des meta"
|
166 |
+
|
167 |
+
msgid "This image has still not been inserted in any post!"
|
168 |
+
msgstr "Cette image n'a été ajouté dans aucun de vos contenus"
|
169 |
+
|
170 |
+
msgid "We found %s which needed to optimize"
|
171 |
+
msgstr "Nous avons trouvé %s qui nécessite une optimisation"
|
172 |
+
|
173 |
+
msgid "Replace?"
|
174 |
+
msgstr "Remplacer ?"
|
175 |
+
|
176 |
+
msgid "Replace All"
|
177 |
+
msgstr "Tout remplacer"
|
178 |
+
|
179 |
+
msgid "The post is not existed, please choose one another!"
|
180 |
+
msgstr "Ce post n'existe pas, merci d'un sélectionner un autre"
|
181 |
+
|
182 |
+
msgid "There is a problem when update image name"
|
183 |
+
msgstr "Erreur lors du changement de nom d'image"
|
184 |
+
|
185 |
+
msgid "Image name was changed"
|
186 |
+
msgstr "Nom d'image changé"
|
187 |
+
|
188 |
+
msgid "Name is existing"
|
189 |
+
msgstr "Ce nom existe déjà"
|
190 |
+
|
191 |
+
msgid "File is not existed"
|
192 |
+
msgstr "Ce fichier n'existe plus"
|
193 |
+
|
194 |
+
msgid "Should not be empty"
|
195 |
+
msgstr "Ne peut être vide"
|
196 |
+
|
197 |
+
msgid "There is a problem when update image meta!"
|
198 |
+
msgstr "Erreur lors de la mise à jour des meta"
|
199 |
+
|
200 |
+
msgid "The post has been deleted before, please check again!"
|
201 |
+
msgstr "Ce contenu a été supprimé, merci de recharger la page"
|
202 |
+
|
203 |
+
msgid "The post haven't been updated, please check again!"
|
204 |
+
msgstr "Ce post n'a pas été mis à jour, merci de revérifier"
|
205 |
+
|
206 |
+
msgid "This image has been removed from the post, please check again!"
|
207 |
+
msgstr "Cette image a été supprimée du contenu"
|
208 |
+
|
209 |
+
msgid "Content of the post is empty, please check again"
|
210 |
+
msgstr "Le contenu est vide, merci de revérifier"
|
211 |
+
|
212 |
+
msgid "We can't get rank of this site from Alexa.com!"
|
213 |
+
msgstr "Impossible de déterminer le Traffic Rank Alexa pour ce site"
|
214 |
+
|
215 |
+
msgid "Meta Title"
|
216 |
+
msgstr "Meta titre"
|
217 |
+
|
218 |
+
msgid "Meta Description"
|
219 |
+
msgstr "Meta description"
|
220 |
+
|
221 |
+
msgid "(no title)"
|
222 |
+
msgstr "(no title)"
|
223 |
+
|
224 |
+
msgid "Edit this item"
|
225 |
+
msgstr "Editer cet item"
|
226 |
+
|
227 |
+
msgid "Edit"
|
228 |
+
msgstr "Editer"
|
229 |
+
|
230 |
+
msgid "View"
|
231 |
+
msgstr "Afficher"
|
232 |
+
|
233 |
+
msgid "Preview"
|
234 |
+
msgstr "Prévisualiser"
|
235 |
+
|
236 |
+
msgid " This is a rendering of what this post might look like in Google's search results."
|
237 |
+
msgstr "Prévisualisation des résultats de recherche Google"
|
238 |
+
|
239 |
+
msgid "Snippet Preview"
|
240 |
+
msgstr "Prévisualisation"
|
241 |
+
|
242 |
+
msgid "Facebook profile URL "
|
243 |
+
msgstr "Lien URL profil Facebook"
|
244 |
+
|
245 |
+
msgid "Twitter Username "
|
246 |
+
msgstr "Nom d'utilisateur Twitter"
|
247 |
+
|
248 |
+
msgid "Meta block edition "
|
249 |
+
msgstr "Meta édition"
|
250 |
+
|
251 |
+
msgid "Modification was saved"
|
252 |
+
msgstr "Modifications sauvegardées"
|
253 |
+
|
254 |
+
msgid "Meta title was not saved"
|
255 |
+
msgstr "Meta titre non sauvegardé"
|
256 |
+
|
257 |
+
msgid "Meta description was not saved"
|
258 |
+
msgstr "Meta description non sauvegardé"
|
259 |
+
|
260 |
+
msgid "Dashboard"
|
261 |
+
msgstr "Tableau de bors"
|
262 |
+
|
263 |
+
msgid "WP Meta SEO"
|
264 |
+
msgstr "WP Meta SEO"
|
265 |
+
|
266 |
+
msgid "Content meta"
|
267 |
+
msgstr "Contenu meta"
|
268 |
+
|
269 |
+
msgid "Image meta"
|
270 |
+
msgstr "Image meta"
|
271 |
+
|
272 |
+
msgid "Settings"
|
273 |
+
msgstr "Paramètres"
|
274 |
+
|
275 |
+
msgid "Show/hide meta block edition below content"
|
276 |
+
msgstr "Afficher/masquer le block meta sous les contenus"
|
277 |
+
|
278 |
+
msgid "This post is not existed or deleted, please choose one another!"
|
279 |
+
msgstr "Ce post n'existe plus, merci d'en sélectionner un autre"
|
280 |
+
|
281 |
+
msgid "Well! This image is so good now."
|
282 |
+
msgstr "Parfait! image optimisée"
|
283 |
+
|
284 |
+
msgid "Opps! An error occured when updating the post, please try again"
|
285 |
+
msgstr "Oups! une erreur est survenue lors de la mise à jour du contenu"
|
286 |
+
|
287 |
+
msgid "Resize image"
|
288 |
+
msgstr "Redimensionner image"
|
289 |
+
|
290 |
+
msgid "Image sizes are good!"
|
291 |
+
msgstr "Taille d'image OK!"
|
292 |
+
|
293 |
+
msgid "Fix meta"
|
294 |
+
msgstr "Améliorer meta"
|
295 |
+
|
296 |
+
msgid "Edit meta"
|
297 |
+
msgstr "Editer meta"
|
298 |
+
|
299 |
+
msgid "N/A"
|
300 |
+
msgstr "N/A"
|
301 |
+
|
302 |
+
msgid "Poor"
|
303 |
+
msgstr "Mauvaise qualité"
|
304 |
+
|
305 |
+
msgid "OK"
|
306 |
+
msgstr "OK"
|
307 |
+
|
308 |
+
msgid "Good"
|
309 |
+
msgstr "Bon"
|
310 |
+
|
311 |
+
msgid "Bad"
|
312 |
+
msgstr "Mauvais"
|
313 |
+
|
314 |
+
msgid "Homepage meta title "
|
315 |
+
msgstr "Meta info page d'accueil"
|
316 |
+
|
317 |
+
msgid "Homepage meta description "
|
318 |
+
msgstr "Description page d'accueil"
|
languages/wpms.pot
ADDED
@@ -0,0 +1,319 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#, fuzzy
|
2 |
+
msgid ""
|
3 |
+
msgstr ""
|
4 |
+
"Project-Id-Version: WP Meta SEO\n"
|
5 |
+
"POT-Creation-Date: \n"
|
6 |
+
"PO-Revision-Date: \n"
|
7 |
+
"Last-Translator: \n"
|
8 |
+
"Language-Team: \n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"Language: en_GB\n"
|
13 |
+
"X-Generator: Poedit 1.8.5\n"
|
14 |
+
|
15 |
+
msgid "Twitter username (without @)"
|
16 |
+
msgstr ""
|
17 |
+
|
18 |
+
msgid "Facebook profile URL"
|
19 |
+
msgstr ""
|
20 |
+
|
21 |
+
msgid "2 plugins that are doing almost the same thing detected: disable AIO SEO or Yoast SEO to avoid conflict."
|
22 |
+
msgstr ""
|
23 |
+
|
24 |
+
msgid "We have found that you’re using All In One SEO plugin, WP Meta SEO can import the meta from this plugin, %s"
|
25 |
+
msgstr ""
|
26 |
+
|
27 |
+
msgid "We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the meta from this plugin, %s"
|
28 |
+
msgstr ""
|
29 |
+
|
30 |
+
msgid "Results preview"
|
31 |
+
msgstr ""
|
32 |
+
|
33 |
+
msgid "This is a preview of what your content will looks like in search engine results: title, description and URL"
|
34 |
+
msgstr ""
|
35 |
+
|
36 |
+
msgid "Search engine title"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
msgid "This is the title of your content that may be displayed in search engine results (meta title). By default it’s the content title (page title, post title…). 69 characters max allowed."
|
40 |
+
msgstr ""
|
41 |
+
|
42 |
+
msgid "Search engine description"
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
msgid "The description of your content that may be displayed in search engine results aka meta description. By default search engine take an excerpt from your content (depending on the search query). 156 characters max allowed."
|
46 |
+
msgstr ""
|
47 |
+
|
48 |
+
msgid "Facebook Title"
|
49 |
+
msgstr ""
|
50 |
+
|
51 |
+
msgid "Custom title to display when sharing this content on facebook, content title override"
|
52 |
+
msgstr ""
|
53 |
+
|
54 |
+
msgid "Facebook Description"
|
55 |
+
msgstr ""
|
56 |
+
|
57 |
+
msgid "Custom description to display when sharing this content on facebook, content description override"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
msgid "Facebook Image"
|
61 |
+
msgstr ""
|
62 |
+
|
63 |
+
msgid "Custom image to display when sharing this content on facebook, content description override, recommended size is 1200px x 630px"
|
64 |
+
msgstr ""
|
65 |
+
|
66 |
+
msgid "Twitter Title"
|
67 |
+
msgstr ""
|
68 |
+
|
69 |
+
msgid "Custom title to display when sharing this content on twitter, content title override"
|
70 |
+
msgstr ""
|
71 |
+
|
72 |
+
msgid "Twitter Description"
|
73 |
+
msgstr ""
|
74 |
+
|
75 |
+
msgid "Custom description to display when sharing this content on twitter, content description override"
|
76 |
+
msgstr ""
|
77 |
+
|
78 |
+
msgid "Twitter Image"
|
79 |
+
msgstr ""
|
80 |
+
|
81 |
+
msgid "Custom image to display when sharing this content on facebook, content description override, recommended min size 440px X 220px"
|
82 |
+
msgstr ""
|
83 |
+
|
84 |
+
msgid "Use Image"
|
85 |
+
msgstr ""
|
86 |
+
|
87 |
+
msgid " (because of date display)"
|
88 |
+
msgstr ""
|
89 |
+
|
90 |
+
msgid "(no parent)"
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
msgid "General"
|
94 |
+
msgstr ""
|
95 |
+
|
96 |
+
msgid "Social"
|
97 |
+
msgstr ""
|
98 |
+
|
99 |
+
msgid "Page title word in content heading"
|
100 |
+
msgstr ""
|
101 |
+
|
102 |
+
msgid "Page title word in content"
|
103 |
+
msgstr ""
|
104 |
+
|
105 |
+
msgid "Page url matches with page title"
|
106 |
+
msgstr ""
|
107 |
+
|
108 |
+
msgid "Meta title filled"
|
109 |
+
msgstr ""
|
110 |
+
|
111 |
+
msgid "Meta description filled"
|
112 |
+
msgstr ""
|
113 |
+
|
114 |
+
msgid "Wrong image resize"
|
115 |
+
msgstr ""
|
116 |
+
|
117 |
+
msgid "Image have meta title or alt"
|
118 |
+
msgstr ""
|
119 |
+
|
120 |
+
msgid "SEO Page optimization"
|
121 |
+
msgstr ""
|
122 |
+
|
123 |
+
msgid "Social for search engine"
|
124 |
+
msgstr ""
|
125 |
+
|
126 |
+
msgid "Reload analysis"
|
127 |
+
msgstr ""
|
128 |
+
|
129 |
+
msgid "Filter by date"
|
130 |
+
msgstr ""
|
131 |
+
|
132 |
+
msgid "All dates"
|
133 |
+
msgstr ""
|
134 |
+
|
135 |
+
msgid "ID"
|
136 |
+
msgstr ""
|
137 |
+
|
138 |
+
msgid "Image"
|
139 |
+
msgstr ""
|
140 |
+
|
141 |
+
msgid "Name"
|
142 |
+
msgstr ""
|
143 |
+
|
144 |
+
msgid "Optimization Info"
|
145 |
+
msgstr ""
|
146 |
+
|
147 |
+
msgid "Alternative text"
|
148 |
+
msgstr ""
|
149 |
+
|
150 |
+
msgid "Title"
|
151 |
+
msgstr ""
|
152 |
+
|
153 |
+
msgid "Legend"
|
154 |
+
msgstr ""
|
155 |
+
|
156 |
+
msgid "Description"
|
157 |
+
msgstr ""
|
158 |
+
|
159 |
+
msgid "Select All"
|
160 |
+
msgstr ""
|
161 |
+
|
162 |
+
msgid "Filter"
|
163 |
+
msgstr ""
|
164 |
+
|
165 |
+
msgid "We didn't find any image which needed to be updated regarding meta information"
|
166 |
+
msgstr ""
|
167 |
+
|
168 |
+
msgid "This image has still not been inserted in any post!"
|
169 |
+
msgstr ""
|
170 |
+
|
171 |
+
msgid "We found %s which needed to optimize"
|
172 |
+
msgstr ""
|
173 |
+
|
174 |
+
msgid "Replace?"
|
175 |
+
msgstr ""
|
176 |
+
|
177 |
+
msgid "Replace all"
|
178 |
+
msgstr ""
|
179 |
+
|
180 |
+
msgid "The post doesn't exist, please select another one"
|
181 |
+
msgstr ""
|
182 |
+
|
183 |
+
msgid "There is a problem when update image name"
|
184 |
+
msgstr ""
|
185 |
+
|
186 |
+
msgid "Image name changed"
|
187 |
+
msgstr ""
|
188 |
+
|
189 |
+
msgid "Name already exist"
|
190 |
+
msgstr ""
|
191 |
+
|
192 |
+
msgid "File doesn't existed"
|
193 |
+
msgstr ""
|
194 |
+
|
195 |
+
msgid "Should not be empty"
|
196 |
+
msgstr ""
|
197 |
+
|
198 |
+
msgid "There is a problem during image meta update"
|
199 |
+
msgstr ""
|
200 |
+
|
201 |
+
msgid "This content has been deleted, please check again!"
|
202 |
+
msgstr ""
|
203 |
+
|
204 |
+
msgid "The post haven't been updated, please check again!"
|
205 |
+
msgstr ""
|
206 |
+
|
207 |
+
msgid "This image has been removed from the post, please check again!"
|
208 |
+
msgstr ""
|
209 |
+
|
210 |
+
msgid "Content of the post is empty, please check again"
|
211 |
+
msgstr ""
|
212 |
+
|
213 |
+
msgid "We can't get traffic rank from Alexa for this website"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
+
msgid "Meta Title"
|
217 |
+
msgstr ""
|
218 |
+
|
219 |
+
msgid "Meta Description"
|
220 |
+
msgstr ""
|
221 |
+
|
222 |
+
msgid "(no title)"
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
msgid "Edit this item"
|
226 |
+
msgstr ""
|
227 |
+
|
228 |
+
msgid "Edit"
|
229 |
+
msgstr ""
|
230 |
+
|
231 |
+
msgid "View"
|
232 |
+
msgstr ""
|
233 |
+
|
234 |
+
msgid "Preview"
|
235 |
+
msgstr ""
|
236 |
+
|
237 |
+
msgid "This is a preview of what this content might looks like in Google's search results."
|
238 |
+
msgstr ""
|
239 |
+
|
240 |
+
msgid "Snippet Preview"
|
241 |
+
msgstr ""
|
242 |
+
|
243 |
+
msgid "Facebook profile URL "
|
244 |
+
msgstr ""
|
245 |
+
|
246 |
+
msgid "Twitter Username "
|
247 |
+
msgstr ""
|
248 |
+
|
249 |
+
msgid "Meta block edition "
|
250 |
+
msgstr ""
|
251 |
+
|
252 |
+
msgid "Modification was saved"
|
253 |
+
msgstr ""
|
254 |
+
|
255 |
+
msgid "Meta title was not saved"
|
256 |
+
msgstr ""
|
257 |
+
|
258 |
+
msgid "Meta description was not saved"
|
259 |
+
msgstr ""
|
260 |
+
|
261 |
+
msgid "Dashboard"
|
262 |
+
msgstr ""
|
263 |
+
|
264 |
+
msgid "WP Meta SEO"
|
265 |
+
msgstr ""
|
266 |
+
|
267 |
+
msgid "Content meta"
|
268 |
+
msgstr ""
|
269 |
+
|
270 |
+
msgid "Image meta"
|
271 |
+
msgstr ""
|
272 |
+
|
273 |
+
msgid "Settings"
|
274 |
+
msgstr ""
|
275 |
+
|
276 |
+
msgid "Show/hide meta block edition below content"
|
277 |
+
msgstr ""
|
278 |
+
|
279 |
+
msgid "This post is not existed or deleted, please select another one"
|
280 |
+
msgstr ""
|
281 |
+
|
282 |
+
msgid "Well! This image is so good now."
|
283 |
+
msgstr ""
|
284 |
+
|
285 |
+
msgid "Oops! An error occured when updating the post, please try again"
|
286 |
+
msgstr ""
|
287 |
+
|
288 |
+
msgid "Resize image"
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
msgid "Image sizes are good!"
|
292 |
+
msgstr ""
|
293 |
+
|
294 |
+
msgid "Fix meta"
|
295 |
+
msgstr ""
|
296 |
+
|
297 |
+
msgid "Edit meta"
|
298 |
+
msgstr ""
|
299 |
+
|
300 |
+
msgid "N/A"
|
301 |
+
msgstr ""
|
302 |
+
|
303 |
+
msgid "Poor"
|
304 |
+
msgstr ""
|
305 |
+
|
306 |
+
msgid "OK"
|
307 |
+
msgstr ""
|
308 |
+
|
309 |
+
msgid "Good"
|
310 |
+
msgstr ""
|
311 |
+
|
312 |
+
msgid "Bad"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
msgid "Homepage meta title "
|
316 |
+
msgstr ""
|
317 |
+
|
318 |
+
msgid "Homepage meta description "
|
319 |
+
msgstr ""
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: JoomUnited
|
|
3 |
Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 4.3.1
|
6 |
-
Stable tag: 1.
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
@@ -12,7 +12,7 @@ WP Meta SEO gives you the control over all your meta content and images. Bulk SE
|
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
-
= WP meta SEO got 5 major
|
16 |
|
17 |
* Bulk edit all website meta on a single view
|
18 |
* Edit meta in content with SEO analysis
|
@@ -24,7 +24,7 @@ WP Meta SEO gives you the control over all your meta content and images. Bulk SE
|
|
24 |
= Bulk meta edition and image resizing =
|
25 |
|
26 |
It was annoying to edit meta on an existing website, open each post, page and almost nobody was doing it. Especially if you need to edit content + image meta.
|
27 |
-
WP Meta SEO is going to list all posts, pages, custom post types and all images. Type your meta content and fix image size
|
28 |
A bunch of people reduce the size of the pictures handling the border and resizing in html/css. You can now optimize the size of your images in articles, click fix and it's replaced.
|
29 |
|
30 |
|
@@ -32,11 +32,11 @@ A bunch of people reduce the size of the pictures handling the border and resizi
|
|
32 |
|
33 |
* Content SEO smart analysis bellow content
|
34 |
* Search engine snippet preview
|
35 |
-
* AJAX
|
36 |
* 7 criteria of analysis
|
37 |
* Check: Page title word in content heading
|
38 |
* Check: Page title word in content
|
39 |
-
* Check: Page
|
40 |
* Check: Meta title filled
|
41 |
* Check: Meta description filled
|
42 |
* Check: Wrong image resizing
|
@@ -60,7 +60,7 @@ A bunch of people reduce the size of the pictures handling the border and resizi
|
|
60 |
* Yoast SEO import & sync
|
61 |
* Alexa world rank
|
62 |
* Meta content filtering
|
63 |
-
*
|
64 |
* Live Google snippet preview
|
65 |
* Edit images file name in single view
|
66 |
* All in one SEO importer and sync Filter content by post type: post, page, custom
|
@@ -79,7 +79,7 @@ A bunch of people reduce the size of the pictures handling the border and resizi
|
|
79 |
|
80 |
= Support =
|
81 |
|
82 |
-
A PDF support
|
83 |
**More details here:** http://www.joomunited.com/wordpress-products/wp-meta-seo
|
84 |
|
85 |
== Installation ==
|
@@ -89,7 +89,7 @@ Once the plugin is installed, open the bulk edition through the admin menu or op
|
|
89 |
|
90 |
== Screenshots ==
|
91 |
|
92 |
-
1. Main
|
93 |
1. Bulk content meta edition with AJAX saving
|
94 |
1. On page dynamic SEO analysis for page, posts and custom post type
|
95 |
1. Social shaing information, on page optimization
|
@@ -101,15 +101,25 @@ Once the plugin is installed, open the bulk edition through the admin menu or op
|
|
101 |
|
102 |
== Revisions ==
|
103 |
|
104 |
-
* 1.
|
105 |
-
* 1.0.1
|
106 |
-
* 1.0.2
|
107 |
-
* 1.0.3
|
108 |
-
* 1.0.4
|
109 |
* 1.1.0
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
|
111 |
== Changelog ==
|
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
= 1.1.0 =
|
114 |
|
115 |
* On page SEO analysis
|
3 |
Tags: google, webmaster tools, keywords, meta, meta description, meta keywords, meta title, robots meta, search engine optimization, seo, wordpress seo, yahoo, image optimization, image resize, custom post seo
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 4.3.1
|
6 |
+
Stable tag: 1.2.0
|
7 |
License: GPLv2 or later
|
8 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
9 |
|
12 |
|
13 |
== Description ==
|
14 |
|
15 |
+
= WP meta SEO got 5 major functionalities: =
|
16 |
|
17 |
* Bulk edit all website meta on a single view
|
18 |
* Edit meta in content with SEO analysis
|
24 |
= Bulk meta edition and image resizing =
|
25 |
|
26 |
It was annoying to edit meta on an existing website, open each post, page and almost nobody was doing it. Especially if you need to edit content + image meta.
|
27 |
+
WP Meta SEO is going to list all posts, pages, custom post types and all images. Type your meta content and fix image size and everything is AJAX saved.
|
28 |
A bunch of people reduce the size of the pictures handling the border and resizing in html/css. You can now optimize the size of your images in articles, click fix and it's replaced.
|
29 |
|
30 |
|
32 |
|
33 |
* Content SEO smart analysis bellow content
|
34 |
* Search engine snippet preview
|
35 |
+
* AJAX analysis refresh
|
36 |
* 7 criteria of analysis
|
37 |
* Check: Page title word in content heading
|
38 |
* Check: Page title word in content
|
39 |
+
* Check: Page URL matches with page title
|
40 |
* Check: Meta title filled
|
41 |
* Check: Meta description filled
|
42 |
* Check: Wrong image resizing
|
60 |
* Yoast SEO import & sync
|
61 |
* Alexa world rank
|
62 |
* Meta content filtering
|
63 |
+
* Optimize images in all your post and pages
|
64 |
* Live Google snippet preview
|
65 |
* Edit images file name in single view
|
66 |
* All in one SEO importer and sync Filter content by post type: post, page, custom
|
79 |
|
80 |
= Support =
|
81 |
|
82 |
+
A PDF support document is provided and a dedicated support can be provided additionally with a membership.
|
83 |
**More details here:** http://www.joomunited.com/wordpress-products/wp-meta-seo
|
84 |
|
85 |
== Installation ==
|
89 |
|
90 |
== Screenshots ==
|
91 |
|
92 |
+
1. Main dashboard of the plugin with missing optimization and Alexa rank
|
93 |
1. Bulk content meta edition with AJAX saving
|
94 |
1. On page dynamic SEO analysis for page, posts and custom post type
|
95 |
1. Social shaing information, on page optimization
|
101 |
|
102 |
== Revisions ==
|
103 |
|
104 |
+
* 1.2.0
|
|
|
|
|
|
|
|
|
105 |
* 1.1.0
|
106 |
+
* 1.0.4
|
107 |
+
* 1.0.3
|
108 |
+
* 1.0.2
|
109 |
+
* 1.0.1
|
110 |
+
* 1.0.0 Initial release
|
111 |
+
|
112 |
|
113 |
== Changelog ==
|
114 |
|
115 |
+
= 1.2.0 =
|
116 |
+
|
117 |
+
* Change language to po/mo files
|
118 |
+
* Include .pot file and French language
|
119 |
+
* Setting for home page meta
|
120 |
+
* Bigger edit meta boxes
|
121 |
+
* Update icon of notification in meta view
|
122 |
+
|
123 |
= 1.1.0 =
|
124 |
|
125 |
* On page SEO analysis
|
wp-meta-seo.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
* Plugin Name: WP Meta SEO
|
5 |
* Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
|
6 |
* Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
|
7 |
-
* Version: 1.
|
8 |
* Author: JoomUnited
|
9 |
* Author URI: http://www.joomunited.com
|
10 |
* License: GPL2
|
@@ -45,7 +45,7 @@ if (!defined('URL'))
|
|
45 |
define('URL', get_site_url());
|
46 |
|
47 |
if (!defined('WPMSEO_VERSION'))
|
48 |
-
define('WPMSEO_VERSION', '1.
|
49 |
|
50 |
if (!defined('WPMSEO_FILE'))
|
51 |
define('WPMSEO_FILE', __FILE__);
|
@@ -70,40 +70,69 @@ if (is_admin()) {
|
|
70 |
add_filter( 'user_contactmethods','metaseo_contactuser', 10, 1 );
|
71 |
|
72 |
function metaseo_contactuser( $contactusers ) {
|
73 |
-
$contactusers['mtwitter'] = __( 'Twitter username (without @)', '
|
74 |
-
$contactusers['mfacebook'] = __( 'Facebook profile URL', '
|
75 |
return $contactusers;
|
76 |
}
|
77 |
|
78 |
} else {
|
|
|
79 |
/******** Check again and modify title, meta title, meta description before output ********/
|
80 |
//add_filter('wp_title', array('WpMetaSeo', 'new_title'), 99);
|
81 |
add_action('init', 'buffer_start');
|
82 |
add_action('wp_head', 'buffer_end');
|
83 |
|
84 |
-
function buffer_start() { ob_start("callback");
|
85 |
|
86 |
-
function buffer_end() { ob_end_flush();
|
87 |
|
88 |
function callback($buffer) {
|
89 |
// modify buffer here, and then return the updated code
|
90 |
global $wp_query;
|
|
|
91 |
$meta_title = get_post_meta($wp_query->post->ID, '_metaseo_metatitle', true);
|
92 |
if($meta_title == '') $meta_title = $wp_query->post->post_title;
|
93 |
$meta_title_esc = esc_attr($meta_title);
|
94 |
|
|
|
95 |
$meta_description = get_post_meta($wp_query->post->ID, '_metaseo_metadesc', true);
|
96 |
if($meta_description == '') $meta_description = $wp_query->post->post_title;
|
97 |
$meta_description_esc = esc_attr($meta_description);
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
$twitter_title = get_post_meta($wp_query->post->ID, '_metaseo_metatwitter-title', true);
|
100 |
$meta_twitter_title = esc_attr($twitter_title);
|
101 |
if($meta_twitter_title == '') $meta_twitter_title = $meta_title_esc;
|
102 |
|
|
|
103 |
$twitter_desc = get_post_meta($wp_query->post->ID, '_metaseo_metatwitter-desc', true);
|
104 |
$meta_twitter_desc = esc_attr($twitter_desc);
|
105 |
if($meta_twitter_desc == '') $meta_twitter_desc = $meta_description_esc;
|
106 |
|
|
|
107 |
$sitename = get_bloginfo('name');
|
108 |
$meta_twitter_site = get_user_meta($wp_query->post->post_author,'mtwitter',true);
|
109 |
$facebook_admin = get_user_meta($wp_query->post->post_author,'mfacebook',true);
|
@@ -126,6 +155,7 @@ if (is_admin()) {
|
|
126 |
if($meta_facebook_title == '') $meta_facebook_title = $meta_title_esc;
|
127 |
|
128 |
$meta_facebook_desc = get_post_meta($wp_query->post->ID,'_metaseo_metaopengraph-desc',true);
|
|
|
129 |
$meta_facebook_image = get_post_meta($wp_query->post->ID,'_metaseo_metaopengraph-image',true);
|
130 |
|
131 |
$patterns = array(
|
@@ -246,18 +276,18 @@ function wpmetaseo_aio_yoast_message() {
|
|
246 |
|
247 |
|
248 |
if($activated === 2 && !get_option('plugin_to_sync_with', false)){
|
249 |
-
add_action('admin_notices', create_function('$notImportant', 'echo "<div class=\"error metaseo-import-wrn\"><p>". __("Be careful you installed 2 extensions doing almost the same thing, please deactivate AIOSEO or Yoast in order to work more clearly!", "
|
250 |
}
|
251 |
}
|
252 |
|
253 |
add_action( 'admin_init', 'wpmetaseo_aio_yoast_message' );
|
254 |
|
255 |
function wpmetaseo_import_aio_meta_notice(){
|
256 |
-
echo '<div class="error metaseo-import-wrn"><p>'. sprintf( __('We have found that you’re using All In One Pack Plugin, WP Meta SEO can import the meta from this plugin, %s', '
|
257 |
}
|
258 |
|
259 |
function wpmetaseo_import_yoast_meta_notice(){
|
260 |
-
echo '<div class="error metaseo-import-wrn"><p>'. sprintf( __('We have found that you’re using Yoast SEO Plugin, WP Meta SEO can import the meta from this plugin, %s', '
|
261 |
}
|
262 |
|
263 |
/**
|
4 |
* Plugin Name: WP Meta SEO
|
5 |
* Plugin URI: http://www.joomunited.com/wordpress-products/wp-meta-seo
|
6 |
* Description: WP Meta SEO is a plugin for WordPress to fill meta for content, images and main SEO info in a single view.
|
7 |
+
* Version: 1.2.0
|
8 |
* Author: JoomUnited
|
9 |
* Author URI: http://www.joomunited.com
|
10 |
* License: GPL2
|
45 |
define('URL', get_site_url());
|
46 |
|
47 |
if (!defined('WPMSEO_VERSION'))
|
48 |
+
define('WPMSEO_VERSION', '1.2.0');
|
49 |
|
50 |
if (!defined('WPMSEO_FILE'))
|
51 |
define('WPMSEO_FILE', __FILE__);
|
70 |
add_filter( 'user_contactmethods','metaseo_contactuser', 10, 1 );
|
71 |
|
72 |
function metaseo_contactuser( $contactusers ) {
|
73 |
+
$contactusers['mtwitter'] = __( 'Twitter username (without @)', 'wpms' );
|
74 |
+
$contactusers['mfacebook'] = __( 'Facebook profile URL', 'wpms' );
|
75 |
return $contactusers;
|
76 |
}
|
77 |
|
78 |
} else {
|
79 |
+
|
80 |
/******** Check again and modify title, meta title, meta description before output ********/
|
81 |
//add_filter('wp_title', array('WpMetaSeo', 'new_title'), 99);
|
82 |
add_action('init', 'buffer_start');
|
83 |
add_action('wp_head', 'buffer_end');
|
84 |
|
85 |
+
function buffer_start() { ob_start("callback");}
|
86 |
|
87 |
+
function buffer_end() { ob_end_flush();}
|
88 |
|
89 |
function callback($buffer) {
|
90 |
// modify buffer here, and then return the updated code
|
91 |
global $wp_query;
|
92 |
+
// get meta title
|
93 |
$meta_title = get_post_meta($wp_query->post->ID, '_metaseo_metatitle', true);
|
94 |
if($meta_title == '') $meta_title = $wp_query->post->post_title;
|
95 |
$meta_title_esc = esc_attr($meta_title);
|
96 |
|
97 |
+
// get meta description
|
98 |
$meta_description = get_post_meta($wp_query->post->ID, '_metaseo_metadesc', true);
|
99 |
if($meta_description == '') $meta_description = $wp_query->post->post_title;
|
100 |
$meta_description_esc = esc_attr($meta_description);
|
101 |
+
|
102 |
+
// get option reading
|
103 |
+
$mpage_for_posts = get_option('page_for_posts');
|
104 |
+
$mpage_on_front = get_option('page_on_front');
|
105 |
+
$mshow_on_front = get_option('show_on_front');
|
106 |
+
|
107 |
+
// check homepage is latest post
|
108 |
+
if((empty($mpage_for_posts) && empty($mpage_on_front) && $mshow_on_front == 'posts') || (empty($page_on_front) && !empty($mpage_for_posts) && $mshow_on_front== 'page') && is_home()){
|
109 |
+
$settings = get_option( '_metaseo_settings' );
|
110 |
+
$meta_title_esc = esc_attr($settings['metaseo_title_home']);
|
111 |
+
$meta_description_esc = esc_attr($settings['metaseo_desc_home']);
|
112 |
+
}
|
113 |
+
|
114 |
+
// check homepage is a page
|
115 |
+
if(get_post_meta($wp_query->post->ID, '_metaseo_metatitle', true) == '' && is_front_page() ){
|
116 |
+
$settings = get_option( '_metaseo_settings' );
|
117 |
+
$meta_title_esc = esc_attr($settings['metaseo_title_home']);
|
118 |
+
}
|
119 |
+
|
120 |
+
if(get_post_meta($wp_query->post->ID, '_metaseo_metadesc', true) == '' && is_front_page() ){
|
121 |
+
$settings = get_option( '_metaseo_settings' );
|
122 |
+
$meta_description_esc = esc_attr($settings['metaseo_desc_home']);
|
123 |
+
}
|
124 |
+
|
125 |
+
// get meta title for twitter
|
126 |
$twitter_title = get_post_meta($wp_query->post->ID, '_metaseo_metatwitter-title', true);
|
127 |
$meta_twitter_title = esc_attr($twitter_title);
|
128 |
if($meta_twitter_title == '') $meta_twitter_title = $meta_title_esc;
|
129 |
|
130 |
+
// get meta description for twitter
|
131 |
$twitter_desc = get_post_meta($wp_query->post->ID, '_metaseo_metatwitter-desc', true);
|
132 |
$meta_twitter_desc = esc_attr($twitter_desc);
|
133 |
if($meta_twitter_desc == '') $meta_twitter_desc = $meta_description_esc;
|
134 |
|
135 |
+
|
136 |
$sitename = get_bloginfo('name');
|
137 |
$meta_twitter_site = get_user_meta($wp_query->post->post_author,'mtwitter',true);
|
138 |
$facebook_admin = get_user_meta($wp_query->post->post_author,'mfacebook',true);
|
155 |
if($meta_facebook_title == '') $meta_facebook_title = $meta_title_esc;
|
156 |
|
157 |
$meta_facebook_desc = get_post_meta($wp_query->post->ID,'_metaseo_metaopengraph-desc',true);
|
158 |
+
if($meta_facebook_desc == '') $meta_facebook_desc = $meta_description_esc;
|
159 |
$meta_facebook_image = get_post_meta($wp_query->post->ID,'_metaseo_metaopengraph-image',true);
|
160 |
|
161 |
$patterns = array(
|
276 |
|
277 |
|
278 |
if($activated === 2 && !get_option('plugin_to_sync_with', false)){
|
279 |
+
add_action('admin_notices', create_function('$notImportant', 'echo "<div class=\"error metaseo-import-wrn\"><p>". __("Be careful you installed 2 extensions doing almost the same thing, please deactivate AIOSEO or Yoast in order to work more clearly!", "wpms") ."</p></div>";'), 1);
|
280 |
}
|
281 |
}
|
282 |
|
283 |
add_action( 'admin_init', 'wpmetaseo_aio_yoast_message' );
|
284 |
|
285 |
function wpmetaseo_import_aio_meta_notice(){
|
286 |
+
echo '<div class="error metaseo-import-wrn"><p>'. sprintf( __('We have found that you’re using All In One Pack Plugin, WP Meta SEO can import the meta from this plugin, %s', 'wpms'), '<a href="#" class="button mseo-import-action" style="position:relative" onclick="importMetaData(this, event)" id="_aio_"><span class="spinner-light"></span>Import now</a> or <a href="#" class="dissmiss-import">dismiss this</a>' ) .'</p></div>';
|
287 |
}
|
288 |
|
289 |
function wpmetaseo_import_yoast_meta_notice(){
|
290 |
+
echo '<div class="error metaseo-import-wrn"><p>'. sprintf( __('We have found that you’re using Yoast SEO Plugin, WP Meta SEO can import the meta from this plugin, %s', 'wpms'), '<a href="#" class="button mseo-import-action" style="position:relative" onclick="importMetaData(this, event)" id="_yoast_">Import now<span class="spinner-light"></span></a> or <a href="#" class="dissmiss-import">dismiss this</a>' ) .'</p></div>';
|
291 |
}
|
292 |
|
293 |
/**
|