Ecwid Ecommerce Shopping Cart - Version 1.8

Version Description

  • [+] Improved compatibility with popular SEO plugins (Yoast WordPress SEO, All in one SEO Pack and Platinum SEO pack) : now Ecwid prevents them from generating wrong title and canonical tags on the product pages.
  • [+] Ability to display separate categories on separate pages with custom shortcodes. Now, the plugin allows setting different default categories for different store pages. So if you have multiple store pages and want to display specific categories on them, you can set up a default category for each of them in the [ecwid_productbrowser] shortcode like this: [ecwid_productbrowser default_category_id="12345"] . On the other hand, if you have one store page, you can set the default category on the plugin settings page as usual.
  • [+] A few more SEO improvements:
    • Product browser's default category ID setting is now taken into consideration by SEO part of the plugin. If you have multiple store pages displaying specific categories of your shop, search engines will index those pages starting from the proper category (not from the store's root)
    • <meta fragment="!"> tag is now displayed on every page where [ecwid_productbrowser] tag is added so search engines will better index each store page
  • [+] We also released a lot of new Ecwid features. You can read about them there: http://www.ecwid.com/blog/new-releases/
Download this release

Release Info

Developer Ecwid
Plugin Icon 128x128 Ecwid Ecommerce Shopping Cart
Version 1.8
Comparing to
See all releases

Code changes from version 1.7 to 1.8

Files changed (2) hide show
  1. ecwid-shopping-cart.php +126 -32
  2. readme.txt +10 -2
ecwid-shopping-cart.php CHANGED
@@ -1,19 +1,16 @@
1
  <?php
2
  /*
3
  Plugin Name: Ecwid Shopping Cart
4
- Plugin URI: http://www.ecwid.com/
5
- Description: Ecwid is a free full-featured shopping cart. It can be easily integreted with any Wordpress blog and takes less than 5 minutes to set up.
6
  Author: Ecwid Team
7
- Version: 1.7
8
- Author URI: http://www.ecwid.com/
9
  */
10
 
11
  register_activation_hook( __FILE__, 'ecwid_store_activate' );
12
  register_deactivation_hook( __FILE__, 'ecwid_store_deactivate' );
13
 
14
- if (!empty($_GET['_escaped_fragment_'])) {
15
- remove_action( 'wp_head','rel_canonical');
16
- }
17
  define("APP_ECWID_COM","app.ecwid.com");
18
 
19
  if ( is_admin() ){
@@ -31,10 +28,42 @@ if ( is_admin() ){
31
  add_filter('wp_title', 'ecwid_seo_title', 20);
32
  add_action('wp_head', 'ecwid_ajax_crawling_fragment');
33
  add_action('wp_head', 'ecwid_meta');
 
 
34
  $ecwid_seo_title = '';
35
  }
36
  add_action('admin_bar_menu', 'add_ecwid_admin_bar_node', 1000);
37
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  function ecwid_backward_compatibility() {
39
 
40
  // Backward compatibility with 1.1.2 and earlier
@@ -53,6 +82,56 @@ function ecwid_backward_compatibility() {
53
  }
54
  }
55
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  function add_ecwid_admin_bar_node() {
57
  global $wp_admin_bar;
58
  if ( !is_super_admin() || !is_admin_bar_showing() )
@@ -67,7 +146,7 @@ function add_ecwid_admin_bar_node() {
67
  "id" => "ecwid_home",
68
  "title" => "Ecwid Site",
69
  "parent" => "ecwid_main",
70
- 'href' => 'http://www.ecwid.com/'
71
  )
72
  );
73
  //add store page link
@@ -95,25 +174,36 @@ function add_ecwid_admin_bar_node() {
95
  );
96
  }
97
 
 
 
 
 
 
 
 
 
 
 
 
 
98
  function ecwid_ajax_crawling_fragment() {
99
  $ecwid_page_id = get_option("ecwid_store_page_id");
100
- if (ecwid_is_api_enabled() && !isset($_GET['_escaped_fragment_']) && get_the_ID() == $ecwid_page_id)
101
  echo '<meta name="fragment" content="!">' . PHP_EOL;
102
  }
103
 
