SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Search Engine
Optimization (SEO)
implementation in Endeca
and ATG
Vigneswaran Sitaraman
(vicky_sitaraman@yahoo.com)
Agenda
• Introduction to SEO
• SEO Techniques
• Implementation of SEO in Endeca
• Implementation of SEO in ATG
SEO Introduction
• Search Engine Optimization (SEO) is a term used to
describe a variety of techniques for making pages
more accessible to web spiders (also known as web
crawlers or robots), the scripts used by Internet
search engines to crawl the Web to gather pages for
indexing. The goal of SEO is to increase the ranking
of the indexed pages in 'natural' search results.
SEO Introduction (contd)
• Google’s search process:
• http://static.googleusercontent.com/media/www.google.ca/en/ca/insidesearch/howsearchworks/assets/searchInfogr
aphic.pdf
SEO Introduction (contd)
• How Crawlers find pages:
• Web Crawlers uses sophisticated computer
programs to determine the list of urls, how many
and when from hundreds and thousands of
webservers.
• It begins the crawling process with the list of urls,
generated from past crawl process and augmented
with sitemap urls. As it crawls, it detects new links
(hrefs , image SRC) and adds it to list of urls to crawl
further.
SEO Introduction (contd)
• Indexing & Search
• As web crawlers visits pages, it gathers information
from pages and keywords, locations are indexed, so
enabling search and lookup faster.
• Just like index of a book with keywords and page
numbers.
• As you search using keywords, search engine using
sophisticated ranking algorithms to determine best
possible matches and retrieves the search results.
SEO Introduction (contd)
• Disallow crawlers from indexing your pages
• Using robot.txt –
• A file used to specify the urls of the site that should
not be crawled. (eg: service agreement, terms and
conditions).
• Also used to Specify the location of the sitemap xml
files
• Should be placed in root of the web site folder.
SEO Introduction (contd)
• Robot.txt format
• User agent: *
• Disallow: /terms.html
• Sitemap:http://www.example.com/sitemap.xml
• Exclude individual page or links from indexing:
• <meta name="robots" content="noindex"/>
• <a href="www.example.com" rel="nofollow"/>
• <meta name="robots" content="nofollow"/>
SEO Techniques
• URL Recoding
• Canonical links
• SEO Tagging
• SiteMaps
• Way of increasing the page ranking in search engine results.
• Make it look more like static URL.
• short friendly urls <2048 charac. with minimum query parameters
• Include as much information in URL in the form of key words to
increase the ranking of the indexed page.
URL Recoding
• Examples:
• (Bad SEO links for product pages – Rogers.com)
http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=PhoneThe
nPlan&productType=normal&productId_Detailed=IP6PL64GRY
http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=PhoneThe
nPlan&productType=normal&productId_Detailed=IP6PL64GLD
URL Recoding (contd)
URL Recoding (contd)
Customer searched for specific GOLD Iphone but search result not
matching the content
• There is no differentiation between Gold and Gray models, due to
same dynamic URL for both Gray and Gold phones varying only in
query parameters.
• Doesn't satisfy customers of what he looks for due to unfriendly
SEO urls.
URL Recoding (contd)
• Good examples: (to be recoded to below URLs)
http://www.rogers.com/wireless/phones/IPhone6-36GB-Gray
http://www.rogers.com/wireless/phones/IPhone6-36GB-Gold
• Benefits:
• Improved page ranking
• Customers got what he looked for in the very first search result.
URL Recoding (contd)
Customers got what he looked for in the very first search result.
Good image
URL Recoding (contd)
Different URLs pointing to same page, will reduce the ranking for the
particular page.
Eg: www.rogers.com
www.rogers.com/web/Rogers.portal
www.example.com/phones
www.example.com/phones.jsp
Using Link tag with proper Urls:
Using link tag under <head> tag in html, use a single consistent url as
a single url.
<link rel=”canonical” href=”www.example.com/phones”/>
Canonical Links
• Semantic HTML markup
• Avoid flash, javascript output, as crawlers are good at parsing
HTML
• proper <title>
• Meta tags <meta> tags, alt attribute for images
• help including keywords which ultimately increases page ranking.
SEO Tagging
:
SEO Tagging (contd)
• Site map helps web crawlers to access our site pages for indexing.
It includes URL paths to various site pages in the application to
index.
• Specified using XML file defined by www.sitemaps.org schema.
• Can contain multiple xml files linked using index sitemap file.
• Usually stored in root of the web application. Can be specified in
robot.txt.
• Sitemap xml can be submitted to search engines to validate.
Example Sitemap XML file:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
</url>
<url>
<loc>http://www.example.com/contact/</loc>
</url>
</urlset>
SiteMap
• Used In Category pages, Faced Navigation pages, also be used in
Product detail pages
• URL Recoding:
Non SEO or Traditional Endeca Urls: (constructed using
BasicUrlFormatter Endeca assembler API)
eg: rogers.com (category page, faceted navigation page)
http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=Pho
neThenPlan&productType=normal&N=11+52+4294948709&Nr=A
ND%28Language%3AEN%2CProvince%3AON%29
Implementing SEO techniques in
Endeca
• Optimized SEO friendly Endeca Urls: (using SEOUrlFormatter
Endeca Assembler API)
• Include keywords in Urls, to make it SEO friendly
http://www.rogers.com/wireless/smartphones/_/N-
11+52+4294948709?Nr=AND%28Language%3AEN%2CProvince%3
AON%29
http://www.rogers.com/wireless/smartphones/Android/_/N-
11+52+4294948709+277?Nr=AND%28Language%3AEN%2CProvinc
e%3AON%29
Implementing SEO techniques in
Endeca (contd)
Parts of the optimized Endeca Urls:
misc-path - /wireless/smartphones/Android
path-param-separator - _
path-params - N-11+52+4294948709
query string - ?Nr=AND%28Language%3AEN%2CProvince%3AON%29
Implementing SEO techniques in
Endeca (contd)
Configuring SEO friendly URLs in Endeca
• XML Configuration file – eg: endeca-seo-Config.xml
Easily configured using Spring framework
Core API classes – Endeca Assembler API – SEO classes -
BasicQueryBuilder, SeoUrlFormatter, SeoNavStateFormatter,
SeoNavStateCanonicalizer along with Endeca Experience Manager
Cartridge Handlers core APIs.
• Will be able to configure every aspect of URLs, like formatting,
canonicalizing, encoding.
• Sample reference XML configuration in appendix.
Implementing SEO techniques in
Endeca (contd)
• Site Map:
• Sitemap xml files generated using standalone batch command
RunSitemapGen.bat
• Configured using XML file specifying MDEX host, port, URL format
• Uses same xml file used for configuring application
• <URL_FORMAT_FILE>C:EndecaToolsAndFrameworks...WEB-
INFendeca-seo-config.xml</URL_FORMAT_FILE>
* Sample configuration file included in appendix.
Implementing SEO techniques in
Endeca (contd)
ATG Driven pages (usually in Product Detail pages )
URL Recoding:
• ATG SEO module detects Visitor either Human or Crawler using User
Agent Header from request and generates the page links
accordingly.
• Core API provided by ATG is in atg.repository.seo.* packages.
• Core ATG APIs:
atg.repository.seo.ItemLink servlet bean– translates to static
urls based on user agent.
atg.repository.seo.JumpServlet - incoming static URLs (for
example, if a user clicks a link returned by a Google search), and
translates these URLs into their dynamic equivalents.
Implementing SEO techniques in
ATG
URL Configuration:
Done using template classes provided Core ATG SEO.
URL Templates:
atg.repository.seo.DirectUrlTemplate
atg.repository.seo.IndirectUrlTemplate
# Url template format
urlTemplateFormat=/jump/{item.displayName}/productDetail/{item.p
arentCategory.displayName}/{item.id}/{item.parentCategory.id}/{locale
}
# Forward Url template
forwardUrlTemplateFormat={item.template.url,encode=false}?product
Id={item.id}&categoryId={item.parentCategory.id}&locale={locale}
&productPage=true
Implementing SEO techniques in
ATG (contd)
/atg/repository/seo/CatalogItemLink
$class=atg.repository.seo.ItemLink
# Map of UrlTemplateMapper components by item descriptor name
for this droplet
itemDescriptorNameToMapperMap=
product=/atg/repository/seo/ProductTemplateMapper
# Default parameter values
defaultRepository=/atg/commerce/catalog/ProductCatalog
defaultItemDescriptorName=product
Implementing SEO techniques in
ATG(contd)
/atg/repository/seo/ProductTemplateMapper
$class=atg.repository.seo.IndirectUrlTemplate
# Url template format
urlTemplateFormat=/jump/{item.displayName}/productDetail/{item.parentCategory.displayName}/{item.i
d}/{item.parentCategory.id}/{locale}
# Regex that matches above format
indirectRegex=.*/jump/[^/]*?/productDetail/[^/]*?/([^/].*?)/[^/]*?/([^/]*)(/.*?)*$
# Regex elements
regexElementList=
item | id |
/atg/commerce/catalog/ProductCatalog:product,
locale | string
# Forward Url template
forwardUrlTemplateFormat={item.template.url,encode=false}?productId={item.id}&categoryId={item.p
arentCategory.id}&locale={locale}&productPage=true
# Supported Browser Types
supportedBrowserTypes=
robot
Implementing SEO techniques in
ATG(contd)
ATG – Endeca Integration:
• Used in Experience Manager Cartridge Handlers
• ATG Nucleus component access Endeca SEO configuration spring
beans using ATG Spring Integration feature
• atg.nucleus.spring.NucleusPublisher
• <bean name="/NucleusPublisher" class="atg.nucleus.spring.NucleusPublisher"
• scope="singleton">
• <property name="nucleusPath">
• <value>/atg/spring/FromSpring</value>
• </property>
• </bean>
•
• <import resource="endeca-seo-url-config.xml"/>
• Now you use /atg/spring/FromSpring/[spring Bean Id] in your
Nucleus component
Implementing SEO techniques in
ATG(contd)
ATG – Endeca Integration:
A key bean in Endeca is
com.endeca.soleng.urlformatter.seo.SeoUrlFormatter
• Configure the
/atg/endeca/assembler/cartridge/manager/NavigationStateBuilder
component using the property
• urlFormatter = /atg/spring/FromSpring/seoUrlFormatter
Implementing SEO techniques in
ATG(contd)
Canonical Links
Using OOTB ATG
/atg/repository/seo/CanonicalItemLink
<link rel="canonical"
ref="http://www.example.com:80/crs/storeus/jump/
Dotted+Repp+Tie/productDetail/For+Him/xprod1001
/cat50067 " />
Implementing SEO techniques in
ATG(contd)
SiteMap Generation:
• Sitemap files are XML documents that contain URLs for the pages of your
site. These can be generated either manually using Dynamo Admin
console or in a scheduled mapper.
• Sitemap xmls are kept in root of the web application
ATG uses following OOTB components for sitemap generation:
Components is in folder /atg/sitemap/*
Implementing SEO techniques in
ATG(contd)
SiteMap Generation:
StaticSitemapGenerator - generates sitemap xml files for static urls
DynamicSitemapGenerator - generates files for dynamic urls.
SitemapIndexGenerator - generates index files for various sitemap files
generated by SiteMapGenerator components.
SitemapGeneratorService - Used for scheduled generation of sitemap xml files
and inserting entries in SiteMapRepository
SitemapWriterService - writes sitemap xml files using contents from
SiteMapRepository, should be run on every ATG instance.
Implementing SEO techniques in
ATG(contd)
SEO Tagging:
• ATG uses SEO tag repository for storing content of title, meta – keywords, description
tags.
• Register SEO tag repository using initialRepositories property of
/atg/repository/ContentRepositories component
<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>
Implementing SEO techniques in
ATG(contd)
Appendix

Weitere ähnliche Inhalte

Was ist angesagt?

Ontology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical StudyOntology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical StudyDebashisnaskar
 
Content Management Systems in Libraries
Content Management Systems in LibrariesContent Management Systems in Libraries
Content Management Systems in LibrariesChris
 
WHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND OPERATION
WHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND  OPERATIONWHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND  OPERATION
WHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND OPERATION`Shweta Bhavsar
 
SEO - Search Engine Optimization by Hillary Godwin
SEO - Search Engine Optimization by Hillary Godwin SEO - Search Engine Optimization by Hillary Godwin
SEO - Search Engine Optimization by Hillary Godwin hillary godwin
 
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask PresentationParag Mujumdar
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDEEvan Lin
 
Information storage and retrieval
Information storage and  retrievalInformation storage and  retrieval
Information storage and retrievalDr. Utpal Das
 
Library of Congress Subject Headings
Library of Congress Subject HeadingsLibrary of Congress Subject Headings
Library of Congress Subject Headingsroycekitts
 
Crawling and Indexing
Crawling and IndexingCrawling and Indexing
Crawling and IndexingHimani Tyagi
 
google search engine
google search enginegoogle search engine
google search engineway2go
 
The Yoast SEO Plugin for WordPress
The Yoast SEO Plugin for WordPressThe Yoast SEO Plugin for WordPress
The Yoast SEO Plugin for WordPressBobWP.com
 

Was ist angesagt? (20)

Ontology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical StudyOntology and Ontology Libraries: a Critical Study
Ontology and Ontology Libraries: a Critical Study
 
Flask
FlaskFlask
Flask
 
Content Management Systems in Libraries
Content Management Systems in LibrariesContent Management Systems in Libraries
Content Management Systems in Libraries
 
HTML5 Essentials
HTML5 EssentialsHTML5 Essentials
HTML5 Essentials
 
WHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND OPERATION
WHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND  OPERATIONWHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND  OPERATION
WHAT IS DIGITAL OBJECT IDENTIFIER? EXPLAIN ITS FEATURES AND OPERATION
 
Library portal
Library portalLibrary portal
Library portal
 
SEO - Search Engine Optimization by Hillary Godwin
SEO - Search Engine Optimization by Hillary Godwin SEO - Search Engine Optimization by Hillary Godwin
SEO - Search Engine Optimization by Hillary Godwin
 
Joomla
JoomlaJoomla
Joomla
 
Python/Flask Presentation
Python/Flask PresentationPython/Flask Presentation
Python/Flask Presentation
 
How I become Go GDE
How I become Go GDEHow I become Go GDE
How I become Go GDE
 
SEO PPT
SEO PPTSEO PPT
SEO PPT
 
Information storage and retrieval
Information storage and  retrievalInformation storage and  retrieval
Information storage and retrieval
 
Library of Congress Subject Headings
Library of Congress Subject HeadingsLibrary of Congress Subject Headings
Library of Congress Subject Headings
 
Website and seo audit checklist
Website and seo audit checklistWebsite and seo audit checklist
Website and seo audit checklist
 
Crawling and Indexing
Crawling and IndexingCrawling and Indexing
Crawling and Indexing
 
google search engine
google search enginegoogle search engine
google search engine
 
The Yoast SEO Plugin for WordPress
The Yoast SEO Plugin for WordPressThe Yoast SEO Plugin for WordPress
The Yoast SEO Plugin for WordPress
 
Semantic web
Semantic webSemantic web
Semantic web
 
Website analysis Sample Report
Website analysis  Sample ReportWebsite analysis  Sample Report
Website analysis Sample Report
 
PBCore: Overview
PBCore: OverviewPBCore: Overview
PBCore: Overview
 

Ähnlich wie Search engine optimization (seo) from Endeca & ATG

The Technical SEO Full Course how to do
The Technical SEO  Full Course  how to doThe Technical SEO  Full Course  how to do
The Technical SEO Full Course how to doasadkhan888889990
 
Points for Design and Development of SEO friendly websites
Points for Design and Development of SEO friendly websitesPoints for Design and Development of SEO friendly websites
Points for Design and Development of SEO friendly websitesSingsys Pte Ltd
 
Guía SEO 2020: Trucos y recomendaciones para desarrolladores y webmasters
Guía SEO 2020: Trucos y recomendaciones para desarrolladores y webmastersGuía SEO 2020: Trucos y recomendaciones para desarrolladores y webmasters
Guía SEO 2020: Trucos y recomendaciones para desarrolladores y webmastersMiguel López Zuleta
 
Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?Marshal Yung
 
Website Development Guidelines
Website Development GuidelinesWebsite Development Guidelines
Website Development GuidelinesAmit Kute
 
Kickstart Your Technical SEO for WordPress
Kickstart Your Technical SEO for WordPressKickstart Your Technical SEO for WordPress
Kickstart Your Technical SEO for WordPressColby Dimock
 
SIM Digital Marketing COURSES PPT.pptx
SIM Digital Marketing COURSES PPT.pptxSIM Digital Marketing COURSES PPT.pptx
SIM Digital Marketing COURSES PPT.pptxShaileshBone
 
Digital MarketingDigital marketing courses in Pune-SIM.pptx
Digital MarketingDigital marketing courses in Pune-SIM.pptxDigital MarketingDigital marketing courses in Pune-SIM.pptx
Digital MarketingDigital marketing courses in Pune-SIM.pptxMaheshVarade3
 
SIM Digital Marketing COURSE PDF.pdf
SIM Digital Marketing COURSE PDF.pdfSIM Digital Marketing COURSE PDF.pdf
SIM Digital Marketing COURSE PDF.pdfShaileshBone
 
www.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptx
www.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptxwww.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptx
www.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptxDineshSparkdigital
 
Search engine and web crawler
Search engine and web crawlerSearch engine and web crawler
Search engine and web crawlervinay arora
 
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin
 
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesTechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesCatalyst
 

Ähnlich wie Search engine optimization (seo) from Endeca & ATG (20)

The Technical SEO Full Course how to do
The Technical SEO  Full Course  how to doThe Technical SEO  Full Course  how to do
The Technical SEO Full Course how to do
 
On-Page SEO
On-Page  SEO On-Page  SEO
On-Page SEO
 
Points for Design and Development of SEO friendly websites
Points for Design and Development of SEO friendly websitesPoints for Design and Development of SEO friendly websites
Points for Design and Development of SEO friendly websites
 
Seo and analytics basics
Seo and analytics basicsSeo and analytics basics
Seo and analytics basics
 
Guía SEO 2020: Trucos y recomendaciones para desarrolladores y webmasters
Guía SEO 2020: Trucos y recomendaciones para desarrolladores y webmastersGuía SEO 2020: Trucos y recomendaciones para desarrolladores y webmasters
Guía SEO 2020: Trucos y recomendaciones para desarrolladores y webmasters
 
CAB 2.pptx
CAB 2.pptxCAB 2.pptx
CAB 2.pptx
 
Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?Search Engine Optimisation - Have you been crawled over?
Search Engine Optimisation - Have you been crawled over?
 
Website Development Guidelines
Website Development GuidelinesWebsite Development Guidelines
Website Development Guidelines
 
Kickstart Your Technical SEO for WordPress
Kickstart Your Technical SEO for WordPressKickstart Your Technical SEO for WordPress
Kickstart Your Technical SEO for WordPress
 
On page Optimization
On page OptimizationOn page Optimization
On page Optimization
 
On page optimization
On page optimizationOn page optimization
On page optimization
 
Website Audit Presentation
Website Audit PresentationWebsite Audit Presentation
Website Audit Presentation
 
Seo
SeoSeo
Seo
 
SIM Digital Marketing COURSES PPT.pptx
SIM Digital Marketing COURSES PPT.pptxSIM Digital Marketing COURSES PPT.pptx
SIM Digital Marketing COURSES PPT.pptx
 
Digital MarketingDigital marketing courses in Pune-SIM.pptx
Digital MarketingDigital marketing courses in Pune-SIM.pptxDigital MarketingDigital marketing courses in Pune-SIM.pptx
Digital MarketingDigital marketing courses in Pune-SIM.pptx
 
SIM Digital Marketing COURSE PDF.pdf
SIM Digital Marketing COURSE PDF.pdfSIM Digital Marketing COURSE PDF.pdf
SIM Digital Marketing COURSE PDF.pdf
 
www.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptx
www.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptxwww.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptx
www.sparkdigital.co.in_Complete - Search Engine Optimization Guide_2023.pptx
 
Search engine and web crawler
Search engine and web crawlerSearch engine and web crawler
Search engine and web crawler
 
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based WebsitesMax Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
Max Prin - TechSEO Boost 2017 - SEO Best Practices For JavaScript-Based Websites
 
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based WebsitesTechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
TechSEO Boost 2017: SEO Best Practices for JavaScript T-Based Websites
 

Kürzlich hochgeladen

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Kürzlich hochgeladen (20)

A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Search engine optimization (seo) from Endeca & ATG

  • 1. Search Engine Optimization (SEO) implementation in Endeca and ATG Vigneswaran Sitaraman (vicky_sitaraman@yahoo.com)
  • 2. Agenda • Introduction to SEO • SEO Techniques • Implementation of SEO in Endeca • Implementation of SEO in ATG
  • 3. SEO Introduction • Search Engine Optimization (SEO) is a term used to describe a variety of techniques for making pages more accessible to web spiders (also known as web crawlers or robots), the scripts used by Internet search engines to crawl the Web to gather pages for indexing. The goal of SEO is to increase the ranking of the indexed pages in 'natural' search results.
  • 4. SEO Introduction (contd) • Google’s search process: • http://static.googleusercontent.com/media/www.google.ca/en/ca/insidesearch/howsearchworks/assets/searchInfogr aphic.pdf
  • 5. SEO Introduction (contd) • How Crawlers find pages: • Web Crawlers uses sophisticated computer programs to determine the list of urls, how many and when from hundreds and thousands of webservers. • It begins the crawling process with the list of urls, generated from past crawl process and augmented with sitemap urls. As it crawls, it detects new links (hrefs , image SRC) and adds it to list of urls to crawl further.
  • 6. SEO Introduction (contd) • Indexing & Search • As web crawlers visits pages, it gathers information from pages and keywords, locations are indexed, so enabling search and lookup faster. • Just like index of a book with keywords and page numbers. • As you search using keywords, search engine using sophisticated ranking algorithms to determine best possible matches and retrieves the search results.
  • 7. SEO Introduction (contd) • Disallow crawlers from indexing your pages • Using robot.txt – • A file used to specify the urls of the site that should not be crawled. (eg: service agreement, terms and conditions). • Also used to Specify the location of the sitemap xml files • Should be placed in root of the web site folder.
  • 8. SEO Introduction (contd) • Robot.txt format • User agent: * • Disallow: /terms.html • Sitemap:http://www.example.com/sitemap.xml • Exclude individual page or links from indexing: • <meta name="robots" content="noindex"/> • <a href="www.example.com" rel="nofollow"/> • <meta name="robots" content="nofollow"/>
  • 9. SEO Techniques • URL Recoding • Canonical links • SEO Tagging • SiteMaps
  • 10. • Way of increasing the page ranking in search engine results. • Make it look more like static URL. • short friendly urls <2048 charac. with minimum query parameters • Include as much information in URL in the form of key words to increase the ranking of the indexed page. URL Recoding
  • 11. • Examples: • (Bad SEO links for product pages – Rogers.com) http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=PhoneThe nPlan&productType=normal&productId_Detailed=IP6PL64GRY http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=PhoneThe nPlan&productType=normal&productId_Detailed=IP6PL64GLD URL Recoding (contd)
  • 12. URL Recoding (contd) Customer searched for specific GOLD Iphone but search result not matching the content
  • 13. • There is no differentiation between Gold and Gray models, due to same dynamic URL for both Gray and Gold phones varying only in query parameters. • Doesn't satisfy customers of what he looks for due to unfriendly SEO urls. URL Recoding (contd)
  • 14. • Good examples: (to be recoded to below URLs) http://www.rogers.com/wireless/phones/IPhone6-36GB-Gray http://www.rogers.com/wireless/phones/IPhone6-36GB-Gold • Benefits: • Improved page ranking • Customers got what he looked for in the very first search result. URL Recoding (contd)
  • 15. Customers got what he looked for in the very first search result. Good image URL Recoding (contd)
  • 16. Different URLs pointing to same page, will reduce the ranking for the particular page. Eg: www.rogers.com www.rogers.com/web/Rogers.portal www.example.com/phones www.example.com/phones.jsp Using Link tag with proper Urls: Using link tag under <head> tag in html, use a single consistent url as a single url. <link rel=”canonical” href=”www.example.com/phones”/> Canonical Links
  • 17. • Semantic HTML markup • Avoid flash, javascript output, as crawlers are good at parsing HTML • proper <title> • Meta tags <meta> tags, alt attribute for images • help including keywords which ultimately increases page ranking. SEO Tagging
  • 19. • Site map helps web crawlers to access our site pages for indexing. It includes URL paths to various site pages in the application to index. • Specified using XML file defined by www.sitemaps.org schema. • Can contain multiple xml files linked using index sitemap file. • Usually stored in root of the web application. Can be specified in robot.txt. • Sitemap xml can be submitted to search engines to validate. Example Sitemap XML file: <?xml version="1.0" encoding="UTF-8"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://www.example.com/</loc> </url> <url> <loc>http://www.example.com/contact/</loc> </url> </urlset> SiteMap
  • 20. • Used In Category pages, Faced Navigation pages, also be used in Product detail pages • URL Recoding: Non SEO or Traditional Endeca Urls: (constructed using BasicUrlFormatter Endeca assembler API) eg: rogers.com (category page, faceted navigation page) http://www.rogers.com/web/link/wirelessBuyFlow?forwardTo=Pho neThenPlan&productType=normal&N=11+52+4294948709&Nr=A ND%28Language%3AEN%2CProvince%3AON%29 Implementing SEO techniques in Endeca
  • 21. • Optimized SEO friendly Endeca Urls: (using SEOUrlFormatter Endeca Assembler API) • Include keywords in Urls, to make it SEO friendly http://www.rogers.com/wireless/smartphones/_/N- 11+52+4294948709?Nr=AND%28Language%3AEN%2CProvince%3 AON%29 http://www.rogers.com/wireless/smartphones/Android/_/N- 11+52+4294948709+277?Nr=AND%28Language%3AEN%2CProvinc e%3AON%29 Implementing SEO techniques in Endeca (contd)
  • 22. Parts of the optimized Endeca Urls: misc-path - /wireless/smartphones/Android path-param-separator - _ path-params - N-11+52+4294948709 query string - ?Nr=AND%28Language%3AEN%2CProvince%3AON%29 Implementing SEO techniques in Endeca (contd)
  • 23. Configuring SEO friendly URLs in Endeca • XML Configuration file – eg: endeca-seo-Config.xml Easily configured using Spring framework Core API classes – Endeca Assembler API – SEO classes - BasicQueryBuilder, SeoUrlFormatter, SeoNavStateFormatter, SeoNavStateCanonicalizer along with Endeca Experience Manager Cartridge Handlers core APIs. • Will be able to configure every aspect of URLs, like formatting, canonicalizing, encoding. • Sample reference XML configuration in appendix. Implementing SEO techniques in Endeca (contd)
  • 24. • Site Map: • Sitemap xml files generated using standalone batch command RunSitemapGen.bat • Configured using XML file specifying MDEX host, port, URL format • Uses same xml file used for configuring application • <URL_FORMAT_FILE>C:EndecaToolsAndFrameworks...WEB- INFendeca-seo-config.xml</URL_FORMAT_FILE> * Sample configuration file included in appendix. Implementing SEO techniques in Endeca (contd)
  • 25. ATG Driven pages (usually in Product Detail pages ) URL Recoding: • ATG SEO module detects Visitor either Human or Crawler using User Agent Header from request and generates the page links accordingly. • Core API provided by ATG is in atg.repository.seo.* packages. • Core ATG APIs: atg.repository.seo.ItemLink servlet bean– translates to static urls based on user agent. atg.repository.seo.JumpServlet - incoming static URLs (for example, if a user clicks a link returned by a Google search), and translates these URLs into their dynamic equivalents. Implementing SEO techniques in ATG
  • 26. URL Configuration: Done using template classes provided Core ATG SEO. URL Templates: atg.repository.seo.DirectUrlTemplate atg.repository.seo.IndirectUrlTemplate # Url template format urlTemplateFormat=/jump/{item.displayName}/productDetail/{item.p arentCategory.displayName}/{item.id}/{item.parentCategory.id}/{locale } # Forward Url template forwardUrlTemplateFormat={item.template.url,encode=false}?product Id={item.id}&categoryId={item.parentCategory.id}&locale={locale} &productPage=true Implementing SEO techniques in ATG (contd)
  • 27. /atg/repository/seo/CatalogItemLink $class=atg.repository.seo.ItemLink # Map of UrlTemplateMapper components by item descriptor name for this droplet itemDescriptorNameToMapperMap= product=/atg/repository/seo/ProductTemplateMapper # Default parameter values defaultRepository=/atg/commerce/catalog/ProductCatalog defaultItemDescriptorName=product Implementing SEO techniques in ATG(contd)
  • 28. /atg/repository/seo/ProductTemplateMapper $class=atg.repository.seo.IndirectUrlTemplate # Url template format urlTemplateFormat=/jump/{item.displayName}/productDetail/{item.parentCategory.displayName}/{item.i d}/{item.parentCategory.id}/{locale} # Regex that matches above format indirectRegex=.*/jump/[^/]*?/productDetail/[^/]*?/([^/].*?)/[^/]*?/([^/]*)(/.*?)*$ # Regex elements regexElementList= item | id | /atg/commerce/catalog/ProductCatalog:product, locale | string # Forward Url template forwardUrlTemplateFormat={item.template.url,encode=false}?productId={item.id}&categoryId={item.p arentCategory.id}&locale={locale}&productPage=true # Supported Browser Types supportedBrowserTypes= robot Implementing SEO techniques in ATG(contd)
  • 29. ATG – Endeca Integration: • Used in Experience Manager Cartridge Handlers • ATG Nucleus component access Endeca SEO configuration spring beans using ATG Spring Integration feature • atg.nucleus.spring.NucleusPublisher • <bean name="/NucleusPublisher" class="atg.nucleus.spring.NucleusPublisher" • scope="singleton"> • <property name="nucleusPath"> • <value>/atg/spring/FromSpring</value> • </property> • </bean> • • <import resource="endeca-seo-url-config.xml"/> • Now you use /atg/spring/FromSpring/[spring Bean Id] in your Nucleus component Implementing SEO techniques in ATG(contd)
  • 30. ATG – Endeca Integration: A key bean in Endeca is com.endeca.soleng.urlformatter.seo.SeoUrlFormatter • Configure the /atg/endeca/assembler/cartridge/manager/NavigationStateBuilder component using the property • urlFormatter = /atg/spring/FromSpring/seoUrlFormatter Implementing SEO techniques in ATG(contd)
  • 31. Canonical Links Using OOTB ATG /atg/repository/seo/CanonicalItemLink <link rel="canonical" ref="http://www.example.com:80/crs/storeus/jump/ Dotted+Repp+Tie/productDetail/For+Him/xprod1001 /cat50067 " /> Implementing SEO techniques in ATG(contd)
  • 32. SiteMap Generation: • Sitemap files are XML documents that contain URLs for the pages of your site. These can be generated either manually using Dynamo Admin console or in a scheduled mapper. • Sitemap xmls are kept in root of the web application ATG uses following OOTB components for sitemap generation: Components is in folder /atg/sitemap/* Implementing SEO techniques in ATG(contd)
  • 33. SiteMap Generation: StaticSitemapGenerator - generates sitemap xml files for static urls DynamicSitemapGenerator - generates files for dynamic urls. SitemapIndexGenerator - generates index files for various sitemap files generated by SiteMapGenerator components. SitemapGeneratorService - Used for scheduled generation of sitemap xml files and inserting entries in SiteMapRepository SitemapWriterService - writes sitemap xml files using contents from SiteMapRepository, should be run on every ATG instance. Implementing SEO techniques in ATG(contd)
  • 34. SEO Tagging: • ATG uses SEO tag repository for storing content of title, meta – keywords, description tags. • Register SEO tag repository using initialRepositories property of /atg/repository/ContentRepositories component <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> Implementing SEO techniques in ATG(contd)