Why page assignment matters
WooCommerce does more than display ordinary page content at Cart and Checkout. It treats the pages selected in its Advanced settings as functional destinations in the purchase journey. A page can contain a Checkout block or shortcode and still be the wrong page if WooCommerce points somewhere else.
The Cart, Checkout, and My Account roles should use separate pages. WooCommerce documentation warns that combining roles can produce incorrect redirects and broken gateway behavior.
1. Record the assigned pages
- Open WooCommerce → Settings → Advanced.
- Find the Page setup section.
- Record the selected Cart, Checkout, My Account, Terms, and Privacy pages.
- Save only if you intentionally changed a selection.
Open each selected page in a new tab from the Pages list. Confirm its status is Published, its URL is expected, and it is not password-protected, private, trashed, or replaced by an unintended redirect.
2. Inspect the page content
For a modern block setup, the Cart page should contain the WooCommerce Cart block and the Checkout page should contain the Checkout block. New WooCommerce installations have used Cart and Checkout blocks by default since WooCommerce 8.3.
For a classic setup, the functional content is normally:
[woocommerce_cart]on the assigned Cart page.[woocommerce_checkout]on the assigned Checkout page.[woocommerce_my_account]on the assigned My Account page.
Do not add both a full Checkout block and the checkout shortcode merely as a troubleshooting experiment. Identify the intended architecture and test that one path.
3. Test the public journey
- Open a private browser window so administrator sessions and caches do not hide the customer experience.
- Add a published, purchasable product to the cart.
- Open the assigned Cart URL and confirm the item, quantity, totals, and proceed-to-checkout action appear.
- Continue to the assigned Checkout URL and confirm fields, totals, shipping, and eligible payment choices render.
- Check the same path on a narrow mobile viewport and with an address covered by the intended shipping zone.
Stop before submitting a live payment unless you have an approved test process. Rendering and configuration checks are not the same as payment verification.
4. Check HTTPS, permalinks, and redirects
- The WordPress Address and Site Address use the intended HTTPS hostname.
- Cart and Checkout remain on that hostname without falling back to HTTP.
- The assigned URLs return successful pages rather than redirect loops, login screens, or generic templates.
- Old cart or checkout URLs use deliberate redirects and do not compete with the assigned destinations.
- Language, currency, caching, and security layers preserve the intended session and cart.
How to repair a missing or incorrect page
Create a new published page only when the intended one is genuinely missing or unsuitable. Insert the appropriate Cart or Checkout block, or use the matching classic shortcode when the store intentionally relies on classic checkout. Then assign that exact page under WooCommerce → Settings → Advanced.
After the repair, clear only the relevant caches, repeat the logged-out journey, and review any checkout extension compatibility before removing the old page.
Check page configuration with Checkout Diagnostics
Cobalt Checkout Diagnostics reports the assigned cart and checkout pages, their publication and page types, HTTPS and permalink state, and safe loopback rendering evidence. It can help expose a mismatched assignment without placing an order.
Use the result as a configuration checkpoint, correct the underlying WooCommerce page or setting, and run the checks again. Then complete the customer-facing journey manually.
Frequently asked questions
Can the same page be used for Cart and Checkout?
No. Use separate pages for Cart, Checkout, and My Account. Their roles and redirects are different.
Can a Checkout block exist on an unassigned page?
Yes, but adding the block alone does not make that page the designated WooCommerce checkout. Confirm the selection under WooCommerce → Settings → Advanced.
Should I switch from a shortcode to the Checkout block?
Not solely to fix an unexplained failure. First identify extension compatibility, customizations, and the actual cause. Test any architecture change on staging.