Return to doc.sitecore.com

Missing Content

This document describes processes for diagnosing problems where content which is believed to have been published does not appear on the published web site.

1.  Possible Causes

There are a number of reasons why content a developer or user believes should have been published will not appear on the published web site.

User Neglected to Save 

It happens sometimes.

Languages and Publishing Targets

When publishing manually, be sure to select the appropriate language(s) and publishing target(s).

Workflow Publication

An item which is associated with a workflow state which is not a Final state will not be published.  In such cases an admin should see the content item in the workbox.  Note the value in the State field of the Workflow section of the content item.  Locate that State in the workflow definition in the System area of Sitecore.  If the Final checkbox in the Data section is not selected, the content item has not reached the Final state and will not be published.  Either use the workbox to transition the content to the Final state or simply set the State field in the content item to the appropriate Final state.  Workflow completion will not trigger automatic publication unless a publishing workflow action has been configured, typically under the Final state of the workflow.  To add automatic publishing, open Content Editor, navigate to the System area, open the Workflows node and navigate to the Final state of the workflow in question (typically named Done).  Right-click on this Final state and choose New, Add from Template, open System, Workflow and select Action; complete as follows:

Type string: Sitecore.Workflows.Simple.PublishAction, Sitecore.Kernel

Parameters: deep=1

Note that content items must have a default workflow defined for this to work, otherwise workflow and hence publishing is not triggered for the item; publication in this case is manual.

Scheduled Publication

Even if content has reached the Final state of a workflow it will not be published if the Publish date in the Publishing section has been defined but not reached, or if the Unpublish date in the Publishing section has passed.  These fields are shared to all languages – there is only one publishing date per content item.  Clearing the publishing date fields should result in the content item being published on the next publication.
The frequency of scheduled publication can be manipulated but note that publishing clears the HTML cache and therefore can interfere with performance.  Review http://sdn.sitecore.net/SDN5/FAQ/Administration/Scheduled%20tasks.html and manipulate the Sitecore.Tasks.PublishAgent which is by default disabled by comments /web.config.

Lifetime

A language version of a content item will only appear if the Valid From and Valid To dates in the Lifetime section are empty or if the system date is between those values for the context language.  Clearing the lifetime date fields for a specific language should result in the content item appearing after the next publication.

Rendering Logic

Content which has actually been published may not appear if rendering logic does not create links to that content.

Never Publish

If the Never Publish checkbox in the Publishing section is selected, the item will not be published.

Security

An item which has restricted read access will not appear to be published until a user with appropriate access authenticates on the published site.

Internationalization

If an item is requested in a language to which it has not been translated, the item will appear empty on the published site.

2.  Analysis

There are a few places to look when analyzing publishing issues.

Direct URL Access
Try entering the URL directly on the published site rather than navigating to the page.  If the item appears, then navigation or other rendering logic may be in error and not linking to the resource.  If the item shows an HTTP 404/not found, the item probably has not been published do to workflow or scheduling reasons.  If it shows access denied or a login form, then the item has been published but has restricted security.

Inheritance
If an item exists under another item which has not been published, the child item will not appear.  Analyze all of the properties described above for the ancestors of an item to detect this condition.

Logs
Publishing activities should be logged by default to /data/logs/*.txt under the document root.  A successful publication from workflow will appear something like the following:

ManagedPoolThread #6 09:21:18 INFO  Job started: Publish 'master' to 'web' (en)

ManagedPoolThread #6 09:21:18 INFO  Publishing started (source: master, target: web, mode: SingleItem, language: en)

ManagedPoolThread #6 09:21:19 INFO  Publishing ended

ManagedPoolThread #6 09:21:19 INFO  Total number of items published: 1

ManagedPoolThread #6 09:21:19 INFO  Total number of items unpublished: 0

ManagedPoolThread #6 09:21:19 INFO  Total number of items written: 1

ManagedPoolThread #6 09:21:19 INFO  Job ended: Publish 'master' to 'web' (en) (units processed: 1)

Web Database
It is possible to access the web database directly from the Sitecore desktop to see exactly what items have been published.  Use the database icon at the bottom right to switch to the web database, then use Content Editor to analyze the database.  Do not make changes in the web database and be sure to switch back to the master database when analysis is complete.

Incremental, Smart, and Full Publication
When all else fails try incremental publication.  If the item still does not appear try smart publication.  If smart publication does not work try full publication.