104
  function ecwid_meta() {
 
105
  echo '<link rel="dns-prefetch" href="//images-cdn.ecwid.com/">' . PHP_EOL;
106
  echo '<link rel="dns-prefetch" href="//images.ecwid.com/">' . PHP_EOL;
107
  echo '<link rel="dns-prefetch" href="//app.ecwid.com/">' . PHP_EOL;
108
 
109
- $ecwid_page_id = get_option("ecwid_store_page_id");
110
-
111
- if (get_the_ID() != $ecwid_page_id) {
112
- $page_url = get_page_link($ecwid_page_id);
113
  echo '<link rel="prefetch" href="' . $page_url . '" />' . PHP_EOL;
114
  echo '<link rel="prerender" href="' . $page_url . '" />' . PHP_EOL;
115
  }
116
-
117
  }
118
 
119
  function ecwid_get_product_and_category($category_id, $product_id) {
@@ -185,7 +275,10 @@ function ecwid_seo_title($content) {
185
  }
186
  }
187
 
188
-
 
 
 
189
 
190
  function ecwid_get_scriptjs_code() {
191
  if (!defined('ECWID_SCRIPTJS')) {
@@ -201,18 +294,17 @@ function ecwid_get_scriptjs_code() {
201
  }
202
 
203
  function ecwid_script_shortcode() {
204
- return '<div>' . ecwid_get_scriptjs_code() . '</div>';
205
  }
206
 
207
-
208
  function ecwid_minicart_shortcode() {
209
  $ecwid_enable_minicart = get_option('ecwid_enable_minicart');
210
  $ecwid_show_categories = get_option('ecwid_show_categories');
211
  if (!empty($ecwid_enable_minicart) && !empty($ecwid_show_categories)) {
212
  $s = <<<EOT
213
- <div><script type="text/javascript"> xMinicart("style=","layout=attachToCategories"); </script></div>
214
  EOT;
215
- return $s;
216
  } else {
217
  return "";
218
  }
@@ -221,9 +313,9 @@ function ecwid_searchbox_shortcode() {
221
  $ecwid_show_search_box = get_option('ecwid_show_search_box');
222
  if (!empty($ecwid_show_search_box)) {
223
  $s = <<<EOT
224
- <div><script type="text/javascript"> xSearchPanel("style="); </script></div>
225
  EOT;
226
- return $s;
227
  } else {
228
  return "";
229
  }
@@ -233,9 +325,9 @@ function ecwid_categories_shortcode() {
233
  $ecwid_show_categories = get_option('ecwid_show_categories');
234
  if (!empty($ecwid_show_categories)) {
235
  $s = <<<EOT
236
- <div><script type="text/javascript"> xCategories("style="); </script></div>
237
  EOT;
238
- return $s;
239
  } else {
240
  return "";
241
  }
@@ -252,7 +344,7 @@ function ecwid_parse_escaped_fragment($escaped_fragment) {
252
  return $return;
253
  }
254
 
255
- function ecwid_productbrowser_shortcode() {
256
  global $ecwid_seo_product_title;
257
  $store_id = get_ecwid_store_id();
258
  $list_of_views = array('list','grid','table');
@@ -266,7 +358,10 @@ function ecwid_productbrowser_shortcode() {
266
  $ecwid_pb_searchview = get_option('ecwid_pb_searchview');
267
 
268
  $ecwid_mobile_catalog_link = get_option('ecwid_mobile_catalog_link');
269
- $ecwid_default_category_id = get_option('ecwid_default_category_id');
 
 
 
270
 
271
  if (empty($ecwid_pb_categoriesperrow)) {
272
  $ecwid_pb_categoriesperrow = 3;
@@ -310,8 +405,7 @@ function ecwid_productbrowser_shortcode() {
310
  include_once WP_PLUGIN_DIR . '/ecwid-shopping-cart/lib/ecwid_product_api.php';
311
  include_once WP_PLUGIN_DIR . '/ecwid-shopping-cart/lib/EcwidCatalog.php';
312
 
313
- $ecwid_page_id = get_option("ecwid_store_page_id");
314
- $page_url = get_page_link($ecwid_page_id);
315
 
316
  $catalog = new EcwidCatalog($store_id, $page_url);
317
 
@@ -324,7 +418,7 @@ function ecwid_productbrowser_shortcode() {
324
  $ecwid_default_category_str = ',"defaultCategoryId=' . $params['id'] . '"';
325
  }
326
  } else {
327
- $plain_content = $catalog->get_category(0);
328
  }
329
  }
330
  } else {
@@ -332,10 +426,10 @@ function ecwid_productbrowser_shortcode() {
332
  }
333
 
334
  $s = <<<EOT
335
- <div> <script type="text/javascript"> xProductBrowser("categoriesPerRow=$ecwid_pb_categoriesperrow","views=grid($ecwid_pb_productspercolumn_grid,$ecwid_pb_productsperrow_grid) list($ecwid_pb_productsperpage_list) table($ecwid_pb_productsperpage_table)","categoryView=$ecwid_pb_defaultview","searchView=$ecwid_pb_searchview","style="$ecwid_default_category_str);</script></div>
336
  {$plain_content}
337
  EOT;
338
- return $s;
339
  }
340
 
341
 
@@ -662,7 +756,7 @@ if ($store_id == '1003') {
662
  <div id="ecwid-instruction" >
663
  <h4>Instruction on how to get your free Store ID</h4>
664
  <ul style="padding-left:30px;list-style-type:disc;" id="ecwid-instruction-ul">
665
- <li>Go to the <a target="_blank" href="https://my.ecwid.com/cp/#register">Ecwid control panel</a>. Open this URL: <a target="_blank" href="https://my.ecwid.com/cp/#register">https://my.ecwid.com/cp/#register</a>. You will get to 'Sign In or Register' form.</li>
666
  <li>Register an account at Ecwid. Use section &quot;Using Ecwid account&quot; for that. The registration is free.
667
  <p>Or you can log in using your account at Gmail, Facebook, Twitter, Yahoo, or another provider. Choose one from the list of the providers (click on 'More providers' if you don't see your provider there). Click on the provider logo, you will be redirected to the account login page. Submit your username/password there to login to your Ecwid.</p>
668
  <p>Note: the login might take several seconds. Please, be patient.</p>
@@ -673,7 +767,7 @@ if ($store_id == '1003') {
673
  You will also get your Store ID by email.
674
  </li>
675
  </ul>
676
- <p>If you have any questions, feel free to ask them on <a href="http://www.ecwid.com/forums/">Ecwid forums</a> or <a href="http://www.ecwid.com/contact-us.html">contact Ecwid team</a>.</p>
677
  </div>
678
  <?php
679
  }
1
  <?php
2
  /*
3
  Plugin Name: Ecwid Shopping Cart
4
+ Plugin URI: http://www.ecwid.com?source=wporg
5
+ Description: Ecwid is a free full-featured shopping cart. It can be easily integrated with any Wordpress blog and takes less than 5 minutes to set up.
6
  Author: Ecwid Team
7
+ Version: 1.8
8
+ Author URI: http://www.ecwid.com?source=wporg
9
  */
10
 
11
  register_activation_hook( __FILE__, 'ecwid_store_activate' );
12
  register_deactivation_hook( __FILE__, 'ecwid_store_deactivate' );
13
 
 
 
 
14
  define("APP_ECWID_COM","app.ecwid.com");
15
 
16
  if ( is_admin() ){
28
  add_filter('wp_title', 'ecwid_seo_title', 20);
29
  add_action('wp_head', 'ecwid_ajax_crawling_fragment');
30
  add_action('wp_head', 'ecwid_meta');
31
+ add_action('wp_title', 'ecwid_seo_compatibility_init', 0);
32
+ add_action('wp_head', 'ecwid_seo_compatibility_restore', 1000);
33
  $ecwid_seo_title = '';
34
  }
35
  add_action('admin_bar_menu', 'add_ecwid_admin_bar_node', 1000);
36
 
37
+ $version = get_bloginfo('version');
38
+
39
+ if (version_compare($version, '3.6') < 0) {
40
+ /**
41
+ * A copy of has_shortcode functionality from wordpress 3.6
42
+ * http://core.trac.wordpress.org/browser/tags/3.6/wp-includes/shortcodes.php
43
+ */
44
+
45
+ function shortcode_exists( $tag ) {
46
+ global $shortcode_tags;
47
+ return array_key_exists( $tag, $shortcode_tags );
48
+ }
49
+
50
+ function has_shortcode( $content, $tag ) {
51
+ if ( shortcode_exists( $tag ) ) {
52
+ preg_match_all( '/' . get_shortcode_regex() . '/s', $content, $matches, PREG_SET_ORDER );
53
+ if ( empty( $matches ) )
54
+ return false;
55
+
56
+ foreach ( $matches as $shortcode ) {
57
+ if ( $tag === $shortcode[2] ) {
58
+ return true;
59
+ }
60
+ }
61
+ return false;
62
+ }
63
+ }
64
+ }
65
+
66
+
67
  function ecwid_backward_compatibility() {
68
 
69
  // Backward compatibility with 1.1.2 and earlier
82
  }
83
  }
84
 
85
+ function ecwid_override_option($name, $new_value = null)
86
+ {
87
+ static $overridden = array();
88
+
89
+ if (!array_key_exists($name, $overridden)) {
90
+ $overridden[$name] = get_option($name);
91
+ }
92
+
93
+ if (!is_null($new_value)) {
94
+ update_option($name, $new_value);
95
+ } else {
96
+ update_option($name, $overridden[$name]);
97
+ }
98
+ }
99
+
100
+ function ecwid_seo_compatibility_init()
101
+ {
102
+ if (!array_key_exists('_escaped_fragment_', $_GET) || !ecwid_page_has_productbrowser()) {
103
+ return;
104
+ }
105
+
106
+ // Default wordpress canonical
107
+ remove_action( 'wp_head','rel_canonical');
108
+
109
+ // Canonical for Yoast Wordpress SEO
110
+ global $wpseo_front;
111
+ remove_action( 'wpseo_head', array( $wpseo_front, 'canonical' ), 20);
112
+
113
+ // Canonical for Platinum SEO Pack
114
+ ecwid_override_option('psp_canonical', false);
115
+ // Title for Platinum SEO Pack
116
+ ecwid_override_option('aiosp_rewrite_titles', false);
117
+
118
+ global $aioseop_options, $aiosp;
119
+ // Canonical for All in One SEO Pack
120
+ $aioseop_options['aiosp_can'] = false;
121
+ // Title for All in One SEO Pack
122
+ remove_filter('wp_title', array($aiosp, 'wp_title'), 20);
123
+ }
124
+
125
+ function ecwid_seo_compatibility_restore()
126
+ {
127
+ if (!array_key_exists('_escaped_fragment_', $_GET) || !ecwid_page_has_productbrowser()) {
128
+ return;
129
+ }
130
+
131
+ ecwid_override_option('psp_canonical');
132
+ ecwid_override_option('aiosp_rewrite_titles');
133
+ }
134
+
135
  function add_ecwid_admin_bar_node() {
136
  global $wp_admin_bar;
137
  if ( !is_super_admin() || !is_admin_bar_showing() )
146
  "id" => "ecwid_home",
147
  "title" => "Ecwid Site",
148
  "parent" => "ecwid_main",
149
+ 'href' => 'http://www.ecwid.com?source=wporg'
150
  )
151
  );
152
  //add store page link
174
  );
175
  }
176
 
177
+ function ecwid_page_has_productbrowser()
178
+ {
179
+ static $result = null;
180
+
181
+ if (is_null($result)) {
182
+ $post_content = get_post(get_the_ID())->post_content;
183
+ $result = has_shortcode($post_content, 'ecwid_productbrowser');
184
+ }
185
+
186
+ return $result;
187
+ }
188
+
189
  function ecwid_ajax_crawling_fragment() {
190
  $ecwid_page_id = get_option("ecwid_store_page_id");
191
+ if (ecwid_is_api_enabled() && !isset($_GET['_escaped_fragment_']) && ecwid_page_has_productbrowser())
192
  echo '<meta name="fragment" content="!">' . PHP_EOL;
193
  }
194
 
195
  function ecwid_meta() {
196
+
197
  echo '<link rel="dns-prefetch" href="//images-cdn.ecwid.com/">' . PHP_EOL;
198
  echo '<link rel="dns-prefetch" href="//images.ecwid.com/">' . PHP_EOL;
199
  echo '<link rel="dns-prefetch" href="//app.ecwid.com/">' . PHP_EOL;
200
 
201
+ if (!ecwid_page_has_productbrowser()) {
202
+ $ecwid_page_id = get_option("ecwid_store_page_id");
203
+ $page_url = get_page_link($ecwid_page_id);
 
204
  echo '<link rel="prefetch" href="' . $page_url . '" />' . PHP_EOL;
205
  echo '<link rel="prerender" href="' . $page_url . '" />' . PHP_EOL;
206
  }
 
207
  }
208
 
209
  function ecwid_get_product_and_category($category_id, $product_id) {
275
  }
276
  }
277
 
278
+ function ecwid_wrap_shortcode_content($content)
279
+ {
280
+ return "<!-- Ecwid shopping cart plugin v 1.8 --><div>$content</div><!-- END Ecwid Shopping Cart v 1.8 -->";
281
+ }
282
 
283
  function ecwid_get_scriptjs_code() {
284
  if (!defined('ECWID_SCRIPTJS')) {
294
  }
295
 
296
  function ecwid_script_shortcode() {
297
+ return ecwid_wrap_shortcode_content(ecwid_get_scriptjs_code());
298
  }
299
 
 
300
  function ecwid_minicart_shortcode() {
301
  $ecwid_enable_minicart = get_option('ecwid_enable_minicart');
302
  $ecwid_show_categories = get_option('ecwid_show_categories');
303
  if (!empty($ecwid_enable_minicart) && !empty($ecwid_show_categories)) {
304
  $s = <<<EOT
305
+ <script type="text/javascript"> xMinicart("style=","layout=attachToCategories"); </script>
306
  EOT;
307
+ return ecwid_wrap_shortcode_content($s);
308
  } else {
309
  return "";
310
  }
313
  $ecwid_show_search_box = get_option('ecwid_show_search_box');
314
  if (!empty($ecwid_show_search_box)) {
315
  $s = <<<EOT
316
+ <script type="text/javascript"> xSearchPanel("style="); </script>
317
  EOT;
318
+ return ecwid_wrap_shortcode_content($s);
319
  } else {
320
  return "";
321
  }
325
  $ecwid_show_categories = get_option('ecwid_show_categories');
326
  if (!empty($ecwid_show_categories)) {
327
  $s = <<<EOT
328
+ <script type="text/javascript"> xCategories("style="); </script>
329
  EOT;
330
+ return ecwid_wrap_shortcode_content($s);
331
  } else {
332
  return "";
333
  }
344
  return $return;
345
  }
346
 
347
+ function ecwid_productbrowser_shortcode($shortcode_params) {
348
  global $ecwid_seo_product_title;
349
  $store_id = get_ecwid_store_id();
350
  $list_of_views = array('list','grid','table');
358
  $ecwid_pb_searchview = get_option('ecwid_pb_searchview');
359
 
360
  $ecwid_mobile_catalog_link = get_option('ecwid_mobile_catalog_link');
361
+ $ecwid_default_category_id =
362
+ !empty($shortcode_params) && array_key_exists('default_category_id', $shortcode_params)
363
+ ? $shortcode_params['default_category_id']
364
+ : get_option('ecwid_default_category_id');
365
 
366
  if (empty($ecwid_pb_categoriesperrow)) {
367
  $ecwid_pb_categoriesperrow = 3;
405
  include_once WP_PLUGIN_DIR . '/ecwid-shopping-cart/lib/ecwid_product_api.php';
406
  include_once WP_PLUGIN_DIR . '/ecwid-shopping-cart/lib/EcwidCatalog.php';
407
 
408
+ $page_url = get_page_link();
 
409
 
410
  $catalog = new EcwidCatalog($store_id, $page_url);
411
 
418
  $ecwid_default_category_str = ',"defaultCategoryId=' . $params['id'] . '"';
419
  }
420
  } else {
421
+ $plain_content = $catalog->get_category(intval($ecwid_default_category_id));
422
  }
423
  }
424
  } else {
426
  }
427
 
428
  $s = <<<EOT
429
+ <script type="text/javascript"> xProductBrowser("categoriesPerRow=$ecwid_pb_categoriesperrow","views=grid($ecwid_pb_productspercolumn_grid,$ecwid_pb_productsperrow_grid) list($ecwid_pb_productsperpage_list) table($ecwid_pb_productsperpage_table)","categoryView=$ecwid_pb_defaultview","searchView=$ecwid_pb_searchview","style="$ecwid_default_category_str);</script>
430
  {$plain_content}
431
  EOT;
432
+ return ecwid_wrap_shortcode_content($s);
433
  }
434
 
435
 
756
  <div id="ecwid-instruction" >
757
  <h4>Instruction on how to get your free Store ID</h4>
758
  <ul style="padding-left:30px;list-style-type:disc;" id="ecwid-instruction-ul">
759
+ <li>Go to the <a target="_blank" href="https://my.ecwid.com/cp/?source=wporg#register">Ecwid control panel</a>. Open this URL: <a target="_blank" href="https://my.ecwid.com/cp/?source=wporg#register">https://my.ecwid.com/cp?source=wporg#register</a>. You will get to 'Sign In or Register' form.</li>
760
  <li>Register an account at Ecwid. Use section &quot;Using Ecwid account&quot; for that. The registration is free.
761
  <p>Or you can log in using your account at Gmail, Facebook, Twitter, Yahoo, or another provider. Choose one from the list of the providers (click on 'More providers' if you don't see your provider there). Click on the provider logo, you will be redirected to the account login page. Submit your username/password there to login to your Ecwid.</p>
762
  <p>Note: the login might take several seconds. Please, be patient.</p>
767
  You will also get your Store ID by email.
768
  </li>
769
  </ul>
770
+ <p>If you have any questions, feel free to ask them on <a href="http://www.ecwid.com/forums/?source=wporg">Ecwid forums</a> or <a href="http://www.ecwid.com/contact-us.html?source=wporg">contact Ecwid team</a>.</p>
771
  </div>
772
  <?php
773
  }
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Ecwid Shopping Cart ===
2
  Contributors: Ecwid Team
3
- Tags: shopping cart, ecommerce, e-commerce, paypal, google checkout, 2checkout, store, shop, product catalog, inventory
4
  Requires at least: 2.8
5
  Tested up to: 3.6
6
- Stable tag: 1.7
7
 
8
  Ecwid is a free full-featured shopping cart that can easily be added to any blog
9
  and takes less than 5 minutes to set up.
@@ -78,6 +78,14 @@ http://codex.wordpress.org/Managing_Plugins#Installing_Plugins
78
  - Knowledge Base: [http://kb.ecwid.com](http://kb.ecwid.com)
79
 
80
  == Changelog ==
 
 
 
 
 
 
 
 
81
  = 1.7 =
82
  - [+] various additions to the indexable representation of Ecwid pages (product category in the title and on the page, product options, product SKU). Thanks to Uliya B.
83
  = 1.5 =
1
  === Ecwid Shopping Cart ===
2
  Contributors: Ecwid Team
3
+ Tags: ecwid, shopping cart, ecommerce, e-commerce, paypal, google checkout, 2checkout, store, shop, product catalog, inventory
4
  Requires at least: 2.8
5
  Tested up to: 3.6
6
+ Stable tag: 1.8
7
 
8
  Ecwid is a free full-featured shopping cart that can easily be added to any blog
9
  and takes less than 5 minutes to set up.
78
  - Knowledge Base: [http://kb.ecwid.com](http://kb.ecwid.com)
79
 
80
  == Changelog ==
81
+ = 1.8 =
82
+ - [+] Improved compatibility with popular SEO plugins (Yoast WordPress SEO, All in one SEO Pack and Platinum SEO pack) : now Ecwid prevents them from generating wrong title and canonical tags on the product pages.
83
+ - [+] Ability to display separate categories on separate pages with custom shortcodes. Now, the plugin allows setting different default categories for different store pages. So if you have multiple store pages and want to display specific categories on them, you can set up a default category for each of them in the [ecwid\_productbrowser] shortcode like this: [ecwid\_productbrowser default\_category\_id="12345"] . On the other hand, if you have one store page, you can set the default category on the plugin settings page as usual.
84
+ - [+] A few more SEO improvements:
85
+ - Product browser's default category ID setting is now taken into consideration by SEO part of the plugin. If you have multiple store pages displaying specific categories of your shop, search engines will index those pages starting from the proper category (not from the store's root)
86
+ - &lt;meta fragment="!"&gt; tag is now displayed on every page where [ecwid\_productbrowser] tag is added so search engines will better index each store page
87
+ - [+] We also released a lot of new Ecwid features. You can read about them there: http://www.ecwid.com/blog/new-releases/
88
+
89
  = 1.7 =
90
  - [+] various additions to the indexable representation of Ecwid pages (product category in the title and on the page, product options, product SKU). Thanks to Uliya B.
91
  = 1.5 =