seo instruments in atg

32
SEO in ATG Kate Semizhon

Upload: kate-semizhon-soglaeva

Post on 24-May-2015

515 views

Category:

Technology


1 download

DESCRIPTION

SEO Instruments in ATG

TRANSCRIPT

Page 1: SEO Instruments in ATG

SEO in ATGKate Semizhon

Page 2: SEO Instruments in ATG

Agenda

SEO Repository: SEO Tags

Sitemaps SEF URLs

Page 3: SEO Instruments in ATG

SEO REPOSITORY

Page 4: SEO Instruments in ATG

DEMO

Page 5: SEO Instruments in ATG

DEMO

Page 7: SEO Instruments in ATG

Rendering SEO Tags on Pages

<dsp:droplet name="/atg/dynamo/droplet/RQLQueryRange"> <dsp:param name="repository" value="/atg/seo/SEORepository" /> <dsp:param name="itemDescriptor" value="SEOTags" /> <dsp:param name="howMany" value="1" /> <dsp:param name="mykey" value="featured" /> <dsp:param name="queryRQL" value="key = :mykey" /> <dsp:oparam name="output">

<title><dsp:valueof param="element.title"/></title> <dsp:getvalueof var="description" param="element.description"/> <dsp:getvalueof var="keywords" param="element.keywords"/> <meta name="description" content="${description}" /> <meta name="keywords" content="${keywords}"/>

</dsp:output></dsp:droplet>

Page 8: SEO Instruments in ATG

Rendering SEO Tags on Pages

<dsp:droplet name="/atg/dynamo/droplet/RQLQueryRange"> <dsp:param name="repository" value="/atg/seo/SEORepository" /> <dsp:param name="itemDescriptor" value="SEOTags" /> <dsp:param name="howMany" value="1" /> <dsp:param name="pageURL" bean="/OriginatingRequest.servletPath" /> <dsp:param name="queryRQL" value="key = :pageURL" /> ...</dsp:droplet>

Page 9: SEO Instruments in ATG

SITE MAP

Page 10: SEO Instruments in ATG
Page 11: SEO Instruments in ATG

Siteindex.xml

Page 12: SEO Instruments in ATG
Page 13: SEO Instruments in ATG

Steps of creating site maps

SitemapGeneratorService creates sitemaps stores in SitemapRepository

SitemapWriterService writes out the actual XML files

Page 14: SEO Instruments in ATG

Ways to invoke sitegeneration

run automatically

run automatically after a CA deployment

invoking them manually

Page 15: SEO Instruments in ATG

SitemapGeneratorService

Page 16: SEO Instruments in ATG

SitemapGeneratorService

$class=atg.sitemap.SitemapGeneratorService$scope=global

schedule=calendar * * . . 1 .scheduler=/atg/dynamo/service/SchedulerclientLockManager=/atg/dynamo/service/ClientLockManagerlockName=SitemapGeneratorService

sitemapGenerators=\ /atg/sitemap/ProductSitemapGenerator,\ /atg/sitemap/CategorySitemapGenerator,\ /atg/sitemap/StaticSitemapGeneratorsitemapIndexGenerator=/atg/sitemap/SitemapIndexGenerator

sitemapRepository=/atg/sitemap/SitemapRepositorysitemapPropertiesManager=/atg/sitemap/SitemapPropertiesManagersitemapTools=/atg/sitemap/SitemapTools

maxUrlsPerSitemap=10000maxSitemapSize=5000000

Page 17: SEO Instruments in ATG

SitemapGeneratorService

Page 18: SEO Instruments in ATG

ProductSitemapGenerator

# /atg/sitemap/ProductSitemapGenerator.properties$class=atg.commerce.sitemap.CatalogSitemapGenerator

sitemapFilePrefix=productSitemapchangeFrequency=weekly# Type of repository item to retrieve itemDescriptorName=product

Page 19: SEO Instruments in ATG

CategorySitemapGenerator

#/atg/sitemap/CategorySitemapGenerator.properties$class=atg.commerce.sitemap.CatalogSitemapGeneratorchangeFrequency=weeklysitemapFilePrefix=categorySitemap# Type of repository item to retrieve itemDescriptorName=category

Page 20: SEO Instruments in ATG

StaticSitemapGenerator

# atg/sitemap/StaticSitemapGenerator.properties$class=atg.sitemap.StaticSitemapGeneratorsitemapFilePrefix=staticSitemap# List of static pagesstaticPages=index.jsp,\ browse/whatsNew.jsp,\ browse/asSeenIn.jsp,\ browse/featureGlossary.jsp

Page 21: SEO Instruments in ATG

SitemapWriterService

# /atg/sitemap/SitemapWriterService.properties$class=atg.sitemap.SitemapWriterService$scope=global

# The directory where an application's war is locatedwarDir^=/atg/sitemap/SitemapGeneratorService.warDir

Page 22: SEO Instruments in ATG

SEF URLS

Page 23: SEO Instruments in ATG

SEF URLs

/mystore/product.jsp?prodId=prod1002&catId=cat234

/mystore/Q33+UltraMountain/Mountain+Bikes

Page 24: SEO Instruments in ATG

URL Generating

Item

LinkTemplate

MapperDirect

TemplateSEF URL

Maps item to template

Droplet with element id as

parameterURL converter

Page 25: SEO Instruments in ATG

CatalogItemLink

<dsp:droplet name="CatalogItemLink"> <dsp:param name="item" param="childCategory"/> <dsp:oparam name="output"> <%-- Create link for subcategory --%> <dsp:a page="${url}"> <dsp:valueof param="childCategory.displayName"/> </dsp:a> </dsp:oparam> </dsp:droplet>

Page 26: SEO Instruments in ATG

CatalogItemLink

# /atg/repository/seo/CatalogItemLink.properties$class=atg.repository.seo.ItemLink

# Map of UrlTemplateMapper components by item descriptor name for this dropletitemDescriptorNameToMapperMap=\ product=/atg/repository/seo/ProductTemplateMapper,\ category=/atg/repository/seo/CategoryTemplateMapper

# Default parameter valuesdefaultRepository=/atg/commerce/catalog/ProductCatalogdefaultItemDescriptorName=product

Page 27: SEO Instruments in ATG

CategoryTemplateMapper

#/atg/repository/seo/CategoryTemplateMapper.properties$class=atg.repository.seo.UrlTemplateMapperImpl

# List of UrlTemplate component namestemplates=\ /atg/repository/seo/CategoryIndirectTemplate

# Default template to use if no match in list abovedefaultTemplate=/atg/repository/seo/CategoryDirectTemplate

Page 28: SEO Instruments in ATG

CategoryDirectTemplate

#/atg/repository/seo/CategoryDirectTemplate.properties$class=atg.repository.seo.DirectUrlTemplate

# Url template formaturlTemplateFormat={item.template.url,encode=false}?categoryId\={item.id}

Page 29: SEO Instruments in ATG

URLTemplate

Page 30: SEO Instruments in ATG

URL parsing

JumpServlet Template ATG URL

Page 31: SEO Instruments in ATG

JumpServlet

<servlet> <servlet-name>MappedJumpServlet</servlet-name> <servlet-class>atg.repository.seo.MappedJumpServlet</servlet-class> <init-param> <param-name>jumpServlet</param-name> <param-value>ctx:dynamo:/atg/repository/seo/JumpServlet</param-value> </init-param></servlet><servlet-mapping> <servlet-name>MappedJumpServlet</servlet-name> <url-pattern>/jump/*</url-pattern></servlet-mapping>

Page 32: SEO Instruments in ATG

Thanks!