gpmd_seopack - Version 1.2.1

Version Notes

Bug Fix
----------
Bug causing meta robots to be incorrect on filtered category pages

Download this release

Release Info

Developer GPMD
Extension gpmd_seopack
Version 1.2.1
Comparing to
See all releases


Code changes from version 1.1.3 to 1.2.1

app/code/community/GPMD/SEOPack/Model/Observer.php CHANGED
@@ -8,99 +8,135 @@
8
  /**
9
  * Observer for custom meta robots. Better than rewriting.
10
  *
11
- * @author adrian
12
  */
13
  class GPMD_SEOPack_Model_Observer {
14
-
15
- const XML_PATH_METAROBOTS_SITEENABLED = 'seopack/activated/site_enabled';
16
- const XML_PATH_METAROBOTS_FILTERENABLED = 'seopack/activated/filter_enabled';
17
- const XML_PATH_METAROBOTS_PRODUCTENABLED = 'seopack/activated/product_enabled';
18
- const XML_PATH_METAROBOTS_CATEGORYENABLED = 'seopack/activated/category_enabled';
19
- const XML_PATH_GA_IGNORE = 'seopack/activated/ga_ignore';
20
-
21
- static $_matches = array(
22
- 'HTTP_X_PURPOSE' => array(
23
- 'preview',
24
- ),
25
- 'HTTP_X_MOZ' => array(
26
- 'prefetch',
27
- ),
28
- );
29
-
30
- public function setMetaRobots(Varien_Event_Observer $observer){
31
-
32
- if(empty($this->_siteEnabled)){
33
- $this->_siteEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_SITEENABLED);
34
- }
35
-
36
- if($this->_siteEnabled){
37
- $layout = $observer->getEvent()->getLayout();
38
- $action = $observer->getEvent()->getAction();
39
-
40
- $this->_setMetaRobots($layout, $action);
41
- }
42
-
43
- $this->_setGAIgnore($layout);
44
- }
45
-
46
- protected function _setGAIgnore($layout){
47
-
48
- if(empty($this->_gaIgnoreEnabled)){
49
- $this->_gaIgnoreEnabled = Mage::getStoreConfig(self::XML_PATH_GA_IGNORE);
50
- }
51
-
52
- if($this->_gaIgnoreEnabled){
53
- $intersect = array_intersect_key(self::$_matches, $_SERVER);
54
-
55
- if(!empty($intersect)){
56
- foreach($intersect as $match => $values){
57
- foreach($values as $value){
58
- if($_SERVER[$match] == $value){
59
- $layout->getBlock('after_body_start')->unsetChild('google_analytics');
60
- break 2;
61
- }
62
- }
63
- }
64
- }
65
- }
66
- }
67
-
68
- protected function _setMetaRobots($layout, $action){
69
-
70
- if(empty($this->_filterEnabled)){
71
- $this->_filterEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_FILTERENABLED);
72
- }
73
-
74
- if(empty($this->_productEnabled)){
75
- $this->_productEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_PRODUCTENABLED);
76
- }
77
-
78
- if(empty($this->_categoryEnabled)){
79
- $this->_categoryEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_CATEGORYENABLED);
80
- }
81
-
82
- if($head = $layout->getBlock('head')){
83
- if($this->_productEnabled && $action instanceof Mage_Catalog_ProductController){
84
- $product = Mage::registry('current_product');
85
- // Set meta robots if set in product
86
- if($robots = $product->getMetaRobots()){
87
- $head->setData('robots',$robots);
88
- }
89
- }elseif($this->_categoryEnabled && $action instanceof Mage_Catalog_CategoryController){
90
- $category = Mage::registry('current_category');
91
- // Set meta robots if set in category
92
- if($robots = $category->getMetaRobots()){
93
- $head->setData('robots',$robots);
94
- }
95
- }
96
- if($this->_filterEnabled){
97
- if($block = $layout->getBlockSingleton('catalog/layer_state')){
98
- if($block->getActiveFilters()) {
99
- // Set NOINDEX,FOLLOW when a filter is applied
100
- $head->setData('robots','NOINDEX,FOLLOW');
101
- }
102
- }
103
- }
104
- }
105
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
106
  }
