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 +129 -93
- app/code/community/GPMD/SEOPack/Model/Paginator.php +97 -0
- app/code/community/GPMD/SEOPack/Model/Resource/Eav/Mysql4/Setup.php +1 -1
- app/code/community/GPMD/SEOPack/etc/config.xml +44 -34
- app/code/community/GPMD/SEOPack/etc/system.xml +100 -81
- app/code/community/GPMD/SEOPack/sql/seopack_setup/{mysql4-install-1.1.3.php → mysql4-install-0.1.1.php} +0 -0
- package.xml +12 -22
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 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
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
|
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
|
13 |
</GPMD_SEOPack>
|
14 |
</modules>
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
26 |
<global>
|
27 |
<models>
|
28 |
<seopack>
|
29 |
<class>GPMD_SEOPack_Model</class>
|
30 |
</seopack>
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
</models>
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
<resources>
|
43 |
<seopack_setup>
|
44 |
<setup>
|
@@ -60,18 +62,26 @@
|
|
60 |
</connection>
|
61 |
</seopack_read>
|
62 |
</resources>
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
<![CDATA[<span class="notice">Enable / Disable custom meta robots across whole site</span>]]>
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
50 |
<![CDATA[Enable / Disable filtered category pages custom meta robots across site]]>
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
|
|
|
|
63 |
<![CDATA[Enable / Disable product custom meta robots across site]]>
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
|
|
|
|
76 |
<![CDATA[Enable / Disable custom category meta robots across site]]>
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
<![CDATA[Remove 'Top Site' requests from google analytics (Safari, Opera & Firefox)]]>
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 & 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
|
5 |
<stability>stable</stability>
|
6 |
-
<license uri="http://opensource.org/licenses/osl-3.0.php">OSL
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>
|
10 |
-
<description>The
|
11 |
-

|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
-
|
16 |
-
|
17 |
-
-
|
18 |
-

|
19 |
-
- Product orphaning
|
20 |
-

|
21 |
-
- Top sites analytics protection
|
22 |
-

|
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.
|
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
|
12 |
+
----------
|
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>
|