Changeset 2962509
- Timestamp:
- 09/04/2023 11:20:12 AM (3 years ago)
- Location:
- seo-keywords
- Files:
-
- 76 added
- 6 edited
-
assets/1.1.5 (added)
-
assets/1.1.5/LICENSE.txt (added)
-
assets/1.1.5/README.txt (added)
-
assets/1.1.5/admin (added)
-
assets/1.1.5/admin/class-seo-keywords-admin.php (added)
-
assets/1.1.5/admin/css (added)
-
assets/1.1.5/admin/css/bootstrap.min.css (added)
-
assets/1.1.5/admin/css/seo-keywords-admin.css (added)
-
assets/1.1.5/admin/index.php (added)
-
assets/1.1.5/admin/js (added)
-
assets/1.1.5/admin/js/bootstrap.min.js (added)
-
assets/1.1.5/admin/js/seo-keywords-admin.js (added)
-
assets/1.1.5/admin/partials (added)
-
assets/1.1.5/admin/partials/seo-keywords-admin-custom-settings.php (added)
-
assets/1.1.5/admin/partials/seo-keywords-admin-display.php (added)
-
assets/1.1.5/admin/partials/seo-keywords-admin-metabox.php (added)
-
assets/1.1.5/admin/partials/seo-keywords-admin-settings.php (added)
-
assets/1.1.5/includes (added)
-
assets/1.1.5/includes/class-seo-keywords-activator.php (added)
-
assets/1.1.5/includes/class-seo-keywords-deactivator.php (added)
-
assets/1.1.5/includes/class-seo-keywords-i18n.php (added)
-
assets/1.1.5/includes/class-seo-keywords-loader.php (added)
-
assets/1.1.5/includes/class-seo-keywords.php (added)
-
assets/1.1.5/includes/index.php (added)
-
assets/1.1.5/index.php (added)
-
assets/1.1.5/languages (added)
-
assets/1.1.5/languages/seo-keywords.pot (added)
-
assets/1.1.5/public (added)
-
assets/1.1.5/public/class-seo-keywords-public.php (added)
-
assets/1.1.5/public/css (added)
-
assets/1.1.5/public/css/seo-keywords-public.css (added)
-
assets/1.1.5/public/index.php (added)
-
assets/1.1.5/public/js (added)
-
assets/1.1.5/public/js/seo-keywords-public.js (added)
-
assets/1.1.5/public/partials (added)
-
assets/1.1.5/public/partials/seo-keywords-public-display.php (added)
-
assets/1.1.5/seo-keywords.php (added)
-
assets/1.1.5/uninstall.php (added)
-
tags/1.1.5 (added)
-
tags/1.1.5/LICENSE.txt (added)
-
tags/1.1.5/README.txt (added)
-
tags/1.1.5/admin (added)
-
tags/1.1.5/admin/class-seo-keywords-admin.php (added)
-
tags/1.1.5/admin/css (added)
-
tags/1.1.5/admin/css/bootstrap.min.css (added)
-
tags/1.1.5/admin/css/seo-keywords-admin.css (added)
-
tags/1.1.5/admin/index.php (added)
-
tags/1.1.5/admin/js (added)
-
tags/1.1.5/admin/js/bootstrap.min.js (added)
-
tags/1.1.5/admin/js/seo-keywords-admin.js (added)
-
tags/1.1.5/admin/partials (added)
-
tags/1.1.5/admin/partials/seo-keywords-admin-custom-settings.php (added)
-
tags/1.1.5/admin/partials/seo-keywords-admin-display.php (added)
-
tags/1.1.5/admin/partials/seo-keywords-admin-metabox.php (added)
-
tags/1.1.5/admin/partials/seo-keywords-admin-settings.php (added)
-
tags/1.1.5/includes (added)
-
tags/1.1.5/includes/class-seo-keywords-activator.php (added)
-
tags/1.1.5/includes/class-seo-keywords-deactivator.php (added)
-
tags/1.1.5/includes/class-seo-keywords-i18n.php (added)
-
tags/1.1.5/includes/class-seo-keywords-loader.php (added)
-
tags/1.1.5/includes/class-seo-keywords.php (added)
-
tags/1.1.5/includes/index.php (added)
-
tags/1.1.5/index.php (added)
-
tags/1.1.5/languages (added)
-
tags/1.1.5/languages/seo-keywords.pot (added)
-
tags/1.1.5/public (added)
-
tags/1.1.5/public/class-seo-keywords-public.php (added)
-
tags/1.1.5/public/css (added)
-
tags/1.1.5/public/css/seo-keywords-public.css (added)
-
tags/1.1.5/public/index.php (added)
-
tags/1.1.5/public/js (added)
-
tags/1.1.5/public/js/seo-keywords-public.js (added)
-
tags/1.1.5/public/partials (added)
-
tags/1.1.5/public/partials/seo-keywords-public-display.php (added)
-
tags/1.1.5/seo-keywords.php (added)
-
tags/1.1.5/uninstall.php (added)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/admin/class-seo-keywords-admin.php (modified) (7 diffs)
-
trunk/admin/js/seo-keywords-admin.js (modified) (5 diffs)
-
trunk/admin/partials/seo-keywords-admin-metabox.php (modified) (3 diffs)
-
trunk/admin/partials/seo-keywords-admin-settings.php (modified) (2 diffs)
-
trunk/seo-keywords.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
seo-keywords/trunk/README.txt
r2864676 r2962509 4 4 Tags: seo, keywords 5 5 Requires at least: 4.7 6 Tested up to: 6. 1.16 Tested up to: 6.2 7 7 Stable tag: 1.1.4 8 8 Requires PHP: 7.1 … … 27 27 28 28 == Upgrade Notice == 29 30 = 1.1.5 = 31 New feature: Related KW 32 33 = 1.1.4 = 34 Removed last name form registration form 29 35 30 36 = 1.1.3 = -
seo-keywords/trunk/admin/class-seo-keywords-admin.php
r2861305 r2962509 154 154 global $post; 155 155 $seo_links_keywords = get_post_meta( $post->ID, 'seo_links_keywords', true); 156 $seo_links_keywords_related = get_post_meta( $post->ID, 'seo_links_keywords_related', true); 156 157 $seo_links_keywords_impressions = get_post_meta( $post->ID, 'seo_links_keywords_impressions', true); 157 158 $seo_links_keywords_impressions = $seo_links_keywords_impressions != '' ? $seo_links_keywords_impressions : array(); 159 160 $seo_links_keywords_clicks = get_post_meta( $post->ID, 'seo_links_keywords_clicks', true ); 161 $seo_links_keywords_clicks = $seo_links_keywords_clicks != '' ? $seo_links_keywords_clicks : array(); 162 163 $seo_links_keywords_position = get_post_meta( $post->ID, 'seo_links_keywords_position', true ); 164 $seo_links_keywords_position = $seo_links_keywords_position != '' ? $seo_links_keywords_position : array(); 165 158 166 $seo_links_last_update = get_option( 'seo_links_last_update' ); 159 167 $sc_api_key = get_option('sc_api_key'); … … 231 239 $keyword_position = array(); 232 240 $keyword_impressions = array(); 241 $keyword_clicks = array(); 233 242 $most_relevant_keyword = array(); // Tutte le keyword escluse quelle della url corrente 234 $seo_link_keywords = array(); // Tutte le keyword della url corrente 243 $seo_link_keywords = array(); // Tutte le keyword della url corrente - match puntuale 244 $seo_link_keywords_related = array(); // Tutte le keyword della url corrente - matchano le categorie e la root del sito 235 245 $internal_link_keywords_filtered = array(); // Tutte le keyword che matchano il titolo con il filtro sul numero di caratteri delle parole 236 246 $words = array(); … … 254 264 $ga_key = str_replace('”', '"', $ga_key); 255 265 256 // Nelle keyword seo Solo la URL del post 266 // Match just the ga_url and the permalink 267 if( $ga_url == $permalink ){ 268 $seo_link_keywords[] = $ga_key; 269 } 270 257 271 $ga_url_explode = array_filter( explode('/', str_replace( site_url(), '', $ga_url )) ); 258 $ga_url_post_name = array_pop( $ga_url_explode ); 259 //echo $permalink . " --> " . $ga_url_post_name . "\n"; 260 if( strpos( $permalink, $ga_url_post_name ) !== false ) { 261 $seo_link_keywords[] = $ga_key; 272 $ga_url_post_name = array_pop( $ga_url_explode ); 273 if( strpos( $permalink, $ga_url_post_name ) !== false ) { 274 $seo_link_keywords_related[] = $ga_key; 262 275 } 263 276 264 277 $keyword_position[$ga_key] = $row->position; 265 278 $keyword_impressions[$ga_key] += $row->impressions; 279 $keyword_clicks[$ga_key] += $row->clicks; 266 280 $keyword_processed[] = $ga_key; 267 281 } 268 282 283 $seo_link_keywords_related = array_diff( $seo_link_keywords_related, $seo_link_keywords ); 284 269 285 update_post_meta( $content_post->ID, 'seo_links_keywords', $seo_link_keywords); 286 update_post_meta( $content_post->ID, 'seo_links_keywords_related', $seo_link_keywords_related); 270 287 update_post_meta( $content_post->ID, 'seo_links_keywords_filtered', $internal_link_keywords_filtered); 271 288 update_post_meta( $content_post->ID, 'internal_links_keywords_filtered', $internal_link_keywords_filtered); 272 289 update_post_meta( $content_post->ID, 'seo_links_keywords_position', $keyword_position); 273 290 update_post_meta( $content_post->ID, 'seo_links_keywords_impressions', $keyword_impressions); 291 update_post_meta( $content_post->ID, 'seo_links_keywords_clicks', $keyword_clicks); 274 292 update_post_meta( $content_post->ID, 'most_relevant_keyword', $most_relevant_keyword); 275 293 update_post_meta( $content_post->ID, 'seo_links_all_keywords', $keyword_processed); … … 280 298 'post_content' => $content, 281 299 'seo_links_keywords' => $seo_link_keywords, 300 'seo_links_keywords_related' => $seo_link_keywords_related, 282 301 'seo_links_keywords_filtered' => $internal_link_keywords_filtered, 283 302 'internal_links_keywords_filtered' => $internal_link_keywords_filtered, 284 303 'seo_links_keywords_position' => $keyword_position, 285 304 'seo_links_keywords_impressions' => $keyword_impressions, 305 'seo_links_keywords_clicks' => $keyword_clicks, 286 306 'most_relevant_keyword' => $most_relevant_keyword, 287 307 'seo_links_all_keywords' => $keyword_processed, … … 354 374 $args = array( 355 375 'body' => $post_data, 356 'timeout' => ' 5',376 'timeout' => '30', 357 377 'redirection' => '5', 358 378 'httpversion' => '1.0', … … 373 393 $args = array( 374 394 'body' => array('user_id' => $data->user_id ?? 0), 375 'timeout' => ' 5',395 'timeout' => '30', 376 396 'redirection' => '5', 377 397 'httpversion' => '1.0', … … 420 440 $args = array( 421 441 'body' => $post_data, 422 'timeout' => ' 5',442 'timeout' => '30', 423 443 'redirection' => '5', 424 444 'httpversion' => '1.0', -
seo-keywords/trunk/admin/js/seo-keywords-admin.js
r2855741 r2962509 125 125 */ 126 126 const seo_links_keywords_impressions = response.seo_links_keywords_impressions; 127 const seo_links_keywords_clicks = response.seo_links_keywords_clicks; 128 const seo_links_keywords_position = response.seo_links_keywords_position; 127 129 const seo_links_keywords_filtered = response.seo_links_keywords_filtered; 128 130 const seo_links_keywords = response.seo_links_keywords; 131 const seo_links_keywords_related = response.seo_links_keywords_related; 129 132 130 133 <!-- SEO Keywords --> … … 137 140 <input type="text" id="seo_keywords_input" onkeyup="seoKeywordResearch('seo_keywords')" placeholder="Search for keyword.." style="margin-top: 16px;width: 100%;" /> 138 141 <table style="margin: 8px 0;"> 139 <thead>140 142 <tr> 141 <th scope="row" style="width: 70%;cursor: pointer;">Keyword</th>142 <th scope="row" style="cursor: pointer;">Impr essions</th>143 </tr>144 </thead>145 < tbody>`;143 <th scope="row" style="width:55%;cursor: pointer;">Keyword</th> 144 <th scope="row" style="cursor: pointer;">Impr.</th> 145 <th scope="row" style="cursor: pointer;">Clicks</th> 146 <th scope="row" style="cursor: pointer;">Pos.</th> 147 </tr>`; 146 148 147 149 seo_keywords = []; … … 167 169 `+ seo_keywords[ sk ] +` 168 170 </td> 171 <td style="text-align: center;"> 172 ` + seo_links_keywords_clicks[ sk ] + ` 173 </td> 174 <td style="text-align: center;"> 175 ` + seo_links_keywords_position[ sk ] + ` 176 </td> 169 177 </tr>`; 170 178 } 171 179 172 seo_link_keywords_html += `</tbody> 173 </table>`; 180 seo_link_keywords_html += `</table>`; 181 182 let seo_keywords_related = []; 183 let seo_link_keywords_related_html = ` 184 <input type="text" id="seo_keywords_related_input" onkeyup="seoKeywordResearch('seo_keywords_related')" placeholder="Search for keyword.." style="margin-top: 16px;width: 100%;" /> 185 <table style="margin: 8px 0;"> 186 <tr> 187 <th scope="row" style="width:55%;cursor: pointer;">Keyword</th> 188 <th scope="row" style="cursor: pointer;">Impr.</th> 189 <th scope="row" style="cursor: pointer;">Clicks</th> 190 <th scope="row" style="cursor: pointer;">Pos.</th> 191 </tr>`; 192 193 for( let slk in seo_links_keywords_related ) { 194 seo_keywords_related[ seo_links_keywords_related[ slk ] ] = seo_links_keywords_impressions[ seo_links_keywords_related[ slk ] ]; 195 } 196 197 q_sorted = []; 198 Seo_Keywords_bySortedValue( seo_keywords_related, function(key, value) { 199 q_sorted[key] = value; 200 }); 201 seo_keywords_related = q_sorted; 202 let seo_keywords_related_index = 0; 203 for( let sk in seo_keywords_related ) { 204 seo_keywords_related_index++; 205 seo_link_keywords_related_html += ` 206 <tr class="seo_keywords"> 207 <td> 208 `+ Seo_Keywords_stripslashes( sk ) +` 209 </td> 210 <td style="text-align: center;"> 211 `+ seo_keywords_related[ sk ] +` 212 </td> 213 <td style="text-align: center;"> 214 ` + seo_links_keywords_clicks[ sk ] + ` 215 </td> 216 <td style="text-align: center;"> 217 ` + seo_links_keywords_position[ sk ] + ` 218 </td> 219 </tr>`; 220 } 221 222 seo_link_keywords_related_html += `</table>`; 223 174 224 175 225 if( seo_keywords_index == 0 ){ … … 195 245 196 246 document.getElementById('seo_keywords').innerHTML = seo_link_keywords_html; 247 document.getElementById('seo_keywords_related').innerHTML = seo_link_keywords_related_html; 197 248 198 249 if( seo_keywords_index == 0 ) { … … 247 298 } 248 299 300 const getCellValue = (tr, idx) => tr.children[idx].innerText || tr.children[idx].textContent; 301 302 const comparer = (idx, asc) => (a, b) => ((v1, v2) => 303 v1 !== '' && v2 !== '' && !isNaN(v1) && !isNaN(v2) ? v1 - v2 : v1.toString().localeCompare(v2) 304 )(getCellValue(asc ? a : b, idx), getCellValue(asc ? b : a, idx)); 305 306 // do the work... 307 document.querySelectorAll('.seo_keywords th, .seo_keywords_related th').forEach(th => th.addEventListener('click', (() => { 308 const table = th.closest('table'); 309 Array.from(table.querySelectorAll('tr:nth-child(n+2)')) 310 .sort(comparer(Array.from(th.parentNode.children).indexOf(th), this.asc = !this.asc)) 311 .forEach(tr => table.appendChild(tr) ); 312 }))); 313 249 314 (function( $ ) { 250 315 'use strict'; -
seo-keywords/trunk/admin/partials/seo-keywords-admin-metabox.php
r2819943 r2962509 1 1 <?php 2 2 $seo_links_keywords = $seo_links_keywords ?? array(); 3 $seo_links_keywords_related = $seo_links_keywords_related ?? array(); 3 4 $seo_links_keywords_impressions = $seo_links_keywords_impressions ?? array(); 5 $seo_links_keywords_clicks = $seo_links_keywords_clicks ?? array(); 6 $seo_links_keywords_position = $seo_links_keywords_position ?? array(); 4 7 $seo_links_last_update = $seo_links_last_update ?? ''; 5 8 $sc_api_key = $sc_api_key ?? ''; 6 9 $seo_keywords_credits = $credits->seo_keywords ?? 0; 7 10 ?> 11 <style> 12 .seo_keywords_tab_title{ 13 margin: 0; 14 font-size: 1rem; 15 padding-bottom: 8px; 16 cursor: pointer; 17 } 18 .seo_keywords_tab_title.active{ 19 font-weight: 600; 20 } 21 </style> 8 22 <!-- SEO Keywords --> 9 23 <div class="tabs-panel"> … … 105 119 </script> 106 120 <?php endif; ?> 121 <script> 122 function showRanked(){ 123 jQuery('.seo_keywords_tab_title.related').removeClass('active'); 124 jQuery('.seo_keywords_tab_title.ranked').addClass('active'); 125 jQuery('#seo_keywords').show(); 126 jQuery('#seo_keywords_related').hide(); 127 } 128 function showRelated(){ 129 jQuery('.seo_keywords_tab_title.related').addClass('active'); 130 jQuery('.seo_keywords_tab_title.ranked').removeClass('active'); 131 jQuery('#seo_keywords').hide(); 132 jQuery('#seo_keywords_related').show(); 133 } 134 </script> 135 <div style="display: flex;align-items: center;justify-content: space-between;"> 136 <div class="seo_keywords_tab_title ranked active" onclick="showRanked();">Ranked KW</div> 137 <div class="seo_keywords_tab_title related" onclick="showRelated();">Related KW</div> 138 </div> 107 139 <div id="seo_keywords" style="max-height: 250px;overflow: scroll;"> 108 <?php if( $seo_links_keywords ) : ?>140 <?php if( $seo_links_keywords_position ) : ?> 109 141 <input type="text" id="seo_keywords_input" onkeyup="seoKeywordResearch('seo_keywords')" placeholder="Search for keyword.." style="margin-top: 16px;width: 100%;" /> 110 142 <table style="margin: 8px 0;"> 111 <thead>112 143 <tr> 113 <th scope="row" style="width:70%;cursor: pointer;">Keyword</th> 114 <th scope="row" style="cursor: pointer;">Impressions</th> 144 <th scope="row" style="cursor: pointer;width: 55%;">Keyword</th> 145 <th scope="row" style="cursor: pointer;">Impr.</th> 146 <th scope="row" style="cursor: pointer;">Clicks</th> 147 <th scope="row" style="cursor: pointer;">Pos.</th> 115 148 </tr> 116 </thead>117 <tbody>118 149 <?php 119 150 $seo_keywords = array(); … … 131 162 <?php echo esc_html( $seo_position ); ?> 132 163 </td> 164 <td style="text-align: center;"> 165 <?php echo esc_html( $seo_links_keywords_clicks[ $seo_link ] ); ?> 166 </td> 167 <td style="text-align: center;"> 168 <?php echo esc_html( $seo_links_keywords_position[ $seo_link ] ); ?> 169 </td> 133 170 </tr> 134 171 <?php endforeach; ?> 135 </tbody> 172 </table> 173 <?php else: ?> 174 <p style="margin: 8px 0;">Add those relevant keywords to your content to optimize it for search engines.</p> 175 <p style="margin: 8px 0;">Click "get keywords" to receive keyword suggestions.</p> 176 <?php endif; ?> 177 </div> 178 <div id="seo_keywords_related" style="max-height: 250px;overflow: scroll;display:none;"> 179 <?php if( $seo_links_keywords_related ) : ?> 180 <input type="text" id="seo_keywords_related_input" onkeyup="seoKeywordResearch('seo_keywords_related')" placeholder="Search for keyword.." style="margin-top: 16px;width: 100%;" /> 181 <table style="margin: 8px 0;"> 182 <tr> 183 <th scope="row" style="cursor: pointer;width:55%;">Keyword</th> 184 <th scope="row" style="cursor: pointer;">Impr.</th> 185 <th scope="row" style="cursor: pointer;">Clicks</th> 186 <th scope="row" style="cursor: pointer;">Pos.</th> 187 </tr> 188 <?php 189 $seo_keywords = array(); 190 foreach( $seo_links_keywords_related as $seo_link ) : 191 $seo_keywords[ $seo_link ] = $seo_links_keywords_impressions[$seo_link]; 192 endforeach; 193 arsort( $seo_keywords ); 194 ?> 195 <?php foreach( $seo_keywords as $seo_link => $seo_position ) : ?> 196 <tr class="seo_keywords"> 197 <td> 198 <?php echo esc_html( $seo_link ); ?> 199 </td> 200 <td style="text-align: center;"> 201 <?php echo esc_html( $seo_position ); ?> 202 </td> 203 <td style="text-align: center;"> 204 <?php echo esc_html( $seo_links_keywords_clicks[ $seo_link ] ); ?> 205 </td> 206 <td style="text-align: center;"> 207 <?php echo esc_html( $seo_links_keywords_position[ $seo_link ] ); ?> 208 </td> 209 </tr> 210 <?php endforeach; ?> 136 211 </table> 137 212 <?php else: ?> -
seo-keywords/trunk/admin/partials/seo-keywords-admin-settings.php
r2819943 r2962509 130 130 <td><input name="name" type="text" id="name" class="regular-text"></td> 131 131 </tr> 132 <!-- 132 133 <tr> 133 134 <th scope="row"> … … 136 137 <td><input name="surname" type="text" id="surname" class="regular-text"></td> 137 138 </tr> 139 --> 138 140 <tr> 139 141 <th scope="row"> -
seo-keywords/trunk/seo-keywords.php
r2861305 r2962509 17 17 * Plugin URI: https://wpseoplugins.org/seo-keywords/ 18 18 * Description: SEO Keywords is a powerful plugin that helps you add keywords in your wordpress posts. Automate keywords building with ease! 19 * Version: 1.1. 319 * Version: 1.1.5 20 20 * Author: WP SEO Plugins 21 21 * Author URI: https://wpseoplugins.org/ … … 42 42 define( 'SEO_KEYWORDS_SITE_URL', ( SEO_KEYWORDS_SERVER_PORT == 80 ? 'http://' : 'https://' ) . SEO_KEYWORDS_SERVER_NAME ); 43 43 define( 'SEO_KEYWORDS_SERVER_REQUEST_URI', sanitize_text_field( $_SERVER['REQUEST_URI'] ) ); 44 define( 'SEO_KEYWORDS_VERSION', '1.1. 3' );44 define( 'SEO_KEYWORDS_VERSION', '1.1.5' ); 45 45 46 46 /**
Note: See TracChangeset
for help on using the changeset viewer.