Typically, the ribbon on a Publishing Page will have several tabs: Browse, Page, and Publish. The Page tab in the ribbon itself will contain buttons that are specific to Publishing Pages. It should look like something like this:

Page Ribbon

However, if your Page Layout has custom code-behind, you might notice that your Publishing Page, when you edit it, is missing the Publish tab, and the Page tab contains buttons that are more consistent with a “normal” SharePoint page than a Publishing Page, like this:

Incorrect Page Ribbon

This behavior happens when the Page Layout you’re using has a custom code-behind class and you override the OnLoad method in your code-behind, but you forget to add base.OnLoad(e) to the method. Adding the base.OnLoad(e) method to your overriden method will return the ribbon to its normal state.