Oracle WebCenter Sites (formerly FatWire) is a Java-based enterprise WCM platform with a Satellite Server caching layer, JSP-based templates, and a multi-site architecture. Analytics issues on WebCenter Sites typically involve the Satellite Server cache serving stale HTML, the asset publishing pipeline not propagating template changes, or JSP template rendering errors silently dropping script injections.
WebCenter Sites-Specific Debugging Approach
WebCenter Sites uses a delivery infrastructure with multiple layers: the content management server (CS), the Satellite Server (cache), and potentially a CDN. Changes must flow through the asset publishing pipeline from CS to the delivery environment.
Check Satellite Server Cache
# Verify if Satellite Server is serving a cached page
curl -sI "http://your-site.com/" | grep -iE "x-cache|x-satellite|age|via"
# Check for analytics in the rendered output
curl -s "http://your-site.com/" | grep -iE "gtag|gtm|analytics" | head -5
Verify Asset Publishing Status
# In WebCenter Sites admin:
# Navigate to Admin > Publishing > check the publishing queue
# Look for pending or failed publish jobs affecting your template assets
# Check CS server logs for publishing errors
tail -100 /opt/oracle/wcs/logs/cas.log | grep -i "publish\|template\|error"
Check JSP Template Rendering
# Look for JSP compilation errors
tail -100 /opt/oracle/wcs/logs/catalina.out | grep -i "jsp\|compile\|error\|exception"
# Check if your analytics template asset is deployed
# In CS admin: navigate to the template asset and check its publish status
Most Common WebCenter Sites Analytics Issues
1. Satellite Server Cache Serving Old HTML
Symptoms: Analytics code present in the CS preview but missing on the live site. Appears after cache flush.
Root cause: Satellite Server aggressively caches rendered pages. After publishing template changes, the cache may still serve the old version until the cache TTL expires or a manual flush is triggered.
Fix:
# Flush Satellite Server cache
# Via admin interface: Admin > Satellite Server > Cache Management > Flush
# Or via command line
curl -u admin:password "http://satellite-server:8080/cs/ContentServer?pagename=System/FlushCache"
2. Asset Publishing Pipeline Not Propagating Templates
Symptoms: Template changes with analytics code are saved in the authoring environment but never reach the delivery server.
Root cause: WebCenter Sites uses an explicit publishing pipeline. Template assets must be approved and published through the workflow. If the template asset is not in the publishing queue, or if publishing fails silently, the delivery server never gets the update.
Fix:
- In the CS admin, navigate to your template asset
- Check its Status — it should be "Published" or in the publishing queue
- If stuck, manually trigger a publish: Admin > Publishing > Publish Now
- Check the publishing log for errors
3. JSP Template Including Analytics in Wrong Scope
Symptoms: Analytics loads on some pages but not others, depending on which template asset renders the page.
Root cause: WebCenter Sites uses a hierarchy of template assets (Layout, Template, CSElement). If analytics is in a CSElement that is not referenced by all page templates, some pages will lack tracking.
Fix: Place analytics in the top-level Layout template that all pages share:
<%-- In your Layout template (e.g., Layout/Default) --%>
<head>
<%-- Render head includes --%>
<render:calltemplate tname="Head/Includes" c="Layout" />
<%-- Analytics code --%>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXX');
</script>
</head>
4. Multi-Site Configuration Splitting Analytics
Symptoms: Different sites within the same WebCenter Sites installation have inconsistent analytics. Some sites track, others do not.
Root cause: WebCenter Sites supports multiple sites (publications) from a single installation. Each site can have its own template hierarchy, and analytics must be configured for each site.
Fix: Create a shared CSElement for analytics that all sites reference:
<%-- Create a shared CSElement: Analytics/GlobalTracking --%>
<%-- Reference it from each site's Layout template: --%>
<render:callelement elementname="Analytics/GlobalTracking" />
5. Preview/Contribution Mode Inflating Data
Symptoms: Pageview spikes during content editing. CS admin URLs appear in analytics reports.
Fix: Detect WebCenter Sites preview mode:
// Detect WCS preview/contribution mode
var isWcsPreview = window.location.hostname.includes('cs-admin') ||
window.location.search.includes('pagename=') ||
document.querySelector('div.cs-edit-toolbar') !== null;
if (isWcsPreview) {
window['ga-disable-G-XXXXXXX'] = true;
}
Environment Considerations
- Java/JSP stack: All template customization requires JSP knowledge. Template changes may require a server restart if JSP compilation caching is aggressive
- Satellite Server: The caching layer between CS and the browser. All cache debugging starts here
- Oracle licensing: WebCenter Sites is commercial Oracle software. Access to server logs and admin interfaces may be restricted by your organization's Oracle support agreement
- WebLogic/Tomcat: WCS runs on either WebLogic or Tomcat. Server-level caching configurations differ between the two
- Content types: WCS has "flex" and "basic" content types. Templates for each type are configured separately — check both
Performance Issues
- LCP Issues - Satellite Server cache miss latency and JSP compilation overhead
- CLS Issues - Layout shifts from template component lazy loading and AJAX content fetching
Tracking Issues
- Events Not Firing - Debug Satellite Server caching, asset publishing pipeline, and JSP template scope
Related Resources
- Oracle WebCenter Sites documentation
- Global Issues Hub for platform-agnostic solutions