8
  /**
9
  * Observer for custom meta robots. Better than rewriting.
10
  *
11
+ * @author Adrian Duke <adrian@gpmd.co.uk>, Martin Dines <mdines@gpmd.co.uk>
12
  */
13
  class GPMD_SEOPack_Model_Observer {
14
+
15
+ const XML_PATH_METAROBOTS_SITEENABLED = 'seopack/activated/site_enabled';
16
+ const XML_PATH_METAROBOTS_FILTERENABLED = 'seopack/activated/filter_enabled';
17
+ const XML_PATH_METAROBOTS_PRODUCTENABLED = 'seopack/activated/product_enabled';
18
+ const XML_PATH_METAROBOTS_CATEGORYENABLED = 'seopack/activated/category_enabled';
19
+ const XML_PATH_GA_IGNORE = 'seopack/activated/ga_ignore';
20
+ const XML_PATH_RELPAGINATION_ENABLED = 'seopack/activated/rel_pagination_enabled';
21
+
22
+ static $_matches = array(
23
+ 'HTTP_X_PURPOSE' => array(
24
+ 'preview',
25
+ ),
26
+ 'HTTP_X_MOZ' => array(
27
+ 'prefetch',
28
+ ),
29
+ );
30
+
31
+ public function setMetaRobots(Varien_Event_Observer $observer) {
32
+
33
+ if (empty($this->_siteEnabled)) {
34
+ $this->_siteEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_SITEENABLED);
35
+ }
36
+
37
+ if ($this->_siteEnabled) {
38
+ $layout = $observer->getEvent()->getLayout();
39
+ $action = $observer->getEvent()->getAction();
40
+
41
+ $this->_setMetaRobots($layout, $action);
42
+ }
43
+
44
+ $this->_setGAIgnore($layout);
45
+ }
46
+
47
+ protected function _setGAIgnore($layout) {
48
+
49
+ if (empty($this->_gaIgnoreEnabled)) {
50
+ $this->_gaIgnoreEnabled = Mage::getStoreConfig(self::XML_PATH_GA_IGNORE);
51
+ }
52
+
53
+ if ($this->_gaIgnoreEnabled) {
54
+ $intersect = array_intersect_key(self::$_matches, $_SERVER);
55
+
56
+ if (!empty($intersect)) {
57
+ foreach ($intersect as $match => $values) {
58
+ foreach ($values as $value) {
59
+ if ($_SERVER[$match] == $value) {
60
+ $layout->getBlock('after_body_start')->unsetChild('google_analytics');
61
+ break 2;
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
67
+ }
68
+
69
+ protected function _setMetaRobots($layout, $action) {
70
+
71
+ if (empty($this->_productEnabled)) {
72
+ $this->_productEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_PRODUCTENABLED);
73
+ }
74
+
75
+ if (empty($this->_categoryEnabled)) {
76
+ $this->_categoryEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_CATEGORYENABLED);
77
+ }
78
+
79
+ if (empty($this->_filterEnabled)) {
80
+ $this->_filterEnabled = Mage::getStoreConfig(self::XML_PATH_METAROBOTS_FILTERENABLED);
81
+ }
82
+
83
+ if ($head = $layout->getBlock('head')) {
84
+ if ($this->_productEnabled && $action instanceof Mage_Catalog_ProductController) {
85
+ $product = Mage::registry('current_product');
86
+ // Set meta robots if set in product
87
+ if ($robots = $product->getMetaRobots()) {
88
+ $head->setData('robots', $robots);
89
+ }
90
+ } elseif ($this->_categoryEnabled && $action instanceof Mage_Catalog_CategoryController) {
91
+ $category = Mage::registry('current_category');
92
+
93
+ // Set meta robots if set in category
94
+ if ($robots = $category->getMetaRobots()) {
95
+ $head->setData('robots', $robots);
96
+ }
97
+
98
+ if ($this->_filterEnabled) {
99
+ $layer = Mage::getModel('catalog/layer')->setCurrentCategory($category);
100
+ $attributes = $layer->getFilterableAttributes();
101
+
102
+ // Iterate over filterable attributes. Check if attribute is present in parametres
103
+ foreach ($attributes as $attribute) {
104
+ $attributeCode = $attribute->getAttributeCode();
105
+ if (array_key_exists($attributeCode, $action->getRequest()->getParams())) {
106
+ // Set NOINDEX,FOLLOW when a filter is applied
107
+ $head->setData('robots', 'NOINDEX,FOLLOW');
108
+ break;
109
+ }
110
+ }
111
+ }
112
+ }
113
+ }
114
+
115
+ }
116
+
117
+ /**
118
+ * doPagination() - kick off the process of adding the next and prev
119
+ * rel links to category pages where necessary
120
+ *
121
+ * @return GPMD_SEOPack_Model_Observer
122
+ * @author Drew Hunter <drewdhunter@gmail.com>
123
+ */
124
+ public function doPagination() {
125
+
126
+ if (empty($this->_relPaginationEnabled)) {
127
+ $this->_relPaginationEnabled = Mage::getStoreConfig(self::XML_PATH_RELPAGINATION_ENABLED);
128
+ }
129
+
130
+ try {
131
+ if ($this->_relPaginationEnabled) {
132
+ $paginator = Mage::getModel('seopack/paginator');
133
+ $paginator->createLinks();
134
+ }
135
+ } catch (Exception $e) {
136
+ Mage::logException($e);
137
+ }
138
+
139
+ return $this;
140
+ }
141
+
142
  }
app/code/community/GPMD/SEOPack/Model/Paginator.php ADDED
@@ -0,0 +1,97 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * SeoPagination Paginator
5
+ * - Responsible for creating the rel="next" and rel="prev" links where necessary
6
+ *
7
+ * @category GPMD
8
+ * @package GPMD_SEOPack
9
+ * @author Drew Hunter <drewdhunter@gmail.com>
10
+ */
11
+ class GPMD_SEOPack_Model_Paginator extends Mage_Core_Model_Abstract {
12
+ /*
13
+ * @var Mage_Catalog_Model_Resource_Product_Collection $_productCollection
14
+ */
15
+
16
+ protected $_productCollection;
17
+
18
+ /*
19
+ * @var Mage_Catalog_Block_Product_List_Toolbar $_toolbar
20
+ */
21
+ protected $_toolbar;
22
+
23
+ public function _construct() {
24
+ $this->_initProductCollection();
25
+ parent::_construct();
26
+ }
27
+
28
+ /**
29
+ * Initialise the product collection - it will be prepared based on the current
30
+ * category and layer
31
+ *
32
+ * @return GPMD_SEOPack_Model_Paginator
33
+ */
34
+ protected function _initProductCollection() {
35
+ if ($layer = Mage::getSingleton('catalog/layer')) {
36
+ $this->_productCollection = $layer->getProductCollection();
37
+
38
+ $limit = (int) $this->_getToolbar()->getLimit();
39
+ if ($limit) {
40
+ $this->_productCollection->setPageSize($limit);
41
+ }
42
+ }
43
+
44
+ return $this;
45
+ }
46
+
47
+ protected function _getToolbar() {
48
+ if (is_null($this->_toolbar)) {
49
+ $this->_toolbar = Mage::app()->getLayout()->createBlock('catalog/product_list_toolbar');
50
+ }
51
+
52
+ return $this->_toolbar;
53
+ }
54
+
55
+ /**
56
+ * Initialise the pager and toolbar etc
57
+ *
58
+ * @return Mage_Page_Block_Html_Pager
59
+ */
60
+ protected function _getPager() {
61
+ return Mage::app()->getLayout()->createBlock('page/html_pager')
62
+ ->setLimit($this->_getToolbar()->getLimit())
63
+ ->setCollection($this->_productCollection);
64
+ }
65
+
66
+ /**
67
+ * Create the next and prev rel links. There are 3 possible scenarios:
68
+ * 1. Both next and Prev to be output
69
+ * 2. Only next to be output
70
+ * 3. Only prev to be output
71
+ *
72
+ * So, decide here what should be output
73
+ *
74
+ * @return GPMD_SEOPack_Model_Paginator
75
+ */
76
+ public function createLinks() {
77
+ $pager = $this->_getPager();
78
+ $numPages = count($pager->getPages());
79
+
80
+ //Need this to add the links to later on
81
+ $headBlock = Mage::app()->getLayout()->getBlock('head');
82
+
83
+ //Determine exactly what needs to be output and
84
+ //add to the head block
85
+ if (!$pager->isFirstPage() && !$pager->isLastPage() && $numPages > 2) {
86
+ $headBlock->addLinkRel('prev', $pager->getPreviousPageUrl());
87
+ $headBlock->addLinkRel('next', $pager->getNextPageUrl());
88
+ } elseif ($pager->isFirstPage() && $numPages > 1) {
89
+ $headBlock->addLinkRel('next', $pager->getNextPageUrl());
90
+ } elseif ($pager->isLastPage() && $numPages > 1) {
91
+ $headBlock->addLinkRel('prev', $pager->getPreviousPageUrl());
92
+ }
93
+
94
+ return $this;
95
+ }
96
+
97
+ }
app/code/community/GPMD/SEOPack/Model/Resource/Eav/Mysql4/Setup.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  /**
4
- * GPMD SEOPack V1.1.3
5
  * @copyright Copyright (c) 2012 GPMD Ltd (http://www.gpmd.co.uk)
6
  */
7
 
1
  <?php
2
 
3
  /**
4
+ * GPMD SEOPack V0.1.1
5
  * @copyright Copyright (c) 2012 GPMD Ltd (http://www.gpmd.co.uk)
6
  */
7
 
app/code/community/GPMD/SEOPack/etc/config.xml CHANGED
@@ -4,41 +4,43 @@
4
  * @category GPMD
5
  * @package GPMD_SEOPack
6
  * @license http://www.gpmd.co.uk
 
7
  */
8
  -->
9
  <config>
10
  <modules>
11
  <GPMD_SEOPack>
12
- <version>1.1.3</version>
13
  </GPMD_SEOPack>
14
  </modules>
15
- <default>
16
- <seopack>
17
- <activated>
18
- <site_enabled>1</site_enabled>
19
- <filter_enabled>1</filter_enabled>
20
- <category_enabled>1</category_enabled>
21
- <product_enabled>1</product_enabled>
22
- <ga_ignore>1</ga_ignore>
23
- </activated>
24
- </seopack>
25
- </default>
 
26
  <global>
27
  <models>
28
  <seopack>
29
  <class>GPMD_SEOPack_Model</class>
30
  </seopack>
31
- <catalog>
32
- <rewrite>
33
- <product_visibility>GPMD_SEOPack_Model_Product_Visibility</product_visibility>
34
- </rewrite>
35
- </catalog>
36
  </models>
37
- <helpers>
38
- <seopack>
39
- <class>GPMD_SEOPack_Helper</class>
40
- </seopack>
41
- </helpers>
42
  <resources>
43
  <seopack_setup>
44
  <setup>
@@ -60,18 +62,26 @@
60
  </connection>
61
  </seopack_read>
62
  </resources>
63
- <events>
64
- <controller_action_layout_generate_blocks_after>
65
- <observers>
66
- <seopack_controller_layout_generate_blocks_after>
67
- <type>singleton</type>
68
- <class>seopack/observer</class>
69
- <method>setMetaRobots</method>
70
- </seopack_controller_layout_generate_blocks_after>
71
-
72
- </observers>
73
- </controller_action_layout_generate_blocks_after>
74
- </events>
 
 
 
 
 
 
 
 
75
  </global>
76
  <adminhtml>
77
  <acl>
4
  * @category GPMD
5
  * @package GPMD_SEOPack
6
  * @license http://www.gpmd.co.uk
7
+ * @author Adrian Duke <adrian@gpmd.co.uk>, Martin Dines <mdines@gpmd.co.uk>
8
  */
9
  -->
10
  <config>
11
  <modules>
12
  <GPMD_SEOPack>
13
+ <version>1.2.1</version>
14
  </GPMD_SEOPack>
15
  </modules>
16
+ <default>
17
+ <seopack>
18
+ <activated>
19
+ <site_enabled>1</site_enabled>
20
+ <filter_enabled>1</filter_enabled>
21
+ <category_enabled>1</category_enabled>
22
+ <product_enabled>1</product_enabled>
23
+ <ga_ignore>1</ga_ignore>
24
+ <rel_pagination_enabled>1</rel_pagination_enabled>
25
+ </activated>
26
+ </seopack>
27
+ </default>
28
  <global>
29
  <models>
30
  <seopack>
31
  <class>GPMD_SEOPack_Model</class>
32
  </seopack>
33
+ <catalog>
34
+ <rewrite>
35
+ <product_visibility>GPMD_SEOPack_Model_Product_Visibility</product_visibility>
36
+ </rewrite>
37
+ </catalog>
38
  </models>
39
+ <helpers>
40
+ <seopack>
41
+ <class>GPMD_SEOPack_Helper</class>
42
+ </seopack>
43
+ </helpers>
44
  <resources>
45
  <seopack_setup>
46
  <setup>
62
  </connection>
63
  </seopack_read>
64
  </resources>
65
+ <events>
66
+ <controller_action_layout_generate_blocks_after>
67
+ <observers>
68
+ <seopack_controller_layout_generate_blocks_after>
69
+ <type>singleton</type>
70
+ <class>seopack/observer</class>
71
+ <method>setMetaRobots</method>
72
+ </seopack_controller_layout_generate_blocks_after>
73
+ </observers>
74
+ </controller_action_layout_generate_blocks_after>
75
+ <controller_action_layout_render_before_catalog_category_view>
76
+ <observers>
77
+ <seopack_controller_layout_render_before_catalog_category_view>
78
+ <type>singleton</type>
79
+ <class>seopack/observer</class>
80
+ <method>doPagination</method>
81
+ </seopack_controller_layout_render_before_catalog_category_view>
82
+ </observers>
83
+ </controller_action_layout_render_before_catalog_category_view>
84
+ </events>
85
  </global>
86
  <adminhtml>
87
  <acl>
app/code/community/GPMD/SEOPack/etc/system.xml CHANGED
@@ -4,6 +4,7 @@
4
  * @category GPMD
5
  * @package GPMD_SEOPack
6
  * @license http://www.gpmd.co.uk
 
7
  */
8
  -->
9
  <config>
@@ -13,90 +14,108 @@
13
  <sort_order>10000</sort_order>
14
  </GPMD>
15
  </tabs>
16
- <sections>
17
- <seopack translate="label">
18
- <label>SEOPack</label>
19
- <tab>GPMD</tab>
20
- <frontend_type>text</frontend_type>
21
- <sort_order>0</sort_order>
22
- <show_in_default>1</show_in_default>
23
- <show_in_website>1</show_in_website>
24
- <show_in_store>1</show_in_store>
25
- <groups>
26
- <activated translate="label">
27
- <label>Enable / Disable</label>
28
- <frontend_type>text</frontend_type>
29
- <sort_order>100</sort_order>
30
- <show_in_default>1</show_in_default>
31
- <show_in_website>1</show_in_website>
32
- <show_in_store>1</show_in_store>
33
- <fields>
34
- <site_enabled translate="label">
35
- <label>All Meta Robots</label>
36
- <comment>
37
  <![CDATA[<span class="notice">Enable / Disable custom meta robots across whole site</span>]]>
38
- </comment>
39
- <frontend_type>select</frontend_type>
40
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
41
- <sort_order>1</sort_order>
42
- <show_in_default>1</show_in_default>
43
- <show_in_website>0</show_in_website>
44
- <show_in_store>0</show_in_store>
45
- </site_enabled>
46
- <filter_enabled translate="label">
47
- <depends><site_enabled>1</site_enabled></depends>
48
- <label>Filter Page Meta Robots</label>
49
- <comment>
 
 
50
  <![CDATA[Enable / Disable filtered category pages custom meta robots across site]]>
51
- </comment>
52
- <frontend_type>select</frontend_type>
53
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
54
- <sort_order>10</sort_order>
55
- <show_in_default>1</show_in_default>
56
- <show_in_website>0</show_in_website>
57
- <show_in_store>0</show_in_store>
58
- </filter_enabled>
59
- <product_enabled translate="label">
60
- <depends><site_enabled>1</site_enabled></depends>
61
- <label>Product Meta Robots</label>
62
- <comment>
 
 
63
  <![CDATA[Enable / Disable product custom meta robots across site]]>
64
- </comment>
65
- <frontend_type>select</frontend_type>
66
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
67
- <sort_order>20</sort_order>
68
- <show_in_default>1</show_in_default>
69
- <show_in_website>0</show_in_website>
70
- <show_in_store>0</show_in_store>
71
- </product_enabled>
72
- <category_enabled translate="label">
73
- <depends><site_enabled>1</site_enabled></depends>
74
- <label>Category Meta Robots</label>
75
- <comment>
 
 
76
  <![CDATA[Enable / Disable custom category meta robots across site]]>
77
- </comment>
78
- <frontend_type>select</frontend_type>
79
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
80
- <sort_order>30</sort_order>
81
- <show_in_default>1</show_in_default>
82
- <show_in_website>0</show_in_website>
83
- <show_in_store>0</show_in_store>
84
- </category_enabled>
85
- <ga_ignore translate="label">
86
- <label>GA Ignore 'Top Sites'</label>
87
- <comment>
88
  <![CDATA[Remove 'Top Site' requests from google analytics (Safari, Opera &amp; Firefox)]]>
89
- </comment>
90
- <frontend_type>select</frontend_type>
91
- <source_model>adminhtml/system_config_source_enabledisable</source_model>
92
- <sort_order>40</sort_order>
93
- <show_in_default>1</show_in_default>
94
- <show_in_website>0</show_in_website>
95
- <show_in_store>0</show_in_store>
96
- </ga_ignore>
97
- </fields>
98
- </activated>
99
- </groups>
100
- </seopack>
101
- </sections>
 
 
 
 
 
 
 
 
 
 
 
 
102
  </config>
4
  * @category GPMD
5
  * @package GPMD_SEOPack
6
  * @license http://www.gpmd.co.uk
7
+ * @author Martin Dines <mdines@gpmd.co.uk>, Adrian Duke <adrian@gpmd.co.uk>
8
  */
9
  -->
10
  <config>
14
  <sort_order>10000</sort_order>
15
  </GPMD>
16
  </tabs>
17
+ <sections>
18
+ <seopack translate="label">
19
+ <label>SEOPack</label>
20
+ <tab>GPMD</tab>
21
+ <frontend_type>text</frontend_type>
22
+ <sort_order>0</sort_order>
23
+ <show_in_default>1</show_in_default>
24
+ <show_in_website>1</show_in_website>
25
+ <show_in_store>1</show_in_store>
26
+ <groups>
27
+ <activated translate="label">
28
+ <label>Enable / Disable</label>
29
+ <frontend_type>text</frontend_type>
30
+ <sort_order>100</sort_order>
31
+ <show_in_default>1</show_in_default>
32
+ <show_in_website>1</show_in_website>
33
+ <show_in_store>1</show_in_store>
34
+ <fields>
35
+ <site_enabled translate="label">
36
+ <label>All Meta Robots</label>
37
+ <comment>
38
  <![CDATA[<span class="notice">Enable / Disable custom meta robots across whole site</span>]]>
39
+ </comment>
40
+ <frontend_type>select</frontend_type>
41
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
42
+ <sort_order>1</sort_order>
43
+ <show_in_default>1</show_in_default>
44
+ <show_in_website>0</show_in_website>
45
+ <show_in_store>0</show_in_store>
46
+ </site_enabled>
47
+ <filter_enabled translate="label">
48
+ <depends>
49
+ <site_enabled>1</site_enabled>
50
+ </depends>
51
+ <label>Filter Page Meta Robots</label>
52
+ <comment>
53
  <![CDATA[Enable / Disable filtered category pages custom meta robots across site]]>
54
+ </comment>
55
+ <frontend_type>select</frontend_type>
56
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
57
+ <sort_order>10</sort_order>
58
+ <show_in_default>1</show_in_default>
59
+ <show_in_website>0</show_in_website>
60
+ <show_in_store>0</show_in_store>
61
+ </filter_enabled>
62
+ <product_enabled translate="label">
63
+ <depends>
64
+ <site_enabled>1</site_enabled>
65
+ </depends>
66
+ <label>Product Meta Robots</label>
67
+ <comment>
68
  <![CDATA[Enable / Disable product custom meta robots across site]]>
69
+ </comment>
70
+ <frontend_type>select</frontend_type>
71
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
72
+ <sort_order>20</sort_order>
73
+ <show_in_default>1</show_in_default>
74
+ <show_in_website>0</show_in_website>
75
+ <show_in_store>0</show_in_store>
76
+ </product_enabled>
77
+ <category_enabled translate="label">
78
+ <depends>
79
+ <site_enabled>1</site_enabled>
80
+ </depends>
81
+ <label>Category Meta Robots</label>
82
+ <comment>
83
  <![CDATA[Enable / Disable custom category meta robots across site]]>
84
+ </comment>
85
+ <frontend_type>select</frontend_type>
86
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
87
+ <sort_order>30</sort_order>
88
+ <show_in_default>1</show_in_default>
89
+ <show_in_website>0</show_in_website>
90
+ <show_in_store>0</show_in_store>
91
+ </category_enabled>
92
+ <ga_ignore translate="label">
93
+ <label>GA Ignore 'Top Sites'</label>
94
+ <comment>
95
  <![CDATA[Remove 'Top Site' requests from google analytics (Safari, Opera &amp; Firefox)]]>
96
+ </comment>
97
+ <frontend_type>select</frontend_type>
98
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
99
+ <sort_order>40</sort_order>
100
+ <show_in_default>1</show_in_default>
101
+ <show_in_website>0</show_in_website>
102
+ <show_in_store>0</show_in_store>
103
+ </ga_ignore>
104
+ <rel_pagination_enabled translate="label">
105
+ <label>Rel Meta Pagination</label>
106
+ <comment>
107
+ <![CDATA[Enable / Disable rel="next" and rel="prev" meta tags in paginated pages]]>
108
+ </comment>
109
+ <frontend_type>select</frontend_type>
110
+ <source_model>adminhtml/system_config_source_enabledisable</source_model>
111
+ <sort_order>50</sort_order>
112
+ <show_in_default>1</show_in_default>
113
+ <show_in_website>0</show_in_website>
114
+ <show_in_store>0</show_in_store>
115
+ </rel_pagination_enabled>
116
+ </fields>
117
+ </activated>
118
+ </groups>
119
+ </seopack>
120
+ </sections>
121
  </config>
app/code/community/GPMD/SEOPack/sql/seopack_setup/{mysql4-install-1.1.3.php → mysql4-install-0.1.1.php} RENAMED
File without changes
package.xml CHANGED
@@ -1,30 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>gpmd_seopack</name>
4
- <version>1.1.3</version>
5
  <stability>stable</stability>
6
- <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>Our SEOPack is designed to improve the on-page optimisation of your website. Features include: custom meta robots tags, meta robots rules for filter pages and page orphaning.</summary>
10
- <description>The SEOPack module will help to improve your search engine rankings by allowing you to assign custom meta robots tags, orphaning / discontinuing products (products only available via direct URL) and assigning meta robots rules to filtered category pages / layered navigation pages. This gives you added control over the indexation of product pages, category pages and filter pages.&#xD;
11
- &#xD;
12
- This module will eliminate several often fatal e-commerce SEO issues.</description>
13
- <notes>Added the following features:&#xD;
14
- &#xD;
15
- - Custom meta robots at a category and product level&#xD;
16
- &#xD;
17
- - Filter page meta robots&#xD;
18
- &#xD;
19
- - Product orphaning&#xD;
20
- &#xD;
21
- - Top sites analytics protection&#xD;
22
- &#xD;
23
- - Fix for missing meta robots attribute</notes>
24
- <authors><author><name>Adrian Duke</name><user>adrianduke</user><email>adrian@gpmd.co.uk</email></author></authors>
25
- <date>2012-09-21</date>
26
- <time>11:18:09</time>
27
- <contents><target name="magecommunity"><dir name="GPMD"><dir name="SEOPack"><dir name="Helper"><file name="Data.php" hash="4749540fe128e3d288753f08ab2ec20a"/></dir><dir name="Model"><dir name="Attribute"><dir name="Source"><file name="Robots.php" hash="07555ae7a79dd8d99ebe3a13cc3f5d83"/></dir></dir><file name="Observer.php" hash="c2fa3bf58eb9633f5d43ea8146be0e75"/><dir name="Product"><file name="Visibility.php" hash="6130c925e1a030662fd060d094ae40cc"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="ac8c08ad8e708d2b6994a9935f14896e"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="445cba19340c0165abeba910fffbf63a"/><file name="system.xml" hash="8894108af6c8951f6bdc8a8b4446dc86"/></dir><dir name="sql"><dir name="seopack_setup"><file name="mysql4-install-1.1.3.php" hash="b87ea79a6da95e8782731d4d8d8ea52b"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="GPMD_SEOPack.xml" hash="96a18610be60b7c18a8d9a40e9468d82"/></dir></target></contents>
28
  <compatible/>
29
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
30
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>gpmd_seopack</name>
4
+ <version>1.2.1</version>
5
  <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL 3.0</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>The SEO Pack module will help to improve your search engine rankings.</summary>
10
+ <description>The SEO Pack module will help to improve your search engine rankings by allowing you to assign custom meta robots tags, orphaning / discontinuing products (products only available via direct URL) and assigning meta robots rules to filtered category pages / layered navigation pages. This gives you added control over the indexation of product pages, category pages and filter pages. This module will eliminate several often fatal ecommerce SEO issues.</description>
11
+ <notes>Bug Fix&#xD;
12
+ ----------&#xD;
13
+ Bug causing meta robots to be incorrect on filtered category pages</notes>
14
+ <authors><author><name>GPMD</name><user>gpmd</user><email>dev@gpmd.co.uk</email></author></authors>
15
+ <date>2013-05-29</date>
16
+ <time>16:41:37</time>
17
+ <contents><target name="magecommunity"><dir name="GPMD"><dir name="SEOPack"><dir name="Helper"><file name="Data.php" hash="4749540fe128e3d288753f08ab2ec20a"/></dir><dir name="Model"><dir name="Attribute"><dir name="Source"><file name="Robots.php" hash="07555ae7a79dd8d99ebe3a13cc3f5d83"/></dir></dir><file name="Observer.php" hash="2b5e6c45b885f64bdc80bfc6772d6f8d"/><file name="Paginator.php" hash="4a0201d0e79d715e4c179dea5ebafa28"/><dir name="Product"><file name="Visibility.php" hash="6130c925e1a030662fd060d094ae40cc"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="a3be71150e5568cc000495edf466200a"/></dir></dir></dir></dir><dir name="etc"><file name="config.xml" hash="afd851350ebd3964fced03c38be8c725"/><file name="system.xml" hash="cb7d5b7cc8335e0b134d8244ac3c33e9"/></dir><dir name="sql"><dir name="seopack_setup"><file name="mysql4-install-0.1.1.php" hash="b87ea79a6da95e8782731d4d8d8ea52b"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="GPMD_SEOPack.xml" hash="96a18610be60b7c18a8d9a40e9468d82"/></dir></target></contents>
 
 
 
 
 
 
 
 
 
 
18
  <compatible/>
19
+ <dependencies><required><php><min>5.3.0</min><max>6.0.0</max></php><package><name>Mage_GoogleAnalytics</name><channel>community</channel><min></min><max></max></package><package><name>Mage_Catalog</name><channel>community</channel><min></min><max></max></package><package><name>Mage_Core</name><channel>community</channel><min></min><max></max></package></required></dependencies>
20
  </package>