Index: /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/configure.zcml
===================================================================
--- /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/configure.zcml	(revision 954)
+++ /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/configure.zcml	(revision 955)
@@ -8,4 +8,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         class=".viewlets.TitleCommentViewlet"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -15,4 +16,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         class=".viewlets.HTTPEquiv"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -22,4 +24,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         class=".viewlets.BaseUrlViewlet"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -29,4 +32,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         template="templates/generator.pt"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -36,4 +40,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         class=".viewlets.MetaTagsViewlet"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -43,4 +48,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         class=".viewlets.CanonicalUrlViewlet"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -50,4 +56,5 @@
         manager="plone.app.layout.viewlets.interfaces.IHtmlHead"
         class=".viewlets.CustomScriptViewlet"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
@@ -58,4 +65,5 @@
         for="Products.CMFPlone.interfaces.IPloneSiteRoot"
         class=".views.SEOControlPanel"
+        layer=".interfaces.IPloneSEOLayer"
         permission="cmf.ManagePortal"
         />
@@ -65,4 +73,5 @@
         for="*"
         class=".views.SEOContext"
+        layer=".interfaces.IPloneSEOLayer"
         permission="zope2.View"
         />
Index: /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/interfaces.py
===================================================================
--- /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/interfaces.py	(revision 954)
+++ /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/interfaces.py	(revision 955)
@@ -1,3 +1,9 @@
 from zope.interface import Interface
+from plone.theme.interfaces import IDefaultPloneLayer
+
+class IPloneSEOLayer(IDefaultPloneLayer):
+    """Marker interface that defines a Zope 3 skin layer bound to a Skin
+       Selection in portal_skins.
+    """
 
 class IValidateSEOKeywordsView(Interface):
Index: /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/templates/generator.pt
===================================================================
--- /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/templates/generator.pt	(revision 954)
+++ /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/templates/generator.pt	(revision 955)
@@ -1,2 +1,1 @@
-<meta name="generator" content="Plone - http://plone.org"
-      tal:condition="here/portal_properties/seo_properties|nothing" />
+<meta name="generator" content="Plone - http://plone.org" />
Index: /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/viewlets.py
===================================================================
--- /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/viewlets.py	(revision 954)
+++ /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/browser/viewlets.py	(revision 955)
@@ -71,8 +71,4 @@
 class MetaTagsViewlet( ViewletBase ):
 
-    def available(self):
-        pp = getToolByName(self.context, 'portal_properties')
-        return hasattr(pp,'seo_properties')
-
     def listMetaTags( self ):
         context = self.context.aq_inner
@@ -133,7 +129,4 @@
 
     def render( self ):
-        if not self.available():
-           return ''
-       
         return '\n'.join([safe_unicode("""<meta name="%s" content="%s" />"""%(name, content)) \
                                        for name, content in self.listMetaTags().items()])
Index: /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/profiles/default/browserlayer.xml
===================================================================
--- /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/profiles/default/browserlayer.xml	(revision 955)
+++ /quintagroup.seoptimizer/trunk/quintagroup/seoptimizer/profiles/default/browserlayer.xml	(revision 955)
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<layers
+   xmlns:i18n="http://xml.zope.org/namespaces/i18n"
+   i18n:domain="seoptimizer">
+   <layer name="qSEOptimizer"
+          interface="quintagroup.seoptimizer.browser.interfaces.IPloneSEOLayer" />
+</layers>
