Version Description
- Add meta keywords edition in bulk editor
- Add option to for SEO criteria validation
Download this release
Release Info
Developer | JoomUnited |
Plugin | ![]() |
Version | 1.6.0 |
Comparing to | |
See all releases |
Code changes from version 1.5.1 to 1.6.0
- css/metabox-tabs.css +2 -2
- css/metaseo_admin.css +3 -3
- inc/class.metaseo-admin.php +128 -75
- inc/class.metaseo-content-list-table.php +15 -3
- inc/class.metaseo-dashboard.php +10 -43
- inc/class.metaseo-meta.php +10 -0
- inc/class.metaseo-metabox.php +92 -46
- inc/pages/content-meta.php +9 -0
- inc/pages/dashboard.php +0 -1
- js/cliffpyles.js +38 -2
- js/metaseo_admin.js +32 -0
- js/wp-metaseo-metabox.js +33 -13
- languages/wpms-en_US.mo +0 -0
- languages/wpms-en_US.po +89 -85
- languages/wpms-fr_FR.mo +0 -0
- languages/wpms-fr_FR.po +86 -77
- languages/wpms.pot +15 -0
- readme.txt +17 -4
- wp-meta-seo.php +22 -8
css/metabox-tabs.css
CHANGED
@@ -435,7 +435,7 @@ div.wpmseo-tab-content {
|
|
435 |
position: relative;
|
436 |
}
|
437 |
|
438 |
-
#metaseo_wpmseo_desc-length,#metaseo_wpmseo_title-length{
|
439 |
position: absolute;
|
440 |
left: 20px;
|
441 |
bottom: 12px;
|
@@ -448,7 +448,7 @@ div.wpmseo-tab-content {
|
|
448 |
padding: 0px 10px;
|
449 |
}
|
450 |
|
451 |
-
#metaseo_wpmseo_desc-length.length-wrong,#metaseo_wpmseo_title-length.length-wrong{
|
452 |
background: none repeat scroll 0% 0% #FFCC00;
|
453 |
}
|
454 |
|
435 |
position: relative;
|
436 |
}
|
437 |
|
438 |
+
#metaseo_wpmseo_desc-length,#metaseo_wpmseo_title-length,#metaseo_wpmseo_keywords-length{
|
439 |
position: absolute;
|
440 |
left: 20px;
|
441 |
bottom: 12px;
|
448 |
padding: 0px 10px;
|
449 |
}
|
450 |
|
451 |
+
#metaseo_wpmseo_desc-length.length-wrong,#metaseo_wpmseo_title-length.length-wrong,#metaseo_wpmseo_keywords-length.length-wrong{
|
452 |
background: none repeat scroll 0% 0% #FFCC00;
|
453 |
}
|
454 |
|
css/metaseo_admin.css
CHANGED
@@ -20,7 +20,7 @@ and open the template in the editor.
|
|
20 |
width: 30%;
|
21 |
}
|
22 |
|
23 |
-
.title-len, .desc-len, .word-exceed {
|
24 |
color: #FFF;
|
25 |
border-radius: 2px;
|
26 |
min-width: 15px;
|
@@ -32,7 +32,7 @@ and open the template in the editor.
|
|
32 |
left: 15px;
|
33 |
}
|
34 |
|
35 |
-
.title-len, .desc-len {
|
36 |
background: none repeat scroll 0% 0% #7ad03a;
|
37 |
|
38 |
}
|
@@ -137,7 +137,7 @@ a.info-content .tooltip-metacontent
|
|
137 |
padding:4px 6px;
|
138 |
}
|
139 |
.action-wrapper{
|
140 |
-
width:38
|
141 |
float:left;
|
142 |
}
|
143 |
.snippet-wrapper{
|
20 |
width: 30%;
|
21 |
}
|
22 |
|
23 |
+
.title-len, .desc-len, .word-exceed , .keywords-len {
|
24 |
color: #FFF;
|
25 |
border-radius: 2px;
|
26 |
min-width: 15px;
|
32 |
left: 15px;
|
33 |
}
|
34 |
|
35 |
+
.title-len, .desc-len, .keywords-len {
|
36 |
background: none repeat scroll 0% 0% #7ad03a;
|
37 |
|
38 |
}
|
137 |
padding:4px 6px;
|
138 |
}
|
139 |
.action-wrapper{
|
140 |
+
/* width:38%;*/
|
141 |
float:left;
|
142 |
}
|
143 |
.snippet-wrapper{
|
inc/class.metaseo-admin.php
CHANGED
@@ -15,8 +15,10 @@ class MetaSeo_Admin {
|
|
15 |
"metaseo_showfacebook"=>"",
|
16 |
"metaseo_showtwitter"=>"",
|
17 |
"metaseo_twitter_card"=>"summary",
|
|
|
18 |
"metaseo_showtmetablock"=>1,
|
19 |
-
"metaseo_showsocial" => 1
|
|
|
20 |
);
|
21 |
$settings = get_option( '_metaseo_settings' );
|
22 |
|
@@ -44,7 +46,6 @@ class MetaSeo_Admin {
|
|
44 |
add_action( 'admin_init', array($this, 'stop_heartbeat') , 1 );
|
45 |
add_action('admin_init', array($this,'metaseo_field_settings'));
|
46 |
add_action('init', array($this,'wpms_load_langguage'));
|
47 |
-
add_action('wp_ajax_metaseo_reload_analysis',array($this,'metaseo_reload_analysis'));
|
48 |
|
49 |
if(!get_option('wpms_set_ignore', false)){
|
50 |
add_option('wpms_set_ignore', 1, '', 'yes' );
|
@@ -52,7 +53,7 @@ class MetaSeo_Admin {
|
|
52 |
|
53 |
add_action('wp_ajax_wpms_set_ignore',array($this,'wpms_set_ignore'));
|
54 |
if ( '0' == get_option( 'blog_public' )) {
|
55 |
-
add_action( '
|
56 |
}
|
57 |
}
|
58 |
|
@@ -102,6 +103,12 @@ class MetaSeo_Admin {
|
|
102 |
load_plugin_textdomain( 'wpms', false, dirname( plugin_basename( WPMSEO_FILE ) ) . '/languages/' );
|
103 |
}
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
function metaseo_reload_analysis() {
|
106 |
$tooltip_page = array();
|
107 |
$tooltip_page['title_in_heading'] = __('Check if a word of this content title is also in a title heading (h1, h2...)','wpms');
|
@@ -111,10 +118,14 @@ class MetaSeo_Admin {
|
|
111 |
$tooltip_page['meta_desc'] = __('Is the meta description of this page filled?','wpms');
|
112 |
$tooltip_page['image_resize'] = __('Check for image HTML resizing in content (usually image resized using handles)','wpms');
|
113 |
$tooltip_page['image_alt'] = __('Check for image Alt text and title','wpms');
|
114 |
-
|
115 |
if(empty($_POST['datas'])){
|
116 |
wp_send_json(false);
|
117 |
}
|
|
|
|
|
|
|
|
|
|
|
118 |
$check = 0;
|
119 |
$output = '';
|
120 |
// title heading
|
@@ -135,14 +146,14 @@ class MetaSeo_Admin {
|
|
135 |
}
|
136 |
|
137 |
if($test){
|
138 |
-
$output .= '
|
139 |
$check ++;
|
140 |
}else{
|
141 |
-
$output .= '
|
142 |
}
|
143 |
|
144 |
}else{
|
145 |
-
$output .= '
|
146 |
$check ++;
|
147 |
}
|
148 |
|
@@ -163,41 +174,41 @@ class MetaSeo_Admin {
|
|
163 |
}
|
164 |
|
165 |
if($test1){
|
166 |
-
$output .= '
|
167 |
$check ++;
|
168 |
}else{
|
169 |
-
$output .= '
|
170 |
}
|
171 |
|
172 |
// page url matches page title
|
173 |
$mtitle = $_POST['datas']['title'];
|
174 |
if($_POST['datas']['mpageurl'] == sanitize_title($mtitle)){
|
175 |
-
$output .= '
|
176 |
$check ++;
|
177 |
}else{
|
178 |
-
$output .= '
|
179 |
}
|
180 |
|
181 |
// meta title filled
|
182 |
-
if($_POST['datas']['meta_title'] != '' && strlen($_POST['datas']['meta_title']) <= self::$title_length){
|
183 |
-
$output .= '
|
184 |
$check++;
|
185 |
}else{
|
186 |
-
$output .= '
|
187 |
}
|
188 |
|
189 |
// desc filled
|
190 |
-
if($_POST['datas']['meta_desc'] != '' && strlen($_POST['datas']['meta_desc']) <= self::$desc_length){
|
191 |
-
$output .= '
|
192 |
$check++;
|
193 |
}else{
|
194 |
-
$output .= '
|
195 |
}
|
196 |
|
197 |
// image resize
|
198 |
if($_POST['datas']['content'] == '') {
|
199 |
-
$output .= '
|
200 |
-
$output .= '
|
201 |
$check += 2;
|
202 |
}else{
|
203 |
$dom = new DOMDocument;
|
@@ -225,29 +236,42 @@ class MetaSeo_Admin {
|
|
225 |
$img_wrong_alt = true;
|
226 |
}
|
227 |
}
|
228 |
-
|
229 |
-
if($img_wrong){
|
230 |
-
$output .= '
|
231 |
-
}else{
|
232 |
-
$output .= '<div class="metaseo_analysis metaseo_tool" alt="'.$tooltip_page['image_resize'].'"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
|
233 |
$check++;
|
|
|
|
|
234 |
}
|
235 |
|
236 |
-
if($img_wrong_alt){
|
237 |
-
$output .= '
|
238 |
-
}else{
|
239 |
-
$output .= '<div class="metaseo_analysis metaseo_tool" alt="'.$tooltip_page['image_alt'].'"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
240 |
$check++;
|
|
|
|
|
241 |
}
|
242 |
-
|
243 |
}else{
|
244 |
-
$output .= '
|
|
|
245 |
}
|
246 |
}
|
247 |
|
248 |
$circliful = ceil(100*($check)/7);
|
249 |
-
wp_send_json(array('circliful' => $circliful,'output' => $output));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
|
|
|
|
|
|
251 |
}
|
252 |
|
253 |
function metaseo_field_settings(){
|
@@ -258,8 +282,10 @@ class MetaSeo_Admin {
|
|
258 |
add_settings_field('metaseo_showfacebook', __('Facebook profile URL', 'wpms'), array( $this, 'showfacebook' ), 'metaseo_settings', 'metaseo_dashboard');
|
259 |
add_settings_field('metaseo_showtwitter', __('Twitter Username', 'wpms'), array( $this, 'showtwitter' ), 'metaseo_settings', 'metaseo_dashboard');
|
260 |
add_settings_field('metaseo_twitter_card', __('The default card type to use', 'wpms'), array( $this, 'showtwittercard' ), 'metaseo_settings', 'metaseo_dashboard');
|
|
|
261 |
add_settings_field('metaseo_showtmetablock', __('Meta block edition', 'wpms'), array( $this, 'showtmetablock' ), 'metaseo_settings', 'metaseo_dashboard');
|
262 |
add_settings_field('metaseo_showsocial', __('Social networks meta', 'wpms'), array( $this, 'showsocial' ), 'metaseo_settings', 'metaseo_dashboard');
|
|
|
263 |
}
|
264 |
|
265 |
public function showSettings(){
|
@@ -276,6 +302,14 @@ class MetaSeo_Admin {
|
|
276 |
echo '<input id="metaseo_desc_home" name="_metaseo_settings[metaseo_desc_home]" type="text" value="'.esc_attr( $home_desc ).'" size="50"/>';
|
277 |
}
|
278 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
279 |
public function showtmetablock(){
|
280 |
echo '<input name="_metaseo_settings[metaseo_showtmetablock]" type="hidden" value="0"/>';
|
281 |
?>
|
@@ -292,6 +326,14 @@ class MetaSeo_Admin {
|
|
292 |
<?php
|
293 |
}
|
294 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
public function showfacebook(){
|
296 |
$face = isset( $this->settings['metaseo_showfacebook'] ) ? $this->settings['metaseo_showfacebook'] : '';
|
297 |
echo '<input id="metaseo_showfacebook" name="_metaseo_settings[metaseo_showfacebook]" type="text" value="'.esc_attr( $face ).'" size="50"/>';
|
@@ -348,31 +390,40 @@ class MetaSeo_Admin {
|
|
348 |
// wp_die();
|
349 |
// }
|
350 |
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
$response->updated = true;
|
370 |
$response->msg = __('Meta description was saved', 'wpms') ;
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
376 |
}
|
377 |
|
378 |
/**
|
@@ -422,9 +473,9 @@ class MetaSeo_Admin {
|
|
422 |
*
|
423 |
*/
|
424 |
function addAdminStylesheets() {
|
425 |
-
wp_enqueue_style('wpmetaseoAdmin', plugins_url('css/metaseo_admin.css', dirname(__FILE__)));
|
426 |
-
wp_enqueue_style('tooltip-metaimage', plugins_url('/css/tooltip-metaimage.css',dirname(__FILE__)));
|
427 |
-
wp_enqueue_style('style', plugins_url('/css/style.css', dirname(__FILE__) ) );
|
428 |
}
|
429 |
|
430 |
function register_menu_page() {
|
@@ -725,23 +776,25 @@ class MetaSeo_Admin {
|
|
725 |
}
|
726 |
|
727 |
private function ajaxHandle(){
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
-
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
737 |
-
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
|
|
|
|
|
745 |
}
|
746 |
|
747 |
}
|
15 |
"metaseo_showfacebook"=>"",
|
16 |
"metaseo_showtwitter"=>"",
|
17 |
"metaseo_twitter_card"=>"summary",
|
18 |
+
"metaseo_showkeywords"=>0,
|
19 |
"metaseo_showtmetablock"=>1,
|
20 |
+
"metaseo_showsocial" => 1,
|
21 |
+
"metaseo_seovalidate" => 0
|
22 |
);
|
23 |
$settings = get_option( '_metaseo_settings' );
|
24 |
|
46 |
add_action( 'admin_init', array($this, 'stop_heartbeat') , 1 );
|
47 |
add_action('admin_init', array($this,'metaseo_field_settings'));
|
48 |
add_action('init', array($this,'wpms_load_langguage'));
|
|
|
49 |
|
50 |
if(!get_option('wpms_set_ignore', false)){
|
51 |
add_option('wpms_set_ignore', 1, '', 'yes' );
|
53 |
|
54 |
add_action('wp_ajax_wpms_set_ignore',array($this,'wpms_set_ignore'));
|
55 |
if ( '0' == get_option( 'blog_public' )) {
|
56 |
+
add_action( 'admin_notices', array( $this, 'wpms_public_warning' ) );
|
57 |
}
|
58 |
}
|
59 |
|
103 |
load_plugin_textdomain( 'wpms', false, dirname( plugin_basename( WPMSEO_FILE ) ) . '/languages/' );
|
104 |
}
|
105 |
|
106 |
+
function metaseo_create_field($data_title,$alt,$dashicon,$label,$value_hidden){
|
107 |
+
$output = '<div class="metaseo_analysis metaseo_tool 123" data-title="'.$data_title.'" alt="'.$alt.'"><div class="metaseo-dashicons dashicons-before '.$dashicon.'"></div>'.$label.'</div>';
|
108 |
+
$output .= '<input type="hidden" class="wpms_analysis_hidden" name="wpms['.$data_title.']" value="'.$value_hidden.'">';
|
109 |
+
return $output;
|
110 |
+
}
|
111 |
+
|
112 |
function metaseo_reload_analysis() {
|
113 |
$tooltip_page = array();
|
114 |
$tooltip_page['title_in_heading'] = __('Check if a word of this content title is also in a title heading (h1, h2...)','wpms');
|
118 |
$tooltip_page['meta_desc'] = __('Is the meta description of this page filled?','wpms');
|
119 |
$tooltip_page['image_resize'] = __('Check for image HTML resizing in content (usually image resized using handles)','wpms');
|
120 |
$tooltip_page['image_alt'] = __('Check for image Alt text and title','wpms');
|
|
|
121 |
if(empty($_POST['datas'])){
|
122 |
wp_send_json(false);
|
123 |
}
|
124 |
+
|
125 |
+
if(isset($_POST['datas']['post_id'])){
|
126 |
+
update_post_meta($_POST['datas']['post_id'], 'wpms_validate_analysis', '');
|
127 |
+
}
|
128 |
+
|
129 |
$check = 0;
|
130 |
$output = '';
|
131 |
// title heading
|
146 |
}
|
147 |
|
148 |
if($test){
|
149 |
+
$output .= $this->metaseo_create_field('heading_title',$tooltip_page['title_in_heading'],'dashicons-yes',__('Page title word in content heading','wpms'),1);
|
150 |
$check ++;
|
151 |
}else{
|
152 |
+
$output .= $this->metaseo_create_field('heading_title',$tooltip_page['title_in_heading'],'icons-mwarning',__('Page title word in content heading','wpms'),0);
|
153 |
}
|
154 |
|
155 |
}else{
|
156 |
+
$output .= $this->metaseo_create_field('heading_title',$tooltip_page['title_in_heading'],'dashicons-yes',__('Page title word in content heading','wpms'),1);
|
157 |
$check ++;
|
158 |
}
|
159 |
|
174 |
}
|
175 |
|
176 |
if($test1){
|
177 |
+
$output .= $this->metaseo_create_field('content_title',$tooltip_page['title_in_content'],'dashicons-yes',__('Page title word in content','wpms'),1);
|
178 |
$check ++;
|
179 |
}else{
|
180 |
+
$output .= $this->metaseo_create_field('content_title',$tooltip_page['title_in_content'],'icons-mwarning',__('Page title word in content','wpms'),0);
|
181 |
}
|
182 |
|
183 |
// page url matches page title
|
184 |
$mtitle = $_POST['datas']['title'];
|
185 |
if($_POST['datas']['mpageurl'] == sanitize_title($mtitle)){
|
186 |
+
$output .= $this->metaseo_create_field('pageurl',$tooltip_page['page_url'],'dashicons-yes',__('Page url matches with page title','wpms'),1);
|
187 |
$check ++;
|
188 |
}else{
|
189 |
+
$output .= $this->metaseo_create_field('pageurl',$tooltip_page['page_url'],'icons-mwarning',__('Page url matches with page title','wpms'),0);
|
190 |
}
|
191 |
|
192 |
// meta title filled
|
193 |
+
if(($_POST['datas']['meta_title'] != '' && strlen($_POST['datas']['meta_title']) <= self::$title_length)){
|
194 |
+
$output .= $this->metaseo_create_field('metatitle',$tooltip_page['meta_title'],'dashicons-yes',__('Meta title filled','wpms'),1);
|
195 |
$check++;
|
196 |
}else{
|
197 |
+
$output .= $this->metaseo_create_field('metatitle',$tooltip_page['meta_title'],'icons-mwarning',__('Meta title filled','wpms'),0);
|
198 |
}
|
199 |
|
200 |
// desc filled
|
201 |
+
if(($_POST['datas']['meta_desc'] != '' && strlen($_POST['datas']['meta_desc']) <= self::$desc_length)){
|
202 |
+
$output .= $this->metaseo_create_field('metadesc',$tooltip_page['meta_desc'],'dashicons-yes',__('Meta description filled','wpms'),1);
|
203 |
$check++;
|
204 |
}else{
|
205 |
+
$output .= $this->metaseo_create_field('metadesc',$tooltip_page['meta_desc'],'icons-mwarning',__('Meta description filled','wpms'),0);
|
206 |
}
|
207 |
|
208 |
// image resize
|
209 |
if($_POST['datas']['content'] == '') {
|
210 |
+
$output .= $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'dashicons-yes',__('Wrong image resize','wpms'),1);
|
211 |
+
$output .= $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'dashicons-yes',__('Image have meta title or alt','wpms'),1);
|
212 |
$check += 2;
|
213 |
}else{
|
214 |
$dom = new DOMDocument;
|
236 |
$img_wrong_alt = true;
|
237 |
}
|
238 |
}
|
239 |
+
|
240 |
+
if($img_wrong == false){
|
241 |
+
$output .= $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'dashicons-yes',__('Wrong image resize','wpms'),1);
|
|
|
|
|
242 |
$check++;
|
243 |
+
}else{
|
244 |
+
$output .= $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'icons-mwarning',__('Wrong image resize','wpms'),0);
|
245 |
}
|
246 |
|
247 |
+
if($img_wrong_alt == false){
|
248 |
+
$output .= $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'dashicons-yes',__('Image have meta title or alt','wpms'),1);
|
|
|
|
|
249 |
$check++;
|
250 |
+
}else{
|
251 |
+
$output .= $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'icons-mwarning',__('Image have meta title or alt','wpms'),0);
|
252 |
}
|
|
|
253 |
}else{
|
254 |
+
$output .= $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'icons-mwarning',__('Wrong image resize','wpms'),0);
|
255 |
+
$output .= $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'icons-mwarning',__('Image have meta title or alt','wpms'),0);
|
256 |
}
|
257 |
}
|
258 |
|
259 |
$circliful = ceil(100*($check)/7);
|
260 |
+
wp_send_json(array('circliful' => $circliful,'output' => $output ,'check' => $check));
|
261 |
+
|
262 |
+
}
|
263 |
+
|
264 |
+
function metaseo_validate_analysis(){
|
265 |
+
$post_id = $_POST['post_id'];
|
266 |
+
$key = 'wpms_validate_analysis';
|
267 |
+
$analysis = get_post_meta($post_id, $key,true);
|
268 |
+
if(empty($analysis) ) {
|
269 |
+
$analysis = array();
|
270 |
+
}
|
271 |
|
272 |
+
$analysis[$_POST['field']] = 1;
|
273 |
+
update_post_meta($post_id, $key, $analysis);
|
274 |
+
wp_send_json(true);
|
275 |
}
|
276 |
|
277 |
function metaseo_field_settings(){
|
282 |
add_settings_field('metaseo_showfacebook', __('Facebook profile URL', 'wpms'), array( $this, 'showfacebook' ), 'metaseo_settings', 'metaseo_dashboard');
|
283 |
add_settings_field('metaseo_showtwitter', __('Twitter Username', 'wpms'), array( $this, 'showtwitter' ), 'metaseo_settings', 'metaseo_dashboard');
|
284 |
add_settings_field('metaseo_twitter_card', __('The default card type to use', 'wpms'), array( $this, 'showtwittercard' ), 'metaseo_settings', 'metaseo_dashboard');
|
285 |
+
add_settings_field('metaseo_showkeywords', __('Meta keywords', 'wpms'), array( $this, 'showkeywords' ), 'metaseo_settings', 'metaseo_dashboard');
|
286 |
add_settings_field('metaseo_showtmetablock', __('Meta block edition', 'wpms'), array( $this, 'showtmetablock' ), 'metaseo_settings', 'metaseo_dashboard');
|
287 |
add_settings_field('metaseo_showsocial', __('Social networks meta', 'wpms'), array( $this, 'showsocial' ), 'metaseo_settings', 'metaseo_dashboard');
|
288 |
+
add_settings_field('metaseo_seovalidate', __('Force SEO validation', 'wpms'), array( $this, 'showseovalidate' ), 'metaseo_settings', 'metaseo_dashboard');
|
289 |
}
|
290 |
|
291 |
public function showSettings(){
|
302 |
echo '<input id="metaseo_desc_home" name="_metaseo_settings[metaseo_desc_home]" type="text" value="'.esc_attr( $home_desc ).'" size="50"/>';
|
303 |
}
|
304 |
|
305 |
+
public function showkeywords(){
|
306 |
+
echo '<input name="_metaseo_settings[metaseo_showkeywords]" type="hidden" value="0"/>';
|
307 |
+
?>
|
308 |
+
<label><input name="_metaseo_settings[metaseo_showkeywords]" type="checkbox" id="metaseo_showkeywords" value="1" <?php checked( 1, $this->settings['metaseo_showkeywords']); ?> />
|
309 |
+
<?php _e( 'Active meta keywords','wpms'); ?></label>
|
310 |
+
<?php
|
311 |
+
}
|
312 |
+
|
313 |
public function showtmetablock(){
|
314 |
echo '<input name="_metaseo_settings[metaseo_showtmetablock]" type="hidden" value="0"/>';
|
315 |
?>
|
326 |
<?php
|
327 |
}
|
328 |
|
329 |
+
public function showseovalidate(){
|
330 |
+
echo '<input name="_metaseo_settings[metaseo_seovalidate]" type="hidden" value="0"/>';
|
331 |
+
?>
|
332 |
+
<label><input name="_metaseo_settings[metaseo_seovalidate]" type="checkbox" id="metaseo_seovalidate" value="1" <?php checked( 1, $this->settings['metaseo_seovalidate']); ?> />
|
333 |
+
<?php _e( 'Allow user to force on page SEO criteria validation by clicking on the icon','wpms' ); ?></label>
|
334 |
+
<?php
|
335 |
+
}
|
336 |
+
|
337 |
public function showfacebook(){
|
338 |
$face = isset( $this->settings['metaseo_showfacebook'] ) ? $this->settings['metaseo_showfacebook'] : '';
|
339 |
echo '<input id="metaseo_showfacebook" name="_metaseo_settings[metaseo_showfacebook]" type="text" value="'.esc_attr( $face ).'" size="50"/>';
|
390 |
// wp_die();
|
391 |
// }
|
392 |
|
393 |
+
$response->msg = __('Modification was saved', 'wpms') ;
|
394 |
+
if($metakey == 'metatitle') {
|
395 |
+
if(!update_post_meta($postID, '_metaseo_metatitle', $value)) {
|
396 |
+
$response->updated = false;
|
397 |
+
$response->msg = __('Meta title was not saved', 'wpms') ;
|
398 |
+
}
|
399 |
+
else{
|
400 |
+
$response->updated = true;
|
401 |
+
$response->msg = __('Meta title was saved', 'wpms') ;
|
402 |
+
}
|
403 |
+
}
|
404 |
+
|
405 |
+
if($metakey =='metadesc') {
|
406 |
+
if(!update_post_meta($postID, '_metaseo_metadesc', $value)) {
|
407 |
+
$response->updated = false;
|
408 |
+
$response->msg = __('Meta description was not saved', 'wpms') ;
|
409 |
+
}else{
|
410 |
+
$response->updated = true;
|
|
|
411 |
$response->msg = __('Meta description was saved', 'wpms') ;
|
412 |
+
}
|
413 |
+
}
|
414 |
+
|
415 |
+
if ($metakey == 'metakeywords') {
|
416 |
+
if (!update_post_meta($postID, '_metaseo_metakeywords', $value)) {
|
417 |
+
$response->updated = false;
|
418 |
+
$response->msg = __('Meta keywords was not saved', 'wpms');
|
419 |
+
} else {
|
420 |
+
$response->updated = true;
|
421 |
+
$response->msg = __('Meta keywords was saved', 'wpms');
|
422 |
+
}
|
423 |
+
}
|
424 |
+
|
425 |
+
echo json_encode($response);
|
426 |
+
wp_die();
|
427 |
}
|
428 |
|
429 |
/**
|
473 |
*
|
474 |
*/
|
475 |
function addAdminStylesheets() {
|
476 |
+
wp_enqueue_style('wpmetaseoAdmin', plugins_url('css/metaseo_admin.css', dirname(__FILE__)),array(), WPMSEO_VERSION);
|
477 |
+
wp_enqueue_style('tooltip-metaimage', plugins_url('/css/tooltip-metaimage.css',dirname(__FILE__)),array(), WPMSEO_VERSION);
|
478 |
+
wp_enqueue_style('style', plugins_url('/css/style.css', dirname(__FILE__) ),array(), WPMSEO_VERSION);
|
479 |
}
|
480 |
|
481 |
function register_menu_page() {
|
776 |
}
|
777 |
|
778 |
private function ajaxHandle(){
|
779 |
+
//
|
780 |
+
add_action( 'wp_ajax_scanPosts', array('MetaSeo_Image_List_Table', 'scan_posts_callback') );
|
781 |
+
add_action( 'wp_ajax_load_posts', array('MetaSeo_Image_List_Table', 'load_posts_callback') );
|
782 |
+
add_action( 'wp_ajax_optimize_imgs', array('MetaSeo_Image_List_Table', 'optimizeImages') );
|
783 |
+
add_action( 'wp_ajax_updateMeta', array('MetaSeo_Image_List_Table', 'updateMeta_callback') );
|
784 |
+
//add_action( 'wp_ajax_opt_checking', array('MetaSeo_Dashboard', 'optimizationChecking') );
|
785 |
+
//
|
786 |
+
add_action( 'wp_ajax_import_meta_data', array('MetaSeo_Content_List_Table', 'importMetaData') );
|
787 |
+
add_action( 'wp_ajax_dismiss_import_meta', array('MetaSeo_Content_List_Table', 'dismissImport') );
|
788 |
+
add_action('wp_ajax_wpms_bulk_post_copy',array($this,'wpms_bulk_post_copy_title'));
|
789 |
+
add_action('wp_ajax_wpms_bulk_image_copy',array($this,'wpms_bulk_image_copy'));
|
790 |
+
|
791 |
+
//
|
792 |
+
add_action( 'added_post_meta' , array( 'MetaSeo_Content_List_Table', 'updateMetaSync' ), 99, 4);
|
793 |
+
add_action( 'updated_post_meta', array( 'MetaSeo_Content_List_Table', 'updateMetaSync' ), 99, 4);
|
794 |
+
add_action( 'deleted_post_meta', array( 'MetaSeo_Content_List_Table', 'deleteMetaSync' ), 99, 4);
|
795 |
+
|
796 |
+
add_action('wp_ajax_metaseo_reload_analysis',array($this,'metaseo_reload_analysis'));
|
797 |
+
add_action('wp_ajax_metaseo_validate_analysis',array($this,'metaseo_validate_analysis'));
|
798 |
}
|
799 |
|
800 |
}
|
inc/class.metaseo-content-list-table.php
CHANGED
@@ -137,9 +137,14 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
137 |
'col_title' => __('Title', 'wpms'),
|
138 |
'col_snippet' => sprintf(__('Snippet Preview %s', 'wpms'),$info),
|
139 |
'col_meta_title' => __('Meta Title', 'wpms'),
|
140 |
-
'col_meta_desc' => __('Meta Description', 'wpms')
|
141 |
);
|
142 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
143 |
return $columns;
|
144 |
}
|
145 |
|
@@ -207,10 +212,11 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
207 |
$orderStr =' ORDER BY ' . $orderStr;
|
208 |
}
|
209 |
|
210 |
-
$query = "SELECT ID, post_title, post_name, post_type, post_status , mt.meta_value AS metatitle, md.meta_value AS metadesc "
|
211 |
. " FROM $wpdb->posts "
|
212 |
. " LEFT JOIN (SELECT * FROM $wpdb->postmeta WHERE meta_key = '_metaseo_metatitle') mt ON mt.post_id = $wpdb->posts.ID "
|
213 |
. " LEFT JOIN (SELECT * FROM $wpdb->postmeta WHERE meta_key = '_metaseo_metadesc') md ON md.post_id = $wpdb->posts.ID "
|
|
|
214 |
. " WHERE ". implode(' AND ', $where) . $orderStr;
|
215 |
|
216 |
$total_items = $wpdb->query($query);
|
@@ -355,6 +361,12 @@ class MetaSeo_Content_List_Table extends WP_List_Table {
|
|
355 |
$input .= sprintf('<div class="title-len" id="%1$s"></div>', 'metaseo-metatitle-len' . $rec->ID);
|
356 |
echo sprintf('<td %2$s>%1$s</td>', $input, $attributes);
|
357 |
break;
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
|
359 |
case 'col_meta_desc':
|
360 |
$input = sprintf('</br><textarea class="large-text metaseo-metadesc" rows="3" id="%1$s" name="%2$s" autocomplete="off">%3$s</textarea>', 'metaseo-metadesc-' . $rec->ID, ' metades['. $rec->ID.']', (($rec->metadesc ) ? $rec->metadesc : ''));
|
137 |
'col_title' => __('Title', 'wpms'),
|
138 |
'col_snippet' => sprintf(__('Snippet Preview %s', 'wpms'),$info),
|
139 |
'col_meta_title' => __('Meta Title', 'wpms'),
|
|
|
140 |
);
|
141 |
+
|
142 |
+
$settings = get_option( '_metaseo_settings' );
|
143 |
+
if(isset($settings['metaseo_showkeywords']) && $settings['metaseo_showkeywords'] == 1){
|
144 |
+
$columns['col_meta_keywords'] = __('Meta Keywords', 'wpms');
|
145 |
+
}
|
146 |
+
$columns['col_meta_desc'] = __('Meta Description', 'wpms');
|
147 |
+
|
148 |
return $columns;
|
149 |
}
|
150 |
|
212 |
$orderStr =' ORDER BY ' . $orderStr;
|
213 |
}
|
214 |
|
215 |
+
$query = "SELECT ID, post_title, post_name, post_type, post_status , mt.meta_value AS metatitle, md.meta_value AS metadesc ,mk.meta_value AS metakeywords "
|
216 |
. " FROM $wpdb->posts "
|
217 |
. " LEFT JOIN (SELECT * FROM $wpdb->postmeta WHERE meta_key = '_metaseo_metatitle') mt ON mt.post_id = $wpdb->posts.ID "
|
218 |
. " LEFT JOIN (SELECT * FROM $wpdb->postmeta WHERE meta_key = '_metaseo_metadesc') md ON md.post_id = $wpdb->posts.ID "
|
219 |
+
. " LEFT JOIN (SELECT * FROM $wpdb->postmeta WHERE meta_key = '_metaseo_metakeywords') mk ON mk.post_id = $wpdb->posts.ID "
|
220 |
. " WHERE ". implode(' AND ', $where) . $orderStr;
|
221 |
|
222 |
$total_items = $wpdb->query($query);
|
361 |
$input .= sprintf('<div class="title-len" id="%1$s"></div>', 'metaseo-metatitle-len' . $rec->ID);
|
362 |
echo sprintf('<td %2$s>%1$s</td>', $input, $attributes);
|
363 |
break;
|
364 |
+
|
365 |
+
case 'col_meta_keywords':
|
366 |
+
$input = sprintf('</br><textarea class="large-text metaseo-metakeywords" rows="3" id="%1$s" name="%2$s" autocomplete="off">%3$s</textarea>', 'metaseo-metakeywords-' . $rec->ID, 'metakeywords['. $rec->ID.']', ( ($rec->metakeywords ) ? $rec->metakeywords : ''));
|
367 |
+
$input .= sprintf('<div class="keywords-len" id="%1$s"></div>', 'metaseo-metakeywords-len' . $rec->ID);
|
368 |
+
echo sprintf('<td %2$s>%1$s</td>', $input, $attributes);
|
369 |
+
break;
|
370 |
|
371 |
case 'col_meta_desc':
|
372 |
$input = sprintf('</br><textarea class="large-text metaseo-metadesc" rows="3" id="%1$s" name="%2$s" autocomplete="off">%3$s</textarea>', 'metaseo-metadesc-' . $rec->ID, ' metades['. $rec->ID.']', (($rec->metadesc ) ? $rec->metadesc : ''));
|
inc/class.metaseo-dashboard.php
CHANGED
@@ -31,9 +31,6 @@ class MetaSeo_Dashboard {
|
|
31 |
$response = array(
|
32 |
'imgs_statis' => array(0, 0),
|
33 |
'imgs_metas_statis' => array(0, 0),
|
34 |
-
'meta_title_statis' => array(0, 0),
|
35 |
-
'meta_desc_statis' => array(0, 0),
|
36 |
-
'metacontent' => array(0, 0),
|
37 |
);
|
38 |
foreach ($meta_keys as $meta_key) {
|
39 |
$imgs_metas_are_good[$meta_key] = 0;
|
@@ -54,6 +51,8 @@ class MetaSeo_Dashboard {
|
|
54 |
$upload_dir = wp_upload_dir();
|
55 |
|
56 |
foreach ($posts as $post) {
|
|
|
|
|
57 |
$dom = $doc->loadHTML($post->post_content);
|
58 |
$tags = $doc->getElementsByTagName('img');
|
59 |
foreach ($tags as $tag) {
|
@@ -82,13 +81,12 @@ class MetaSeo_Dashboard {
|
|
82 |
$width = $height * ($ratio_origin);
|
83 |
}
|
84 |
|
85 |
-
if ($real_width <= $width && $real_height <= $height) {
|
86 |
$imgs_are_good++;
|
87 |
}
|
88 |
-
|
89 |
foreach ($meta_keys as $meta_key) {
|
90 |
|
91 |
-
if (trim($tag->getAttribute($meta_key))) {
|
92 |
$imgs_metas_are_good[$meta_key] ++;
|
93 |
}
|
94 |
}
|
@@ -97,7 +95,7 @@ class MetaSeo_Dashboard {
|
|
97 |
$imgs++;
|
98 |
}
|
99 |
}
|
100 |
-
|
101 |
//Report analytic of images optimization
|
102 |
$response['imgs_statis'][0] = $imgs_are_good;
|
103 |
$response['imgs_statis'][1] = $imgs;
|
@@ -105,40 +103,6 @@ class MetaSeo_Dashboard {
|
|
105 |
$response['imgs_metas_statis'][1] = $imgs;
|
106 |
}
|
107 |
|
108 |
-
//Get number of post/page and number of images inserted into them
|
109 |
-
$posts_counter = wp_count_posts('post');
|
110 |
-
$pages_counter = wp_count_posts('page');
|
111 |
-
$posts_pages_total = $posts_counter->publish + $pages_counter->publish;
|
112 |
-
$response['meta_title_statis'][1] = $posts_pages_total;
|
113 |
-
$response['meta_desc_statis'][1] = $posts_pages_total;
|
114 |
-
|
115 |
-
$query = "SELECT `meta_key`, count( `meta_value` ) as total
|
116 |
-
FROM $wpdb->postmeta
|
117 |
-
WHERE `meta_key` = '_metaseo_metatitle' AND `meta_value` <> ''
|
118 |
-
UNION (
|
119 |
-
SELECT `meta_key`, count( `meta_value` ) as total
|
120 |
-
FROM $wpdb->postmeta
|
121 |
-
WHERE `meta_key` = '_metaseo_metadesc' AND `meta_value` <> ''
|
122 |
-
)";
|
123 |
-
|
124 |
-
$alias_names = array('_metaseo_metatitle' => 'meta_title_statis', '_metaseo_metadesc' => 'meta_desc_statis');
|
125 |
-
|
126 |
-
$results = $wpdb->get_results($query);
|
127 |
-
if (count($results) > 0) {
|
128 |
-
$count_tt_desc = 0;
|
129 |
-
foreach ($results as $result) {
|
130 |
-
if ($result->meta_key === NULL) {
|
131 |
-
continue;
|
132 |
-
}
|
133 |
-
//Report analytic of content meta
|
134 |
-
$count_tt_desc +=(int) $result->total;
|
135 |
-
$response[$alias_names[$result->meta_key]][0] = (int) $result->total;
|
136 |
-
$response[$alias_names[$result->meta_key]][1] = $posts_pages_total;
|
137 |
-
}
|
138 |
-
$response['metacontent'][0] = ceil($count_tt_desc / 2);
|
139 |
-
$response['metacontent'][1] = $posts_pages_total;
|
140 |
-
}
|
141 |
-
|
142 |
return $response;
|
143 |
}
|
144 |
|
@@ -235,13 +199,16 @@ class MetaSeo_Dashboard {
|
|
235 |
return $results;
|
236 |
}else{
|
237 |
foreach ($mposts as $post){
|
|
|
|
|
|
|
238 |
$meta_title = get_post_meta($post->ID, '_metaseo_metatitle', true);
|
239 |
$meta_desc = get_post_meta($post->ID, '_metaseo_metadesc', true);
|
240 |
-
if($meta_title != '' && strlen($meta_title) <= self::$meta_title_length ){
|
241 |
self::$metatitle_filled++;
|
242 |
}
|
243 |
|
244 |
-
if($meta_desc != '' && strlen($meta_desc) <= self::$meta_desc_length ){
|
245 |
self::$metadesc_filled++;
|
246 |
}
|
247 |
}
|
31 |
$response = array(
|
32 |
'imgs_statis' => array(0, 0),
|
33 |
'imgs_metas_statis' => array(0, 0),
|
|
|
|
|
|
|
34 |
);
|
35 |
foreach ($meta_keys as $meta_key) {
|
36 |
$imgs_metas_are_good[$meta_key] = 0;
|
51 |
$upload_dir = wp_upload_dir();
|
52 |
|
53 |
foreach ($posts as $post) {
|
54 |
+
$meta_analysis = get_post_meta($post->ID, 'wpms_validate_analysis',true);
|
55 |
+
if(empty($meta_analysis)) $meta_analysis = array();
|
56 |
$dom = $doc->loadHTML($post->post_content);
|
57 |
$tags = $doc->getElementsByTagName('img');
|
58 |
foreach ($tags as $tag) {
|
81 |
$width = $height * ($ratio_origin);
|
82 |
}
|
83 |
|
84 |
+
if (($real_width <= $width && $real_height <= $height) || (!empty($meta_analysis) && !empty($meta_analysis['imgresize']))) {
|
85 |
$imgs_are_good++;
|
86 |
}
|
|
|
87 |
foreach ($meta_keys as $meta_key) {
|
88 |
|
89 |
+
if (trim($tag->getAttribute($meta_key)) || (!empty($meta_analysis) && !empty($meta_analysis['imgalt']))) {
|
90 |
$imgs_metas_are_good[$meta_key] ++;
|
91 |
}
|
92 |
}
|
95 |
$imgs++;
|
96 |
}
|
97 |
}
|
98 |
+
|
99 |
//Report analytic of images optimization
|
100 |
$response['imgs_statis'][0] = $imgs_are_good;
|
101 |
$response['imgs_statis'][1] = $imgs;
|
103 |
$response['imgs_metas_statis'][1] = $imgs;
|
104 |
}
|
105 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
106 |
return $response;
|
107 |
}
|
108 |
|
199 |
return $results;
|
200 |
}else{
|
201 |
foreach ($mposts as $post){
|
202 |
+
$meta_analysis = get_post_meta($post->ID, 'wpms_validate_analysis',true);
|
203 |
+
if(empty($meta_analysis)) $meta_analysis = array();
|
204 |
+
|
205 |
$meta_title = get_post_meta($post->ID, '_metaseo_metatitle', true);
|
206 |
$meta_desc = get_post_meta($post->ID, '_metaseo_metadesc', true);
|
207 |
+
if(($meta_title != '' && strlen($meta_title) <= self::$meta_title_length ) || (!empty($meta_analysis) && !empty($meta_analysis['metatitle']))){
|
208 |
self::$metatitle_filled++;
|
209 |
}
|
210 |
|
211 |
+
if(($meta_desc != '' && strlen($meta_desc) <= self::$meta_desc_length ) || (!empty($meta_analysis) && !empty($meta_analysis['metadesc'])) ){
|
212 |
self::$metadesc_filled++;
|
213 |
}
|
214 |
}
|
inc/class.metaseo-meta.php
CHANGED
@@ -6,7 +6,9 @@ class WPMSEO_Meta {
|
|
6 |
public static $form_prefix = 'metaseo_wpmseo_';
|
7 |
public static $meta_length = 156;
|
8 |
public static $meta_title_length = 69;
|
|
|
9 |
public static $meta_length_reason = '';
|
|
|
10 |
public static $meta_fields = array(
|
11 |
'general' => array(
|
12 |
'snippetpreview' => array(
|
@@ -22,6 +24,14 @@ class WPMSEO_Meta {
|
|
22 |
'help' => '', // Translation added later.
|
23 |
'rows' => 2
|
24 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
'desc' => array(
|
26 |
'type' => 'textarea',
|
27 |
'title' => '', // Translation added later.
|
6 |
public static $form_prefix = 'metaseo_wpmseo_';
|
7 |
public static $meta_length = 156;
|
8 |
public static $meta_title_length = 69;
|
9 |
+
public static $meta_keywords_length = 256;
|
10 |
public static $meta_length_reason = '';
|
11 |
+
|
12 |
public static $meta_fields = array(
|
13 |
'general' => array(
|
14 |
'snippetpreview' => array(
|
24 |
'help' => '', // Translation added later.
|
25 |
'rows' => 2
|
26 |
),
|
27 |
+
'keywords' => array(
|
28 |
+
'type' => 'textarea',
|
29 |
+
'title' => '', // Translation added later.
|
30 |
+
'default_value' => '',
|
31 |
+
'description' => '', // Translation added later.
|
32 |
+
'help' => '', // Translation added later.
|
33 |
+
'rows' => 2
|
34 |
+
),
|
35 |
'desc' => array(
|
36 |
'type' => 'textarea',
|
37 |
'title' => '', // Translation added later.
|
inc/class.metaseo-metabox.php
CHANGED
@@ -60,6 +60,16 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
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);
|
@@ -115,12 +125,31 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
115 |
wp_enqueue_script('metaseo-cliffpyles', plugins_url('js/cliffpyles.js', WPMSEO_FILE), array('jquery'),WPMSEO_VERSION, true);
|
116 |
wp_localize_script('m-wp-seo-metabox', 'wpmseoMetaboxL10n', $this->meta_seo_localize_script());
|
117 |
wp_localize_script( 'mwpseo-admin-media', 'wpmseoMediaL10n', $this->metaseo_localize_media_script() );
|
|
|
118 |
}
|
119 |
}
|
120 |
|
121 |
public function metaseo_localize_media_script() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
return array(
|
123 |
'choose_image' => __( 'Use Image', 'wpms' ),
|
|
|
124 |
);
|
125 |
}
|
126 |
|
@@ -177,18 +206,26 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
177 |
}
|
178 |
|
179 |
$cached_replacement_vars['sitename'] = get_option('blogname');
|
180 |
-
|
181 |
'field_prefix' => self::$form_prefix,
|
182 |
'choose_image' => __('Use Image', 'wpms'),
|
183 |
'wpmseo_meta_desc_length' => self::$meta_length,
|
184 |
'wpmseo_meta_title_length' => self::$meta_title_length,
|
|
|
185 |
'wpmseo_title_template' => $title_template,
|
186 |
'wpmseo_desc_template' => $desc_template,
|
187 |
'wpmseo_permalink_template' => $sample_permalink,
|
188 |
'wpmseo_keyword_suggest_nonce' => wp_create_nonce('wpmseo-get-suggest'),
|
189 |
'wpmseo_replace_vars_nonce' => wp_create_nonce('wpmseo-replace-vars'),
|
190 |
'no_parent_text' => __('(no parent)', 'wpms'),
|
191 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
192 |
}
|
193 |
|
194 |
function is_metabox_hidden($post_type = null) {
|
@@ -279,7 +316,13 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
279 |
echo '</div>';
|
280 |
}
|
281 |
|
282 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
if($meta_title != ''){
|
284 |
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($meta_title));//explode(' ' , strtolower($meta_title));
|
285 |
$words_post_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title)); //explode(' ' , strtolower($post->post_title));
|
@@ -297,21 +340,21 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
297 |
$test = false;
|
298 |
}
|
299 |
|
300 |
-
if($test){
|
301 |
-
$output = '
|
302 |
$this->perc_score++;
|
303 |
}else{
|
304 |
-
$output = '
|
305 |
}
|
306 |
|
307 |
}else{
|
308 |
-
$output = '
|
309 |
$this->perc_score++;
|
310 |
}
|
311 |
return $output;
|
312 |
}
|
313 |
|
314 |
-
function metaseo_check_content($post,$tooltip_page){
|
315 |
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title));
|
316 |
$words_post_content = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_content));
|
317 |
$test1 = false;
|
@@ -325,54 +368,54 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
325 |
}else{
|
326 |
$test1 = false;
|
327 |
}
|
328 |
-
|
329 |
-
if($test1){
|
330 |
-
$output = '
|
331 |
$this->perc_score++;
|
332 |
}else{
|
333 |
-
$output = '
|
334 |
}
|
335 |
|
336 |
return $output;
|
337 |
}
|
338 |
|
339 |
-
function metaseo_check_pageurl($post,$tooltip_page){
|
340 |
$pageurl = get_permalink($post->ID);
|
341 |
$info = pathinfo($pageurl);
|
342 |
|
343 |
-
if($info['filename'] == sanitize_title($post->post_title)){
|
344 |
-
$output = '
|
345 |
$this->perc_score++;
|
346 |
}else{
|
347 |
-
$output = '
|
348 |
}
|
349 |
|
350 |
return $output;
|
351 |
}
|
352 |
|
353 |
-
function metaseo_check_metatitle($meta_title,$tooltip_page){
|
354 |
-
if($meta_title != '' && strlen($meta_title) <= self::$meta_title_length){
|
355 |
-
$output = '
|
356 |
$this->perc_score++;
|
357 |
}else{
|
358 |
-
$output = '
|
359 |
}
|
360 |
return $output;
|
361 |
}
|
362 |
|
363 |
-
function metaseo_check_metadesc($meta_desc,$tooltip_page){
|
364 |
-
if($meta_desc != '' && strlen($meta_desc) <= self::$meta_length){
|
365 |
-
$output = '
|
366 |
$this->perc_score++;
|
367 |
}else{
|
368 |
-
$output = '
|
369 |
}
|
370 |
return $output;
|
371 |
}
|
372 |
|
373 |
-
function metaseo_check_imageresize($content,$tooltip_page){
|
374 |
if($content == '') {
|
375 |
-
$output = '
|
376 |
$this->perc_score++;
|
377 |
return $output;
|
378 |
}
|
@@ -395,22 +438,22 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
395 |
}
|
396 |
}
|
397 |
|
398 |
-
if($img_wrong){
|
399 |
-
$output = '
|
400 |
-
}else{
|
401 |
-
$output = '<div class="metaseo_analysis metaseo_tool" alt="'.$tooltip_page['image_resize'].'"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Wrong image resize','wpms').'</div>';
|
402 |
$this->perc_score++;
|
|
|
|
|
403 |
}
|
404 |
|
405 |
}else{
|
406 |
-
$output = '
|
407 |
}
|
408 |
return $output;
|
409 |
}
|
410 |
|
411 |
-
function metaseo_check_imagealt($content,$tooltip_page){
|
412 |
if($content == '') {
|
413 |
-
$output = '
|
414 |
$this->perc_score++;
|
415 |
return $output;
|
416 |
}
|
@@ -428,15 +471,15 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
428 |
}
|
429 |
}
|
430 |
|
431 |
-
if($img_wrong){
|
432 |
-
$output = '
|
433 |
-
}else{
|
434 |
-
$output = '<div class="metaseo_analysis metaseo_tool" alt="'.$tooltip_page['image_alt'].'"><div class="metaseo-dashicons dashicons-before dashicons-yes"></div>'.__('Image have meta title or alt','wpms').'</div>';
|
435 |
$this->perc_score++;
|
|
|
|
|
436 |
}
|
437 |
|
438 |
}else{
|
439 |
-
$output = '
|
440 |
}
|
441 |
return $output;
|
442 |
}
|
@@ -453,24 +496,27 @@ class WPMSEO_Metabox extends WPMSEO_Meta {
|
|
453 |
|
454 |
$meta_title = get_post_meta($post->ID, '_metaseo_metatitle', true);
|
455 |
$meta_desc = get_post_meta($post->ID, '_metaseo_metadesc', true);
|
456 |
-
$
|
457 |
-
$
|
458 |
-
$
|
459 |
-
$
|
460 |
-
$
|
461 |
-
$
|
462 |
-
$
|
|
|
|
|
463 |
|
464 |
$output = '';
|
465 |
$circliful = ceil(100*($this->perc_score)/7);
|
466 |
//$output .= '<div class="metaseo_right"><div id="metaseo_circliful"data-dimension="250" data-text="'.$circliful.'%" data-info="" data-width="20" data-fontsize="38" data-percent="'.$circliful.'" data-fgcolor="#7bd095" data-bgcolor="#e5e5e5" style="color:#7bd095" ></div><div>';
|
467 |
$output .= '<div class="metaseo_left">
|
468 |
-
<div class="metaseo-progress-bar">
|
469 |
<canvas id="inactiveProgress" class="metaseo-progress-inactive" height="275px" width="275px"></canvas>
|
470 |
<canvas id="activeProgress" class="metaseo-progress-active" height="275px" width="275px"></canvas>
|
471 |
<p>0%</p>
|
472 |
</div>
|
473 |
<input type="hidden" id="progressController" value="'.$circliful.'" />
|
|
|
474 |
</div>';
|
475 |
|
476 |
$output .= '<div class="metaseo_right">';
|
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 |
+
$settings = get_option( '_metaseo_settings' );
|
65 |
+
if(isset($settings['metaseo_showkeywords']) && $settings['metaseo_showkeywords'] == 1){
|
66 |
+
self::$meta_fields['general']['keywords']['title'] = __('Search engine keywords', 'wpms');
|
67 |
+
self::$meta_fields['general']['keywords']['description'] = '<span id="metaseo_wpmseo_keywords-length"></span>';
|
68 |
+
self::$meta_fields['general']['keywords']['help'] = __('This is the keywords of your content that may be displayed in search engine results (meta keywords).', 'wpms');
|
69 |
+
}else{
|
70 |
+
unset(self::$meta_fields['general']['keywords']);
|
71 |
+
}
|
72 |
+
|
73 |
|
74 |
self::$meta_fields['general']['desc']['title'] = __('Search engine description', 'wpms');
|
75 |
self::$meta_fields['general']['desc']['description'] = sprintf(__('<span id="metaseo_wpmseo_desc-length">%s</span>'),self::$meta_length_reason);
|
125 |
wp_enqueue_script('metaseo-cliffpyles', plugins_url('js/cliffpyles.js', WPMSEO_FILE), array('jquery'),WPMSEO_VERSION, true);
|
126 |
wp_localize_script('m-wp-seo-metabox', 'wpmseoMetaboxL10n', $this->meta_seo_localize_script());
|
127 |
wp_localize_script( 'mwpseo-admin-media', 'wpmseoMediaL10n', $this->metaseo_localize_media_script() );
|
128 |
+
wp_localize_script( 'metaseo-cliffpyles', 'wpmscliffpyles', $this->metaseo_localize_media_script() );
|
129 |
}
|
130 |
}
|
131 |
|
132 |
public function metaseo_localize_media_script() {
|
133 |
+
$this->settings = array(
|
134 |
+
"metaseo_title_home"=>"",
|
135 |
+
"metaseo_desc_home"=>"",
|
136 |
+
"metaseo_showfacebook"=>"",
|
137 |
+
"metaseo_showtwitter"=>"",
|
138 |
+
"metaseo_twitter_card"=>"summary",
|
139 |
+
"metaseo_showkeywords"=>0,
|
140 |
+
"metaseo_showtmetablock"=>1,
|
141 |
+
"metaseo_showsocial" => 1,
|
142 |
+
"metaseo_seovalidate" => 0
|
143 |
+
);
|
144 |
+
$settings = get_option( '_metaseo_settings' );
|
145 |
+
|
146 |
+
if(is_array($settings)){
|
147 |
+
$this->settings = array_merge($this->settings, $settings);
|
148 |
+
}
|
149 |
+
|
150 |
return array(
|
151 |
'choose_image' => __( 'Use Image', 'wpms' ),
|
152 |
+
'use_validate' => $this->settings['metaseo_seovalidate']
|
153 |
);
|
154 |
}
|
155 |
|
206 |
}
|
207 |
|
208 |
$cached_replacement_vars['sitename'] = get_option('blogname');
|
209 |
+
$array_keyword = array(
|
210 |
'field_prefix' => self::$form_prefix,
|
211 |
'choose_image' => __('Use Image', 'wpms'),
|
212 |
'wpmseo_meta_desc_length' => self::$meta_length,
|
213 |
'wpmseo_meta_title_length' => self::$meta_title_length,
|
214 |
+
'wpmseo_meta_keywords_length' => self::$meta_keywords_length,
|
215 |
'wpmseo_title_template' => $title_template,
|
216 |
'wpmseo_desc_template' => $desc_template,
|
217 |
'wpmseo_permalink_template' => $sample_permalink,
|
218 |
'wpmseo_keyword_suggest_nonce' => wp_create_nonce('wpmseo-get-suggest'),
|
219 |
'wpmseo_replace_vars_nonce' => wp_create_nonce('wpmseo-replace-vars'),
|
220 |
'no_parent_text' => __('(no parent)', 'wpms'),
|
221 |
+
'show_keywords' => 0
|
222 |
+
);
|
223 |
+
$settings = get_option( '_metaseo_settings' );
|
224 |
+
if(isset($settings['metaseo_showkeywords']) && $settings['metaseo_showkeywords'] == 1){
|
225 |
+
$array_keyword['show_keywords'] = 1;
|
226 |
+
}
|
227 |
+
|
228 |
+
return array_merge($cached_replacement_vars, $array_keyword);
|
229 |
}
|
230 |
|
231 |
function is_metabox_hidden($post_type = null) {
|
316 |
echo '</div>';
|
317 |
}
|
318 |
|
319 |
+
function metaseo_create_field($data_title,$alt,$dashicon,$label,$value_hidden){
|
320 |
+
$output = '<div class="metaseo_analysis metaseo_tool 123" data-title="'.$data_title.'" alt="'.$alt.'"><div class="metaseo-dashicons dashicons-before '.$dashicon.'"></div>'.$label.'</div>';
|
321 |
+
$output .= '<input type="hidden" class="wpms_analysis_hidden" name="wpms['.$data_title.']" value="'.$value_hidden.'">';
|
322 |
+
return $output;
|
323 |
+
}
|
324 |
+
|
325 |
+
function metaseo_check_headingtitle($post,$meta_title,$tooltip_page,$meta_analysis){
|
326 |
if($meta_title != ''){
|
327 |
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($meta_title));//explode(' ' , strtolower($meta_title));
|
328 |
$words_post_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title)); //explode(' ' , strtolower($post->post_title));
|
340 |
$test = false;
|
341 |
}
|
342 |
|
343 |
+
if($test || (!empty($meta_analysis) && !empty($meta_analysis['heading_title']))){
|
344 |
+
$output = $this->metaseo_create_field('heading_title',$tooltip_page['title_in_heading'],'dashicons-yes',__('Page title word in content heading','wpms'),1);
|
345 |
$this->perc_score++;
|
346 |
}else{
|
347 |
+
$output = $this->metaseo_create_field('heading_title',$tooltip_page['title_in_heading'],'icons-mwarning',__('Page title word in content heading','wpms'),0);
|
348 |
}
|
349 |
|
350 |
}else{
|
351 |
+
$output = $this->metaseo_create_field('heading_title',$tooltip_page['title_in_heading'],'dashicons-yes',__('Page title word in content heading','wpms'),1);
|
352 |
$this->perc_score++;
|
353 |
}
|
354 |
return $output;
|
355 |
}
|
356 |
|
357 |
+
function metaseo_check_content($post,$tooltip_page,$meta_analysis){
|
358 |
$words_meta_title = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_title));
|
359 |
$words_post_content = preg_split('~[^\p{L}\p{N}\']+~u',strtolower($post->post_content));
|
360 |
$test1 = false;
|
368 |
}else{
|
369 |
$test1 = false;
|
370 |
}
|
371 |
+
|
372 |
+
if($test1 || (!empty($meta_analysis) && !empty($meta_analysis['content_title']))){
|
373 |
+
$output = $this->metaseo_create_field('content_title',$tooltip_page['title_in_content'],'dashicons-yes',__('Page title word in content','wpms'),1);
|
374 |
$this->perc_score++;
|
375 |
}else{
|
376 |
+
$output = $this->metaseo_create_field('content_title',$tooltip_page['title_in_content'],'icons-mwarning',__('Page title word in content','wpms'),0);
|
377 |
}
|
378 |
|
379 |
return $output;
|
380 |
}
|
381 |
|
382 |
+
function metaseo_check_pageurl($post,$tooltip_page,$meta_analysis){
|
383 |
$pageurl = get_permalink($post->ID);
|
384 |
$info = pathinfo($pageurl);
|
385 |
|
386 |
+
if($info['filename'] == sanitize_title($post->post_title) || (!empty($meta_analysis) && !empty($meta_analysis['pageurl']))){
|
387 |
+
$output = $this->metaseo_create_field('pageurl',$tooltip_page['page_url'],'dashicons-yes',__('Page url matches with page title','wpms'),1);
|
388 |
$this->perc_score++;
|
389 |
}else{
|
390 |
+
$output = $this->metaseo_create_field('pageurl',$tooltip_page['page_url'],'icons-mwarning',__('Page url matches with page title','wpms'),0);
|
391 |
}
|
392 |
|
393 |
return $output;
|
394 |
}
|
395 |
|
396 |
+
function metaseo_check_metatitle($meta_title,$tooltip_page,$meta_analysis){
|
397 |
+
if(($meta_title != '' && strlen($meta_title) <= self::$meta_title_length) || (!empty($meta_analysis) && !empty($meta_analysis['metatitle'])) ){
|
398 |
+
$output = $this->metaseo_create_field('metatitle',$tooltip_page['meta_title'],'dashicons-yes',__('Meta title filled','wpms'),1);
|
399 |
$this->perc_score++;
|
400 |
}else{
|
401 |
+
$output = $this->metaseo_create_field('metatitle',$tooltip_page['meta_title'],'icons-mwarning',__('Meta title filled','wpms'),0);
|
402 |
}
|
403 |
return $output;
|
404 |
}
|
405 |
|
406 |
+
function metaseo_check_metadesc($meta_desc,$tooltip_page,$meta_analysis){
|
407 |
+
if(($meta_desc != '' && strlen($meta_desc) <= self::$meta_length) || (!empty($meta_analysis) && !empty($meta_analysis['metadesc'])) ){
|
408 |
+
$output = $this->metaseo_create_field('metadesc',$tooltip_page['meta_desc'],'dashicons-yes',__('Meta description filled','wpms'),1);
|
409 |
$this->perc_score++;
|
410 |
}else{
|
411 |
+
$output = $this->metaseo_create_field('metadesc',$tooltip_page['meta_desc'],'icons-mwarning',__('Meta description filled','wpms'),0);
|
412 |
}
|
413 |
return $output;
|
414 |
}
|
415 |
|
416 |
+
function metaseo_check_imageresize($content,$tooltip_page,$meta_analysis){
|
417 |
if($content == '') {
|
418 |
+
$output = $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'dashicons-yes',__('Wrong image resize','wpms'),1);
|
419 |
$this->perc_score++;
|
420 |
return $output;
|
421 |
}
|
438 |
}
|
439 |
}
|
440 |
|
441 |
+
if($img_wrong == false || (!empty($meta_analysis) && !empty($meta_analysis['imgresize']))){
|
442 |
+
$output = $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'dashicons-yes',__('Wrong image resize','wpms'),1);
|
|
|
|
|
443 |
$this->perc_score++;
|
444 |
+
}else{
|
445 |
+
$output = $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'icons-mwarning',__('Wrong image resize','wpms'),0);
|
446 |
}
|
447 |
|
448 |
}else{
|
449 |
+
$output = $this->metaseo_create_field('imgresize',$tooltip_page['image_resize'],'icons-mwarning',__('Wrong image resize','wpms'),0);
|
450 |
}
|
451 |
return $output;
|
452 |
}
|
453 |
|
454 |
+
function metaseo_check_imagealt($content,$tooltip_page,$meta_analysis){
|
455 |
if($content == '') {
|
456 |
+
$output = $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'dashicons-yes',__('Image have meta title or alt','wpms'),1);
|
457 |
$this->perc_score++;
|
458 |
return $output;
|
459 |
}
|
471 |
}
|
472 |
}
|
473 |
|
474 |
+
if($img_wrong == false || (!empty($meta_analysis) && !empty($meta_analysis['imgalt']))){
|
475 |
+
$output = $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'dashicons-yes',__('Image have meta title or alt','wpms'),1);
|
|
|
|
|
476 |
$this->perc_score++;
|
477 |
+
}else{
|
478 |
+
$output = $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'icons-mwarning',__('Image have meta title or alt','wpms'),0);
|
479 |
}
|
480 |
|
481 |
}else{
|
482 |
+
$output = $this->metaseo_create_field('imgalt',$tooltip_page['image_alt'],'icons-mwarning',__('Image have meta title or alt','wpms'),0);
|
483 |
}
|
484 |
return $output;
|
485 |
}
|
496 |
|
497 |
$meta_title = get_post_meta($post->ID, '_metaseo_metatitle', true);
|
498 |
$meta_desc = get_post_meta($post->ID, '_metaseo_metadesc', true);
|
499 |
+
$meta_analysis = get_post_meta($post->ID, 'wpms_validate_analysis',true);
|
500 |
+
if(empty($meta_analysis)) $meta_analysis = array();
|
501 |
+
$headingtitle = $this->metaseo_check_headingtitle($post,$meta_title,$tooltip_page,$meta_analysis);
|
502 |
+
$contenttitle = $this->metaseo_check_content($post,$tooltip_page,$meta_analysis);
|
503 |
+
$output_pageurl = $this->metaseo_check_pageurl($post,$tooltip_page,$meta_analysis);
|
504 |
+
$output_metatitle = $this->metaseo_check_metatitle($meta_title,$tooltip_page,$meta_analysis);
|
505 |
+
$output_metadesc = $this->metaseo_check_metadesc($meta_desc,$tooltip_page,$meta_analysis);
|
506 |
+
$output_imagewrong = $this->metaseo_check_imageresize($post->post_content,$tooltip_page,$meta_analysis);
|
507 |
+
$output_imagealt = $this->metaseo_check_imagealt($post->post_content,$tooltip_page,$meta_analysis);
|
508 |
|
509 |
$output = '';
|
510 |
$circliful = ceil(100*($this->perc_score)/7);
|
511 |
//$output .= '<div class="metaseo_right"><div id="metaseo_circliful"data-dimension="250" data-text="'.$circliful.'%" data-info="" data-width="20" data-fontsize="38" data-percent="'.$circliful.'" data-fgcolor="#7bd095" data-bgcolor="#e5e5e5" style="color:#7bd095" ></div><div>';
|
512 |
$output .= '<div class="metaseo_left">
|
513 |
+
<div class="metaseo-progress-bar" data-post_id="'.$post->ID.'">
|
514 |
<canvas id="inactiveProgress" class="metaseo-progress-inactive" height="275px" width="275px"></canvas>
|
515 |
<canvas id="activeProgress" class="metaseo-progress-active" height="275px" width="275px"></canvas>
|
516 |
<p>0%</p>
|
517 |
</div>
|
518 |
<input type="hidden" id="progressController" value="'.$circliful.'" />
|
519 |
+
<input type="hidden" id="metaseo_alanysis_ok" value="'.$this->perc_score.'" />
|
520 |
</div>';
|
521 |
|
522 |
$output .= '<div class="metaseo_right">';
|
inc/pages/content-meta.php
CHANGED
@@ -33,6 +33,11 @@ jQuery(document).ready(function($){
|
|
33 |
$('.metaseo-metatitle').each(function() {
|
34 |
metaseo_updateTitle(this.id, false, false);
|
35 |
});
|
|
|
|
|
|
|
|
|
|
|
36 |
$('.metaseo-metadesc').each(function() {
|
37 |
metaseo_updateDesc(this.id,false);
|
38 |
});
|
@@ -40,6 +45,10 @@ jQuery(document).ready(function($){
|
|
40 |
$('.metaseo-metatitle').bind('input propertychange', function() {
|
41 |
metaseo_updateTitle(this.id, true);
|
42 |
});
|
|
|
|
|
|
|
|
|
43 |
|
44 |
$('.metaseo-metadesc').bind('input propertychange', function() {
|
45 |
metaseo_updateDesc(this.id, true);
|
33 |
$('.metaseo-metatitle').each(function() {
|
34 |
metaseo_updateTitle(this.id, false, false);
|
35 |
});
|
36 |
+
|
37 |
+
$('.metaseo-metakeywords').each(function() {
|
38 |
+
metaseo_updatekeywords(this.id, false, false);
|
39 |
+
});
|
40 |
+
|
41 |
$('.metaseo-metadesc').each(function() {
|
42 |
metaseo_updateDesc(this.id,false);
|
43 |
});
|
45 |
$('.metaseo-metatitle').bind('input propertychange', function() {
|
46 |
metaseo_updateTitle(this.id, true);
|
47 |
});
|
48 |
+
|
49 |
+
$('.metaseo-metakeywords').bind('input propertychange', function() {
|
50 |
+
metaseo_updatekeywords(this.id, true);
|
51 |
+
});
|
52 |
|
53 |
$('.metaseo-metadesc').bind('input propertychange', function() {
|
54 |
metaseo_updateDesc(this.id, true);
|
inc/pages/dashboard.php
CHANGED
@@ -9,7 +9,6 @@ $url = 'http://www.alexa.com/siteinfo/' . $site_name;
|
|
9 |
$dashboard = new MetaSeo_Dashboard();
|
10 |
$results = $dashboard->evolutive_dashboard();
|
11 |
$results_image = $dashboard->moptimizationChecking();
|
12 |
-
|
13 |
if(!empty($results_image['imgs_statis'][1])){
|
14 |
$percent_iresizing = ceil($results_image['imgs_statis'][0]/$results_image['imgs_statis'][1]*100);
|
15 |
}else{
|
9 |
$dashboard = new MetaSeo_Dashboard();
|
10 |
$results = $dashboard->evolutive_dashboard();
|
11 |
$results_image = $dashboard->moptimizationChecking();
|
|
|
12 |
if(!empty($results_image['imgs_statis'][1])){
|
13 |
$percent_iresizing = ceil($results_image['imgs_statis'][0]/$results_image['imgs_statis'][1]*100);
|
14 |
}else{
|
js/cliffpyles.js
CHANGED
@@ -4,6 +4,11 @@ jQuery(document).ready(function ($) {
|
|
4 |
var iProgress = document.getElementById('inactiveProgress');
|
5 |
var aProgress = document.getElementById('activeProgress');
|
6 |
var iProgressCTX = iProgress.getContext('2d');
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
jQuery('#reload_analysis').on('click',function(){
|
9 |
$('.wpmseotab .spinner').css({'visibility':' inherit'}).show();
|
@@ -18,7 +23,7 @@ jQuery(document).ready(function ($) {
|
|
18 |
mcontent = tinyMCE.editors.content.getContent();
|
19 |
}
|
20 |
|
21 |
-
var data = {'title':title , 'meta_title':meta_title , 'mpageurl':mpageurl , 'meta_desc':meta_desc , 'content':mcontent};
|
22 |
$.ajax({
|
23 |
dataType : 'json',
|
24 |
method : 'POST',
|
@@ -31,6 +36,7 @@ jQuery(document).ready(function ($) {
|
|
31 |
if(res != false){
|
32 |
$('.wpmseotab .spinner').hide();
|
33 |
$('.metaseo_right').html(res.output);
|
|
|
34 |
$('#progressController').val(res.circliful).change();
|
35 |
jQuery('.metaseo_tool').qtip({
|
36 |
content: {
|
@@ -66,7 +72,7 @@ jQuery(document).ready(function ($) {
|
|
66 |
var percentage = $(this).val() / 100;
|
67 |
drawProgress(aProgress, percentage, $pCaption);
|
68 |
});
|
69 |
-
|
70 |
function drawInactive(iProgressCTX) {
|
71 |
iProgressCTX.lineCap = 'square';
|
72 |
|
@@ -112,6 +118,36 @@ jQuery(document).ready(function ($) {
|
|
112 |
|
113 |
var percentage = $pc.val() / 100;
|
114 |
drawProgress(aProgress, percentage, $pCaption);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
115 |
|
116 |
|
117 |
});
|
4 |
var iProgress = document.getElementById('inactiveProgress');
|
5 |
var aProgress = document.getElementById('activeProgress');
|
6 |
var iProgressCTX = iProgress.getContext('2d');
|
7 |
+
var mcheck = 0;
|
8 |
+
if(typeof wpmscliffpyles.use_validate != "undefined" && wpmscliffpyles.use_validate == 1){
|
9 |
+
wpms_validate_analysis();
|
10 |
+
}
|
11 |
+
|
12 |
|
13 |
jQuery('#reload_analysis').on('click',function(){
|
14 |
$('.wpmseotab .spinner').css({'visibility':' inherit'}).show();
|
23 |
mcontent = tinyMCE.editors.content.getContent();
|
24 |
}
|
25 |
|
26 |
+
var data = {'post_id': jQuery('.metaseo-progress-bar').data('post_id'),'title':title , 'meta_title':meta_title , 'mpageurl':mpageurl , 'meta_desc':meta_desc , 'content':mcontent};
|
27 |
$.ajax({
|
28 |
dataType : 'json',
|
29 |
method : 'POST',
|
36 |
if(res != false){
|
37 |
$('.wpmseotab .spinner').hide();
|
38 |
$('.metaseo_right').html(res.output);
|
39 |
+
mcheck = res.check;
|
40 |
$('#progressController').val(res.circliful).change();
|
41 |
jQuery('.metaseo_tool').qtip({
|
42 |
content: {
|
72 |
var percentage = $(this).val() / 100;
|
73 |
drawProgress(aProgress, percentage, $pCaption);
|
74 |
});
|
75 |
+
|
76 |
function drawInactive(iProgressCTX) {
|
77 |
iProgressCTX.lineCap = 'square';
|
78 |
|
118 |
|
119 |
var percentage = $pc.val() / 100;
|
120 |
drawProgress(aProgress, percentage, $pCaption);
|
121 |
+
|
122 |
+
function wpms_validate_analysis() {
|
123 |
+
jQuery(document).on('click', '.metaseo-dashicons.icons-mwarning', function(event) {
|
124 |
+
var $this = $(this);
|
125 |
+
jQuery(this).removeClass('icons-mwarning').addClass('dashicons-yes');
|
126 |
+
if(mcheck == 0){
|
127 |
+
mcheck = jQuery('#metaseo_alanysis_ok').val();
|
128 |
+
mcheck++;
|
129 |
+
}else{
|
130 |
+
mcheck++;
|
131 |
+
}
|
132 |
+
var circliful = Math.ceil((mcheck*100)/7);
|
133 |
+
jQuery.ajax({
|
134 |
+
dataType : 'json',
|
135 |
+
method : 'POST',
|
136 |
+
url : ajaxurl,
|
137 |
+
data: {
|
138 |
+
'action': 'metaseo_validate_analysis',
|
139 |
+
'post_id' : jQuery('.metaseo-progress-bar').data('post_id'),
|
140 |
+
'field' : $this.parent('.metaseo_analysis').data('title'),
|
141 |
+
},
|
142 |
+
success: function(res){
|
143 |
+
if(res != false){
|
144 |
+
$('#progressController').val(circliful).change();
|
145 |
+
}
|
146 |
+
}
|
147 |
+
});
|
148 |
+
|
149 |
+
});
|
150 |
+
}
|
151 |
|
152 |
|
153 |
});
|
js/metaseo_admin.js
CHANGED
@@ -5,6 +5,7 @@
|
|
5 |
*/
|
6 |
var title_max_len = 69;
|
7 |
var desc_max_len = 156;
|
|
|
8 |
var metaseoValueHolder = {};
|
9 |
var iUnchecked = 0;
|
10 |
|
@@ -22,6 +23,7 @@ function metaseo_clean(str) {
|
|
22 |
}
|
23 |
|
24 |
var oldTitleValues = {};
|
|
|
25 |
var oldDescValues = {};
|
26 |
var metaContentChangeWait;
|
27 |
function metaseo_updateTitle(metatitle_id, needToSave, updateSnippet) {
|
@@ -56,6 +58,36 @@ function metaseo_updateTitle(metatitle_id, needToSave, updateSnippet) {
|
|
56 |
oldTitleValues[postid] = title;
|
57 |
}
|
58 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
function metaseo_updateDesc(metadesc_id, needToSave) {
|
60 |
var desc = jQuery.trim(metaseo_clean(jQuery('#' + metadesc_id).val()));
|
61 |
var postid = metadesc_id.replace('metaseo-metadesc-', '');
|
5 |
*/
|
6 |
var title_max_len = 69;
|
7 |
var desc_max_len = 156;
|
8 |
+
var keywords_max_len = 256;
|
9 |
var metaseoValueHolder = {};
|
10 |
var iUnchecked = 0;
|
11 |
|
23 |
}
|
24 |
|
25 |
var oldTitleValues = {};
|
26 |
+
var oldKeywordsValues = {};
|
27 |
var oldDescValues = {};
|
28 |
var metaContentChangeWait;
|
29 |
function metaseo_updateTitle(metatitle_id, needToSave, updateSnippet) {
|
58 |
oldTitleValues[postid] = title;
|
59 |
}
|
60 |
|
61 |
+
function metaseo_updatekeywords(metakeywords_id, needToSave, updateSnippet) {
|
62 |
+
var keywords = jQuery.trim(metaseo_clean(jQuery('#' + metakeywords_id).val()));
|
63 |
+
var postid = metakeywords_id.replace('metaseo-metakeywords-', '');
|
64 |
+
|
65 |
+
var counter_id = 'metaseo-metakeywords-len' + postid;
|
66 |
+
console.log(keywords_max_len-keywords.length);
|
67 |
+
console.log(counter_id);
|
68 |
+
jQuery('#' + counter_id).text(keywords_max_len-keywords.length);
|
69 |
+
|
70 |
+
if (keywords.length >= keywords_max_len) {
|
71 |
+
jQuery('#' + counter_id).addClass('word-exceed');
|
72 |
+
}
|
73 |
+
else {
|
74 |
+
jQuery('#' + counter_id).removeClass('word-exceed');
|
75 |
+
}
|
76 |
+
|
77 |
+
// jQuery('#snippet_keywords' + postid).text(desc.substr(0, desc_max_len) );
|
78 |
+
|
79 |
+
if (needToSave === true && oldKeywordsValues[postid] != keywords ) {
|
80 |
+
|
81 |
+
clearTimeout(metaContentChangeWait);
|
82 |
+
metaContentChangeWait = setTimeout(function() {
|
83 |
+
saveMetaContentChanges('metakeywords', postid, keywords);
|
84 |
+
}, 1000);
|
85 |
+
}
|
86 |
+
|
87 |
+
//Push the new value into the array
|
88 |
+
oldKeywordsValues[postid] = keywords;
|
89 |
+
}
|
90 |
+
|
91 |
function metaseo_updateDesc(metadesc_id, needToSave) {
|
92 |
var desc = jQuery.trim(metaseo_clean(jQuery('#' + metadesc_id).val()));
|
93 |
var postid = metadesc_id.replace('metaseo-metadesc-', '');
|
js/wp-metaseo-metabox.js
CHANGED
@@ -143,6 +143,19 @@ function msUpdateTitle(force) {
|
|
143 |
});
|
144 |
}
|
145 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
function msSanitizeTitle(title) {
|
147 |
title = msClean(title);
|
148 |
return title;
|
@@ -228,6 +241,9 @@ function msUpdateURL() {
|
|
228 |
}
|
229 |
|
230 |
function msUpdateSnippet() {
|
|
|
|
|
|
|
231 |
msUpdateURL();
|
232 |
msUpdateTitle();
|
233 |
msUpdateDesc();
|
@@ -259,19 +275,19 @@ function metaseo_status_length(len,id){
|
|
259 |
|
260 |
jQuery(document).ready(function ($) {
|
261 |
// add countdown for title and description
|
262 |
-
var titleval = jQuery.trim(msClean(jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'title').val()));
|
263 |
-
var descval = jQuery.trim(msClean(jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'desc').val()));
|
264 |
-
if (titleval === '') {
|
265 |
-
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'title-length').html('<span class="good">'+ wpmseoMetaboxL10n.wpmseo_meta_title_length +'</span>');
|
266 |
-
}else{
|
267 |
-
metaseo_status_length(titleval.length,'#' + wpmseoMetaboxL10n.field_prefix + 'title-length');
|
268 |
-
}
|
269 |
-
if (descval === '') {
|
270 |
-
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'desc-length').html('<span class="good">'+ wpmseoMetaboxL10n.wpmseo_meta_desc_length +'</span>');
|
271 |
-
}else{
|
272 |
-
metaseo_status_length(descval.length,'#' + wpmseoMetaboxL10n.field_prefix + 'desc-length');
|
273 |
-
}
|
274 |
-
|
275 |
var replacedVars = []; // jshint ignore:line
|
276 |
|
277 |
if (jQuery('.wpmseo-metabox-tabs-div').length > 0) {
|
@@ -314,6 +330,10 @@ jQuery(document).ready(function ($) {
|
|
314 |
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'title').keyup(function () {
|
315 |
msUpdateTitle();
|
316 |
});
|
|
|
|
|
|
|
|
|
317 |
|
318 |
jQuery('#title').keyup(function () {
|
319 |
msUpdateTitle();
|
143 |
});
|
144 |
}
|
145 |
|
146 |
+
function msUpdateKeywords(){
|
147 |
+
var keywords = '';
|
148 |
+
var keywordsElm = jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'keywords');
|
149 |
+
var keywordsLengthError = jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'keywords-length-warning');
|
150 |
+
if (keywordsElm.val() !== '') {
|
151 |
+
var len = wpmseoMetaboxL10n.wpmseo_meta_keywords_length - keywordsElm.val().length;
|
152 |
+
metaseo_status_length(len,'#' + wpmseoMetaboxL10n.field_prefix + 'keywords-length');
|
153 |
+
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'keywords-length').html(len);
|
154 |
+
} else {
|
155 |
+
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'keywords-length').addClass('length-true').removeClass('length-wrong').html('<span class="good">'+ wpmseoMetaboxL10n.wpmseo_meta_keywords_length +'</span>');
|
156 |
+
}
|
157 |
+
}
|
158 |
+
|
159 |
function msSanitizeTitle(title) {
|
160 |
title = msClean(title);
|
161 |
return title;
|
241 |
}
|
242 |
|
243 |
function msUpdateSnippet() {
|
244 |
+
if(typeof wpmseoMetaboxL10n.show_keywords !="undefined" && wpmseoMetaboxL10n.show_keywords == 1){
|
245 |
+
msUpdateKeywords();
|
246 |
+
}
|
247 |
msUpdateURL();
|
248 |
msUpdateTitle();
|
249 |
msUpdateDesc();
|
275 |
|
276 |
jQuery(document).ready(function ($) {
|
277 |
// add countdown for title and description
|
278 |
+
// var titleval = jQuery.trim(msClean(jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'title').val()));
|
279 |
+
// var descval = jQuery.trim(msClean(jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'desc').val()));
|
280 |
+
// if (titleval === '') {
|
281 |
+
// jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'title-length').html('<span class="good">'+ wpmseoMetaboxL10n.wpmseo_meta_title_length +'</span>');
|
282 |
+
// }else{
|
283 |
+
// metaseo_status_length(titleval.length,'#' + wpmseoMetaboxL10n.field_prefix + 'title-length');
|
284 |
+
// }
|
285 |
+
// if (descval === '') {
|
286 |
+
// jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'desc-length').html('<span class="good">'+ wpmseoMetaboxL10n.wpmseo_meta_desc_length +'</span>');
|
287 |
+
// }else{
|
288 |
+
// metaseo_status_length(descval.length,'#' + wpmseoMetaboxL10n.field_prefix + 'desc-length');
|
289 |
+
// }
|
290 |
+
//
|
291 |
var replacedVars = []; // jshint ignore:line
|
292 |
|
293 |
if (jQuery('.wpmseo-metabox-tabs-div').length > 0) {
|
330 |
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'title').keyup(function () {
|
331 |
msUpdateTitle();
|
332 |
});
|
333 |
+
|
334 |
+
jQuery('#' + wpmseoMetaboxL10n.field_prefix + 'keywords').keyup(function () {
|
335 |
+
msUpdateKeywords();
|
336 |
+
});
|
337 |
|
338 |
jQuery('#title').keyup(function () {
|
339 |
msUpdateTitle();
|
languages/wpms-en_US.mo
CHANGED
Binary file
|
languages/wpms-en_US.po
CHANGED
@@ -9,66 +9,66 @@ msgstr ""
|
|
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.
|
13 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
|
15 |
msgid "Twitter username (without @)"
|
16 |
msgstr "Twitter username (without @)"
|
17 |
|
18 |
msgid ""
|
19 |
-
"2 plugins that are doing almost the same thing detected: disable AIO SEO or "
|
20 |
-
"
|
21 |
msgstr ""
|
22 |
-
"2 plugins that are doing almost the same thing detected: disable AIO SEO or "
|
23 |
-
"
|
24 |
|
25 |
msgid ""
|
26 |
-
"We have found that you’re using All In One SEO plugin, WP Meta SEO can "
|
27 |
-
"
|
28 |
msgstr ""
|
29 |
-
"We have found that you’re using All In One SEO plugin, WP Meta SEO can "
|
30 |
-
"
|
31 |
|
32 |
msgid ""
|
33 |
-
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
|
34 |
-
"
|
35 |
msgstr ""
|
36 |
-
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
|
37 |
-
"
|
38 |
|
39 |
msgid "Results preview"
|
40 |
msgstr "Results preview"
|
41 |
|
42 |
msgid ""
|
43 |
-
"This is a preview of what your content will looks like in search engine "
|
44 |
-
"
|
45 |
msgstr ""
|
46 |
-
"This is a preview of what your content will looks like in search engine "
|
47 |
-
"
|
48 |
|
49 |
msgid "Search engine title"
|
50 |
msgstr "Search engine title"
|
51 |
|
52 |
msgid ""
|
53 |
-
"This is the title of your content that may be displayed in search engine "
|
54 |
-
"
|
55 |
-
"
|
56 |
msgstr ""
|
57 |
-
"This is the title of your content that may be displayed in search engine "
|
58 |
-
"
|
59 |
-
"
|
60 |
|
61 |
msgid "Search engine description"
|
62 |
msgstr "Search engine description"
|
63 |
|
64 |
msgid ""
|
65 |
-
"The description of your content that may be displayed in search engine "
|
66 |
-
"
|
67 |
-
"
|
68 |
msgstr ""
|
69 |
-
"The description of your content that may be displayed in search engine "
|
70 |
-
"
|
71 |
-
"
|
72 |
|
73 |
msgid "Facebook Title"
|
74 |
msgstr "Facebook Title"
|
@@ -212,11 +212,9 @@ msgid "Filter"
|
|
212 |
msgstr "Filter"
|
213 |
|
214 |
msgid ""
|
215 |
-
"We didn't find any image which needed to be updated regarding meta "
|
216 |
-
"information"
|
217 |
msgstr ""
|
218 |
-
"We didn't find any image which needed to be updated regarding meta "
|
219 |
-
"information"
|
220 |
|
221 |
msgid "This image has still not been inserted in any post!"
|
222 |
msgstr "This image has still not been inserted in any post!"
|
@@ -291,8 +289,8 @@ msgid ""
|
|
291 |
"This is a preview of what this content might looks like in Google's search "
|
292 |
"results."
|
293 |
msgstr ""
|
294 |
-
"Prévisualisation de la manière dont le contenu sera affiché dans les "
|
295 |
-
"
|
296 |
|
297 |
msgid "Snippet Preview %s"
|
298 |
msgstr "Snippet Preview %s"
|
@@ -429,8 +427,7 @@ msgstr "More information about WP Meta SEO"
|
|
429 |
msgid "Other plugins from JoomUnited"
|
430 |
msgstr "Other plugins from JoomUnited"
|
431 |
|
432 |
-
msgid ""
|
433 |
-
"Check if a word of this content title is also in a title heading (h1, h2...)"
|
434 |
msgstr ""
|
435 |
"Check if a word of this content title is also in a title heading (h1, h2...)"
|
436 |
|
@@ -447,65 +444,59 @@ msgid "Is the meta description of this page filled?"
|
|
447 |
msgstr "Is the meta description of this page filled?"
|
448 |
|
449 |
msgid ""
|
450 |
-
"Check for image HTML resizing in content (usually image resized using "
|
451 |
-
"handles)"
|
452 |
msgstr ""
|
453 |
-
"Check for image HTML resizing in content (usually image resized using "
|
454 |
-
"handles)"
|
455 |
|
456 |
msgid "Check for image Alt text and title"
|
457 |
msgstr "Check for image Alt text and title"
|
458 |
|
459 |
msgid ""
|
460 |
-
"It's better using a permalink structure that is adding in your URL the "
|
461 |
-
"
|
462 |
-
"
|
463 |
msgstr ""
|
464 |
-
"It's better using a permalink structure that is adding in your URL the "
|
465 |
-
"
|
466 |
-
"
|
467 |
|
468 |
msgid ""
|
469 |
-
"Meta titles are displayed in search engine results as a page title. It's a "
|
470 |
-
"
|
471 |
-
"
|
472 |
msgstr ""
|
473 |
-
"Meta titles are displayed in search engine results as a page title. It's a "
|
474 |
-
"
|
475 |
-
"
|
476 |
|
477 |
msgid ""
|
478 |
-
"Meta descriptions are displayed in search engine results as a page "
|
479 |
-
"
|
480 |
-
"
|
481 |
-
"pages."
|
482 |
msgstr ""
|
483 |
-
"Meta descriptions are displayed in search engine results as a page "
|
484 |
-
"
|
485 |
-
"
|
486 |
-
"pages."
|
487 |
|
488 |
msgid ""
|
489 |
-
"Display image at its natural size, do not use HTML resize. It happens "
|
490 |
-
"
|
491 |
-
"tool to fix that."
|
492 |
msgstr ""
|
493 |
-
"Display image at its natural size, do not use HTML resize. It happens "
|
494 |
-
"
|
495 |
-
"tool to fix that."
|
496 |
|
497 |
msgid ""
|
498 |
-
"We recommend to use both alt text and image title. The main advantage is "
|
499 |
-
"
|
500 |
-
"
|
501 |
-
"
|
502 |
-
"
|
503 |
msgstr ""
|
504 |
-
"We recommend to use both alt text and image title. The main advantage is "
|
505 |
-
"
|
506 |
-
"
|
507 |
-
"
|
508 |
-
"
|
509 |
|
510 |
msgid ""
|
511 |
"It is highly recommended to update or add new content on your website quite "
|
@@ -561,11 +552,11 @@ msgstr ""
|
|
561 |
"deactivate AIOSEO or Yoast in order to work more clearly!"
|
562 |
|
563 |
msgid ""
|
564 |
-
"We have found that you’re using All In One Pack Plugin, WP Meta SEO can "
|
565 |
-
"
|
566 |
msgstr ""
|
567 |
-
"We have found that you’re using All In One Pack Plugin, WP Meta SEO can "
|
568 |
-
"
|
569 |
|
570 |
msgid "Name is existing"
|
571 |
msgstr "Name is existing"
|
@@ -589,11 +580,9 @@ msgid "The post has been deleted before, please check again!"
|
|
589 |
msgstr "The post has been deleted before, please check again!"
|
590 |
|
591 |
msgid ""
|
592 |
-
" This is a rendering of what this post might look like in Google's search "
|
593 |
-
"results."
|
594 |
msgstr ""
|
595 |
-
" This is a rendering of what this post might look like in Google's search "
|
596 |
-
"results."
|
597 |
|
598 |
msgid "This post is not existed or deleted, please choose one another!"
|
599 |
msgstr "This post is not existed or deleted, please choose one another!"
|
@@ -609,3 +598,18 @@ msgstr "WP Meta SEO - Page optimization"
|
|
609 |
|
610 |
msgid "Meta title was saved"
|
611 |
msgstr "Meta title was saved"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.7.4\n"
|
13 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
14 |
|
15 |
msgid "Twitter username (without @)"
|
16 |
msgstr "Twitter username (without @)"
|
17 |
|
18 |
msgid ""
|
19 |
+
"2 plugins that are doing almost the same thing detected: disable AIO SEO or Yoast "
|
20 |
+
"SEO to avoid conflict."
|
21 |
msgstr ""
|
22 |
+
"2 plugins that are doing almost the same thing detected: disable AIO SEO or Yoast "
|
23 |
+
"SEO to avoid conflict."
|
24 |
|
25 |
msgid ""
|
26 |
+
"We have found that you’re using All In One SEO plugin, WP Meta SEO can import the "
|
27 |
+
"meta from this plugin, %s"
|
28 |
msgstr ""
|
29 |
+
"We have found that you’re using All In One SEO plugin, WP Meta SEO can import the "
|
30 |
+
"meta from this plugin, %s"
|
31 |
|
32 |
msgid ""
|
33 |
+
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the meta "
|
34 |
+
"from this plugin, %s"
|
35 |
msgstr ""
|
36 |
+
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the meta "
|
37 |
+
"from this plugin, %s"
|
38 |
|
39 |
msgid "Results preview"
|
40 |
msgstr "Results preview"
|
41 |
|
42 |
msgid ""
|
43 |
+
"This is a preview of what your content will looks like in search engine results: "
|
44 |
+
"title, description and URL"
|
45 |
msgstr ""
|
46 |
+
"This is a preview of what your content will looks like in search engine results: "
|
47 |
+
"title, description and URL"
|
48 |
|
49 |
msgid "Search engine title"
|
50 |
msgstr "Search engine title"
|
51 |
|
52 |
msgid ""
|
53 |
+
"This is the title of your content that may be displayed in search engine results "
|
54 |
+
"(meta title). By default it’s the content title (page title, post title…). 69 "
|
55 |
+
"characters max allowed."
|
56 |
msgstr ""
|
57 |
+
"This is the title of your content that may be displayed in search engine results "
|
58 |
+
"(meta title). By default it’s the content title (page title, post title…). 69 "
|
59 |
+
"characters max allowed."
|
60 |
|
61 |
msgid "Search engine description"
|
62 |
msgstr "Search engine description"
|
63 |
|
64 |
msgid ""
|
65 |
+
"The description of your content that may be displayed in search engine results "
|
66 |
+
"aka meta description. By default search engine take an excerpt from your content "
|
67 |
+
"(depending on the search query). 156 characters max allowed."
|
68 |
msgstr ""
|
69 |
+
"The description of your content that may be displayed in search engine results "
|
70 |
+
"aka meta description. By default search engine take an excerpt from your content "
|
71 |
+
"(depending on the search query). 156 characters max allowed."
|
72 |
|
73 |
msgid "Facebook Title"
|
74 |
msgstr "Facebook Title"
|
212 |
msgstr "Filter"
|
213 |
|
214 |
msgid ""
|
215 |
+
"We didn't find any image which needed to be updated regarding meta information"
|
|
|
216 |
msgstr ""
|
217 |
+
"We didn't find any image which needed to be updated regarding meta information"
|
|
|
218 |
|
219 |
msgid "This image has still not been inserted in any post!"
|
220 |
msgstr "This image has still not been inserted in any post!"
|
289 |
"This is a preview of what this content might looks like in Google's search "
|
290 |
"results."
|
291 |
msgstr ""
|
292 |
+
"Prévisualisation de la manière dont le contenu sera affiché dans les résultats de "
|
293 |
+
"recherche"
|
294 |
|
295 |
msgid "Snippet Preview %s"
|
296 |
msgstr "Snippet Preview %s"
|
427 |
msgid "Other plugins from JoomUnited"
|
428 |
msgstr "Other plugins from JoomUnited"
|
429 |
|
430 |
+
msgid "Check if a word of this content title is also in a title heading (h1, h2...)"
|
|
|
431 |
msgstr ""
|
432 |
"Check if a word of this content title is also in a title heading (h1, h2...)"
|
433 |
|
444 |
msgstr "Is the meta description of this page filled?"
|
445 |
|
446 |
msgid ""
|
447 |
+
"Check for image HTML resizing in content (usually image resized using handles)"
|
|
|
448 |
msgstr ""
|
449 |
+
"Check for image HTML resizing in content (usually image resized using handles)"
|
|
|
450 |
|
451 |
msgid "Check for image Alt text and title"
|
452 |
msgstr "Check for image Alt text and title"
|
453 |
|
454 |
msgid ""
|
455 |
+
"It's better using a permalink structure that is adding in your URL the category "
|
456 |
+
"name and content title. This parameter can be changed in Settings > Permalinks "
|
457 |
+
"WordPress menu. Tag recommended is %category%/%postname%"
|
458 |
msgstr ""
|
459 |
+
"It's better using a permalink structure that is adding in your URL the category "
|
460 |
+
"name and content title. This parameter can be changed in Settings > Permalinks "
|
461 |
+
"WordPress menu. Tag recommended is %category%/%postname%"
|
462 |
|
463 |
msgid ""
|
464 |
+
"Meta titles are displayed in search engine results as a page title. It's a good "
|
465 |
+
"thing for SEO to have some custom and attractive ones. Be sure to fill at least "
|
466 |
+
"the met information on your most popular pages"
|
467 |
msgstr ""
|
468 |
+
"Meta titles are displayed in search engine results as a page title. It's a good "
|
469 |
+
"thing for SEO to have some custom and attractive ones. Be sure to fill at least "
|
470 |
+
"the met information on your most popular pages"
|
471 |
|
472 |
msgid ""
|
473 |
+
"Meta descriptions are displayed in search engine results as a page description. "
|
474 |
+
"It's a good thing for SEO to have some custom and attractive ones. Be sure to "
|
475 |
+
"fill at least the meta information on your most popular pages."
|
|
|
476 |
msgstr ""
|
477 |
+
"Meta descriptions are displayed in search engine results as a page description. "
|
478 |
+
"It's a good thing for SEO to have some custom and attractive ones. Be sure to "
|
479 |
+
"fill at least the meta information on your most popular pages."
|
|
|
480 |
|
481 |
msgid ""
|
482 |
+
"Display image at its natural size, do not use HTML resize. It happens usually "
|
483 |
+
"when you use handles to resize an image. You have a bulk edition tool to fix that."
|
|
|
484 |
msgstr ""
|
485 |
+
"Display image at its natural size, do not use HTML resize. It happens usually "
|
486 |
+
"when you use handles to resize an image. You have a bulk edition tool to fix that."
|
|
|
487 |
|
488 |
msgid ""
|
489 |
+
"We recommend to use both alt text and image title. The main advantage is that it "
|
490 |
+
"helps search engines discover your images and display them in image search "
|
491 |
+
"results. Plus, these tags improve the accessibility of your site and give more "
|
492 |
+
"information about your images. Use our bulk image tool to quickly check and fix "
|
493 |
+
"that."
|
494 |
msgstr ""
|
495 |
+
"We recommend to use both alt text and image title. The main advantage is that it "
|
496 |
+
"helps search engines discover your images and display them in image search "
|
497 |
+
"results. Plus, these tags improve the accessibility of your site and give more "
|
498 |
+
"information about your images. Use our bulk image tool to quickly check and fix "
|
499 |
+
"that."
|
500 |
|
501 |
msgid ""
|
502 |
"It is highly recommended to update or add new content on your website quite "
|
552 |
"deactivate AIOSEO or Yoast in order to work more clearly!"
|
553 |
|
554 |
msgid ""
|
555 |
+
"We have found that you’re using All In One Pack Plugin, WP Meta SEO can import "
|
556 |
+
"the meta from this plugin, %s"
|
557 |
msgstr ""
|
558 |
+
"We have found that you’re using All In One Pack Plugin, WP Meta SEO can import "
|
559 |
+
"the meta from this plugin, %s"
|
560 |
|
561 |
msgid "Name is existing"
|
562 |
msgstr "Name is existing"
|
580 |
msgstr "The post has been deleted before, please check again!"
|
581 |
|
582 |
msgid ""
|
583 |
+
" This is a rendering of what this post might look like in Google's search results."
|
|
|
584 |
msgstr ""
|
585 |
+
" This is a rendering of what this post might look like in Google's search results."
|
|
|
586 |
|
587 |
msgid "This post is not existed or deleted, please choose one another!"
|
588 |
msgstr "This post is not existed or deleted, please choose one another!"
|
598 |
|
599 |
msgid "Meta title was saved"
|
600 |
msgstr "Meta title was saved"
|
601 |
+
|
602 |
+
msgid "Meta keywords was saved"
|
603 |
+
msgstr "Meta keywords was saved"
|
604 |
+
|
605 |
+
msgid "Force SEO validation"
|
606 |
+
msgstr "Force SEO validation"
|
607 |
+
|
608 |
+
msgid "Allow user to force on page SEO criteria validation by clicking on the icon"
|
609 |
+
msgstr "Allow user to force on page SEO criteria validation by clicking on the icon"
|
610 |
+
|
611 |
+
msgid "Meta keywords"
|
612 |
+
msgstr "Meta keywords"
|
613 |
+
|
614 |
+
msgid "Active meta keywords"
|
615 |
+
msgstr "Active meta keywords"
|
languages/wpms-fr_FR.mo
CHANGED
Binary file
|
languages/wpms-fr_FR.po
CHANGED
@@ -18,54 +18,54 @@ msgid ""
|
|
18 |
"2 plugins that are doing almost the same thing detected: disable AIO SEO or "
|
19 |
"Yoast SEO to avoid conflict."
|
20 |
msgstr ""
|
21 |
-
"2 plugins sont présent et font tous les 2 du SEO: merci de désactiver AIO "
|
22 |
-
"
|
23 |
|
24 |
msgid ""
|
25 |
-
"We have found that you’re using All In One SEO plugin, WP Meta SEO can "
|
26 |
-
"
|
27 |
msgstr ""
|
28 |
-
"Vous utilisez le plugin All in one SEO, nous pouvons importer les meta de "
|
29 |
-
"
|
30 |
|
31 |
msgid ""
|
32 |
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
|
33 |
"meta from this plugin, %s"
|
34 |
msgstr ""
|
35 |
-
"Vous utilisez le plugin Yoast SEO, nous pouvons importer les meta de ce "
|
36 |
-
"
|
37 |
|
38 |
msgid "Results preview"
|
39 |
msgstr "Prévisualisation"
|
40 |
|
41 |
msgid ""
|
42 |
-
"This is a preview of what your content will looks like in search engine "
|
43 |
-
"
|
44 |
msgstr "Prévisualisation des résultats de recherche, titre, description et URL"
|
45 |
|
46 |
msgid "Search engine title"
|
47 |
msgstr "Titre"
|
48 |
|
49 |
msgid ""
|
50 |
-
"This is the title of your content that may be displayed in search engine "
|
51 |
-
"
|
52 |
-
"
|
53 |
msgstr ""
|
54 |
"Ceci est le titre de votre contenu qui pourra être reprit par les moteurs de "
|
55 |
-
"recherche (meta title). Par défaut il s'agit du titre du contenu. 69 "
|
56 |
-
"
|
57 |
|
58 |
msgid "Search engine description"
|
59 |
msgstr "Description"
|
60 |
|
61 |
msgid ""
|
62 |
-
"The description of your content that may be displayed in search engine "
|
63 |
-
"
|
64 |
-
"
|
65 |
msgstr ""
|
66 |
-
"Ceci est la description de votre contenu qui pourra être reprit par les "
|
67 |
-
"
|
68 |
-
"
|
69 |
|
70 |
msgid "Facebook Title"
|
71 |
msgstr "Titre facebook"
|
@@ -90,8 +90,8 @@ msgid ""
|
|
90 |
"Custom image to display when sharing this content on facebook, content "
|
91 |
"description override, recommended size is 1200px x 630px"
|
92 |
msgstr ""
|
93 |
-
"Image customisé lors du partage de ce contenu sur Facebook, taille "
|
94 |
-
"
|
95 |
|
96 |
msgid "Twitter Title"
|
97 |
msgstr "Titre Twitter"
|
@@ -116,8 +116,8 @@ msgid ""
|
|
116 |
"Custom image to display when sharing this content on facebook, content "
|
117 |
"description override, recommended min size 440px X 220px"
|
118 |
msgstr ""
|
119 |
-
"Image customisé lors du partage de ce contenu sur Twitter, taille "
|
120 |
-
"
|
121 |
|
122 |
msgid "Use Image"
|
123 |
msgstr "Utiliser image"
|
@@ -201,8 +201,7 @@ msgid "Filter"
|
|
201 |
msgstr "Filtrer"
|
202 |
|
203 |
msgid ""
|
204 |
-
"We didn't find any image which needed to be updated regarding meta "
|
205 |
-
"information"
|
206 |
msgstr ""
|
207 |
"Nous n'avons trouvé aucune image qui ont besoin d'être optimisé pour le SEO"
|
208 |
|
@@ -253,8 +252,7 @@ msgstr "Le contenu est vide, merci de revérifier"
|
|
253 |
|
254 |
msgid "We can't get traffic rank from Alexa for this website"
|
255 |
msgstr ""
|
256 |
-
"Nous n'avons pas assez d'info (de trafic) Alexa pour avoir le \"Traffic Rank"
|
257 |
-
"\""
|
258 |
|
259 |
msgid "Meta Title"
|
260 |
msgstr "Meta titre"
|
@@ -281,8 +279,8 @@ msgid ""
|
|
281 |
"This is a preview of what this content might looks like in Google's search "
|
282 |
"results."
|
283 |
msgstr ""
|
284 |
-
"Prévisualisation de ce à quoi votre contenu peut ressembler dans les "
|
285 |
-
"
|
286 |
|
287 |
msgid "Snippet Preview %s"
|
288 |
msgstr "Prévisualisation %s"
|
@@ -331,8 +329,7 @@ msgstr "Bien joué ! Image remise à la bonne taille !"
|
|
331 |
|
332 |
msgid "Oops! An error occured when updating the post, please try again"
|
333 |
msgstr ""
|
334 |
-
"Oups! Une erreur est survenue durant la mise à jour du post, merci de "
|
335 |
-
"réessayer"
|
336 |
|
337 |
msgid "Resize image"
|
338 |
msgstr "Redimensionner image"
|
@@ -424,12 +421,11 @@ msgstr "Autres plugin de JoomUnited"
|
|
424 |
msgid ""
|
425 |
"Check if a word of this content title is also in a title heading (h1, h2...)"
|
426 |
msgstr ""
|
427 |
-
"Vérifie si un mot du titre de page est aussi présent dans un titre du "
|
428 |
-
"
|
429 |
|
430 |
msgid "Check if a word of this content title is also in the text"
|
431 |
-
msgstr ""
|
432 |
-
"Vérifie si un mot du titre de page est aussi présent dans le contenu texte"
|
433 |
|
434 |
msgid "Does the page title match with the permalink (URL structure)"
|
435 |
msgstr "Vérifie si le titre de page correspond à l'URL (permalien)"
|
@@ -441,71 +437,69 @@ msgid "Is the meta description of this page filled?"
|
|
441 |
msgstr "Est-ce que les meta description sont complétés?"
|
442 |
|
443 |
msgid ""
|
444 |
-
"Check for image HTML resizing in content (usually image resized using "
|
445 |
-
"handles)"
|
446 |
msgstr ""
|
447 |
-
"Vérifie si des images sont redimensionnées en HTML (habituellement en "
|
448 |
-
"
|
449 |
|
450 |
msgid "Check for image Alt text and title"
|
451 |
msgstr "Vérifie si les textes alt and titre d'images sont remplis"
|
452 |
|
453 |
msgid ""
|
454 |
-
"It's better using a permalink structure that is adding in your URL the "
|
455 |
-
"
|
456 |
-
"
|
457 |
msgstr ""
|
458 |
-
"Il est préférable d'utiliser des URL dont le nom de la catégorie et le titre "
|
459 |
-
"
|
460 |
-
"
|
461 |
|
462 |
msgid ""
|
463 |
-
"Meta titles are displayed in search engine results as a page title. It's a "
|
464 |
-
"
|
465 |
-
"
|
466 |
msgstr ""
|
467 |
"Les titres Meta sont affichés dans les résultats de recherche comme titre de "
|
468 |
-
"page. C'est une bonne chose de mettre des titres accrocheurs pour avoir un "
|
469 |
-
"
|
470 |
|
471 |
msgid ""
|
472 |
-
"Meta descriptions are displayed in search engine results as a page "
|
473 |
-
"
|
474 |
-
"
|
475 |
-
"pages."
|
476 |
msgstr ""
|
477 |
"Les Meta descroption sont affichés dans les résultats de recherche comme "
|
478 |
"description de page. C'est une bonne chose de mettre des descriptions "
|
479 |
"accrocheuses pour avoir un plus grand nombre de clics."
|
480 |
|
481 |
msgid ""
|
482 |
-
"Display image at its natural size, do not use HTML resize. It happens "
|
483 |
-
"
|
484 |
-
"
|
485 |
msgstr ""
|
486 |
-
"Utilisez des images à leur taille naturelle, pas en les redimensionnant en "
|
487 |
-
"
|
488 |
-
"
|
489 |
|
490 |
msgid ""
|
491 |
-
"We recommend to use both alt text and image title. The main advantage is "
|
492 |
-
"
|
493 |
-
"
|
494 |
-
"
|
495 |
-
"
|
496 |
msgstr ""
|
497 |
"Nous vous recommandons de compléter les le textes alternatif et les titres "
|
498 |
-
"d'images. L'avantage c'est que cela permet aux moteur de recherche d'indexer "
|
499 |
-
"
|
500 |
-
"
|
501 |
|
502 |
msgid ""
|
503 |
"It is highly recommended to update or add new content on your website quite "
|
504 |
"frequently. At least 3 updated or new content per month would be great :)"
|
505 |
msgstr ""
|
506 |
-
"Il est fortement recommandé de mettre à jour ou d'ajouter du contenu sur "
|
507 |
-
"
|
508 |
-
"
|
509 |
|
510 |
msgid "Social networks meta"
|
511 |
msgstr "Meta réseaux sociaux"
|
@@ -554,11 +548,11 @@ msgstr ""
|
|
554 |
"essayez de désactiver AIO SEO ou Yoast SEO"
|
555 |
|
556 |
msgid ""
|
557 |
-
"We have found that you’re using All In One Pack Plugin, WP Meta SEO can "
|
558 |
-
"
|
559 |
msgstr ""
|
560 |
-
"Vous utilisez actuellement All In One SEO Plugin, WP Meta SEO put importer "
|
561 |
-
"
|
562 |
|
563 |
msgid "Name is existing"
|
564 |
msgstr "Ce nom existe déjà"
|
@@ -601,3 +595,18 @@ msgstr "WP Meta SEO - Page optimisation"
|
|
601 |
|
602 |
msgid "Meta title was saved"
|
603 |
msgstr "Metz"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
"2 plugins that are doing almost the same thing detected: disable AIO SEO or "
|
19 |
"Yoast SEO to avoid conflict."
|
20 |
msgstr ""
|
21 |
+
"2 plugins sont présent et font tous les 2 du SEO: merci de désactiver AIO SEO ou "
|
22 |
+
"Yoast SEO pour éviter les conflits"
|
23 |
|
24 |
msgid ""
|
25 |
+
"We have found that you’re using All In One SEO plugin, WP Meta SEO can import "
|
26 |
+
"the meta from this plugin, %s"
|
27 |
msgstr ""
|
28 |
+
"Vous utilisez le plugin All in one SEO, nous pouvons importer les meta de ce "
|
29 |
+
"plugin pour vous, %s"
|
30 |
|
31 |
msgid ""
|
32 |
"We have found that you’re using Yoast SEO plugin, WP Meta SEO can import the "
|
33 |
"meta from this plugin, %s"
|
34 |
msgstr ""
|
35 |
+
"Vous utilisez le plugin Yoast SEO, nous pouvons importer les meta de ce plugin "
|
36 |
+
"pour vous, %s"
|
37 |
|
38 |
msgid "Results preview"
|
39 |
msgstr "Prévisualisation"
|
40 |
|
41 |
msgid ""
|
42 |
+
"This is a preview of what your content will looks like in search engine results: "
|
43 |
+
"title, description and URL"
|
44 |
msgstr "Prévisualisation des résultats de recherche, titre, description et URL"
|
45 |
|
46 |
msgid "Search engine title"
|
47 |
msgstr "Titre"
|
48 |
|
49 |
msgid ""
|
50 |
+
"This is the title of your content that may be displayed in search engine results "
|
51 |
+
"(meta title). By default it’s the content title (page title, post title…). 69 "
|
52 |
+
"characters max allowed."
|
53 |
msgstr ""
|
54 |
"Ceci est le titre de votre contenu qui pourra être reprit par les moteurs de "
|
55 |
+
"recherche (meta title). Par défaut il s'agit du titre du contenu. 69 caractères "
|
56 |
+
"max"
|
57 |
|
58 |
msgid "Search engine description"
|
59 |
msgstr "Description"
|
60 |
|
61 |
msgid ""
|
62 |
+
"The description of your content that may be displayed in search engine results "
|
63 |
+
"aka meta description. By default search engine take an excerpt from your content "
|
64 |
+
"(depending on the search query). 156 characters max allowed."
|
65 |
msgstr ""
|
66 |
+
"Ceci est la description de votre contenu qui pourra être reprit par les moteurs "
|
67 |
+
"de recherche (meta description). Par défaut il s'agit d'un extrait de votre "
|
68 |
+
"contenu.156 caractères max"
|
69 |
|
70 |
msgid "Facebook Title"
|
71 |
msgstr "Titre facebook"
|
90 |
"Custom image to display when sharing this content on facebook, content "
|
91 |
"description override, recommended size is 1200px x 630px"
|
92 |
msgstr ""
|
93 |
+
"Image customisé lors du partage de ce contenu sur Facebook, taille recommandée "
|
94 |
+
"1200px x 630px"
|
95 |
|
96 |
msgid "Twitter Title"
|
97 |
msgstr "Titre Twitter"
|
116 |
"Custom image to display when sharing this content on facebook, content "
|
117 |
"description override, recommended min size 440px X 220px"
|
118 |
msgstr ""
|
119 |
+
"Image customisé lors du partage de ce contenu sur Twitter, taille recommandée "
|
120 |
+
"440px x 220px"
|
121 |
|
122 |
msgid "Use Image"
|
123 |
msgstr "Utiliser image"
|
201 |
msgstr "Filtrer"
|
202 |
|
203 |
msgid ""
|
204 |
+
"We didn't find any image which needed to be updated regarding meta information"
|
|
|
205 |
msgstr ""
|
206 |
"Nous n'avons trouvé aucune image qui ont besoin d'être optimisé pour le SEO"
|
207 |
|
252 |
|
253 |
msgid "We can't get traffic rank from Alexa for this website"
|
254 |
msgstr ""
|
255 |
+
"Nous n'avons pas assez d'info (de trafic) Alexa pour avoir le \"Traffic Rank\""
|
|
|
256 |
|
257 |
msgid "Meta Title"
|
258 |
msgstr "Meta titre"
|
279 |
"This is a preview of what this content might looks like in Google's search "
|
280 |
"results."
|
281 |
msgstr ""
|
282 |
+
"Prévisualisation de ce à quoi votre contenu peut ressembler dans les résultats "
|
283 |
+
"de recherche"
|
284 |
|
285 |
msgid "Snippet Preview %s"
|
286 |
msgstr "Prévisualisation %s"
|
329 |
|
330 |
msgid "Oops! An error occured when updating the post, please try again"
|
331 |
msgstr ""
|
332 |
+
"Oups! Une erreur est survenue durant la mise à jour du post, merci de réessayer"
|
|
|
333 |
|
334 |
msgid "Resize image"
|
335 |
msgstr "Redimensionner image"
|
421 |
msgid ""
|
422 |
"Check if a word of this content title is also in a title heading (h1, h2...)"
|
423 |
msgstr ""
|
424 |
+
"Vérifie si un mot du titre de page est aussi présent dans un titre du contenu "
|
425 |
+
"(h1, h2...)"
|
426 |
|
427 |
msgid "Check if a word of this content title is also in the text"
|
428 |
+
msgstr "Vérifie si un mot du titre de page est aussi présent dans le contenu texte"
|
|
|
429 |
|
430 |
msgid "Does the page title match with the permalink (URL structure)"
|
431 |
msgstr "Vérifie si le titre de page correspond à l'URL (permalien)"
|
437 |
msgstr "Est-ce que les meta description sont complétés?"
|
438 |
|
439 |
msgid ""
|
440 |
+
"Check for image HTML resizing in content (usually image resized using handles)"
|
|
|
441 |
msgstr ""
|
442 |
+
"Vérifie si des images sont redimensionnées en HTML (habituellement en utilisant "
|
443 |
+
"les poignées)"
|
444 |
|
445 |
msgid "Check for image Alt text and title"
|
446 |
msgstr "Vérifie si les textes alt and titre d'images sont remplis"
|
447 |
|
448 |
msgid ""
|
449 |
+
"It's better using a permalink structure that is adding in your URL the category "
|
450 |
+
"name and content title. This parameter can be changed in Settings > Permalinks "
|
451 |
+
"WordPress menu. Tag recommended is %category%/%postname%"
|
452 |
msgstr ""
|
453 |
+
"Il est préférable d'utiliser des URL dont le nom de la catégorie et le titre de "
|
454 |
+
"page sont en clair. Ce paramètre peut être modifié depuis le menu Paramètres > "
|
455 |
+
"Permaliens. Le tag recommandé est %category%/%postname%"
|
456 |
|
457 |
msgid ""
|
458 |
+
"Meta titles are displayed in search engine results as a page title. It's a good "
|
459 |
+
"thing for SEO to have some custom and attractive ones. Be sure to fill at least "
|
460 |
+
"the met information on your most popular pages"
|
461 |
msgstr ""
|
462 |
"Les titres Meta sont affichés dans les résultats de recherche comme titre de "
|
463 |
+
"page. C'est une bonne chose de mettre des titres accrocheurs pour avoir un plus "
|
464 |
+
"grand nombre de clics."
|
465 |
|
466 |
msgid ""
|
467 |
+
"Meta descriptions are displayed in search engine results as a page description. "
|
468 |
+
"It's a good thing for SEO to have some custom and attractive ones. Be sure to "
|
469 |
+
"fill at least the meta information on your most popular pages."
|
|
|
470 |
msgstr ""
|
471 |
"Les Meta descroption sont affichés dans les résultats de recherche comme "
|
472 |
"description de page. C'est une bonne chose de mettre des descriptions "
|
473 |
"accrocheuses pour avoir un plus grand nombre de clics."
|
474 |
|
475 |
msgid ""
|
476 |
+
"Display image at its natural size, do not use HTML resize. It happens usually "
|
477 |
+
"when you use handles to resize an image. You have a bulk edition tool to fix "
|
478 |
+
"that."
|
479 |
msgstr ""
|
480 |
+
"Utilisez des images à leur taille naturelle, pas en les redimensionnant en HTML "
|
481 |
+
"(avec les poignées). Avec WP Meta SEO, vous disposez d'un outil pour corriger "
|
482 |
+
"cela"
|
483 |
|
484 |
msgid ""
|
485 |
+
"We recommend to use both alt text and image title. The main advantage is that it "
|
486 |
+
"helps search engines discover your images and display them in image search "
|
487 |
+
"results. Plus, these tags improve the accessibility of your site and give more "
|
488 |
+
"information about your images. Use our bulk image tool to quickly check and fix "
|
489 |
+
"that."
|
490 |
msgstr ""
|
491 |
"Nous vous recommandons de compléter les le textes alternatif et les titres "
|
492 |
+
"d'images. L'avantage c'est que cela permet aux moteur de recherche d'indexer vos "
|
493 |
+
"images et apporte plus de contenu à vos pages. utilisez l'outil d'édition par "
|
494 |
+
"lot pour aller plus vite! "
|
495 |
|
496 |
msgid ""
|
497 |
"It is highly recommended to update or add new content on your website quite "
|
498 |
"frequently. At least 3 updated or new content per month would be great :)"
|
499 |
msgstr ""
|
500 |
+
"Il est fortement recommandé de mettre à jour ou d'ajouter du contenu sur votre "
|
501 |
+
"site pour être mieux référencé. Au moins 3 mises à jour ou ajout de contenu par "
|
502 |
+
"mois serait parfait :)"
|
503 |
|
504 |
msgid "Social networks meta"
|
505 |
msgstr "Meta réseaux sociaux"
|
548 |
"essayez de désactiver AIO SEO ou Yoast SEO"
|
549 |
|
550 |
msgid ""
|
551 |
+
"We have found that you’re using All In One Pack Plugin, WP Meta SEO can import "
|
552 |
+
"the meta from this plugin, %s"
|
553 |
msgstr ""
|
554 |
+
"Vous utilisez actuellement All In One SEO Plugin, WP Meta SEO put importer les "
|
555 |
+
"données de ce plugin pour vous, %s"
|
556 |
|
557 |
msgid "Name is existing"
|
558 |
msgstr "Ce nom existe déjà"
|
595 |
|
596 |
msgid "Meta title was saved"
|
597 |
msgstr "Metz"
|
598 |
+
|
599 |
+
msgid "Meta keywords was saved"
|
600 |
+
msgstr "Mot clés enregistrés"
|
601 |
+
|
602 |
+
msgid "Force SEO validation"
|
603 |
+
msgstr "Forcer validation SEO"
|
604 |
+
|
605 |
+
msgid "Allow user to force on page SEO criteria validation by clicking on the icon"
|
606 |
+
msgstr "Autoriser la validation forcée des critères SEO dans l'analyse des pages"
|
607 |
+
|
608 |
+
msgid "Meta keywords"
|
609 |
+
msgstr "Mot clés"
|
610 |
+
|
611 |
+
msgid "Active meta keywords"
|
612 |
+
msgstr "Activer les mot clés meta"
|
languages/wpms.pot
CHANGED
@@ -494,4 +494,19 @@ msgid "Meta title was saved"
|
|
494 |
msgstr ""
|
495 |
|
496 |
msgid "Content Meta"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
497 |
msgstr ""
|
494 |
msgstr ""
|
495 |
|
496 |
msgid "Content Meta"
|
497 |
+
msgstr ""
|
498 |
+
|
499 |
+
msgid "Meta keywords was saved"
|
500 |
+
msgstr ""
|
501 |
+
|
502 |
+
msgid "Force SEO validation"
|
503 |
+
msgstr ""
|
504 |
+
|
505 |
+
msgid "Allow user to force on page SEO criteria validation by clicking on the icon"
|
506 |
+
msgstr ""
|
507 |
+
|
508 |
+
msgid "Meta keywords"
|
509 |
+
msgstr ""
|
510 |
+
|
511 |
+
msgid "Active meta keywords"
|
512 |
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 |
|
@@ -26,9 +26,10 @@ WP Meta SEO gives you the control over all your meta content and images. Bulk SE
|
|
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 |
Plus, a bulk copy feature is available to save tons of time in your SEO optimization process:
|
29 |
-
* Content title to All meta titles
|
30 |
* Image name to Image title
|
31 |
* Image name to Image alt
|
|
|
32 |
|
33 |
A bunch of people reduce the size of the pictures in content using handles that results to a HTML resizing. And that's something wrong for SEO, for page loading time and for image quality.
|
34 |
WP Meta SEO also include this feature in the bulk edition view, you are notified and you can now optimize the size of your images in articles, click fix and it's replaced in your content (no broken links).
|
@@ -40,6 +41,7 @@ WP Meta SEO also include this feature in the bulk edition view, you are notified
|
|
40 |
* Search engine snippet preview
|
41 |
* AJAX SEO analysis refresh
|
42 |
* 7 criteria of SEO analysis
|
|
|
43 |
* Check: Page title word in content heading
|
44 |
* Check: Page title word in content
|
45 |
* Check: Page URL matches with page title
|
@@ -124,7 +126,7 @@ So you'll be able to define SEO info for each instance.
|
|
124 |
Nope :) All your SEO content is properly stored in the database and automatic SEO checks are also cached or run every 72 hours (unless you force the process)
|
125 |
|
126 |
= Is WP Meta SEO compatible with 3rd party plugins? =
|
127 |
-
YES it is :) All plugins and themes that are using custom post type are
|
128 |
|
129 |
= Can I translate WP Meta SEO? =
|
130 |
You're welcome! in the WP Meta SEO package you got English and French included as standard .po/.mo files. Use the .pot file also available in the /language folder to create your own.
|
@@ -146,6 +148,13 @@ WP Meta SEO is using HTML5 features so to be sure run the latest version of Chro
|
|
146 |
= Can I help with WP Meta SEO translation? =
|
147 |
Yes! you can contact us on our forum. SEO as its own language and expression, we would be happy to add yours.
|
148 |
|
|
|
|
|
|