Guides

How to Troubleshoot a NotionPress Article That Is Not Showing

A practical troubleshooting guide for when a NotionPress article does not appear after publishing it in Notion.

If an article does not appear on your NotionPress website, the problem is usually somewhere in the publishing pipeline.

The easiest way to troubleshoot it is to check each stage in order.

1. Check the Notion status

Open the story in the Stories database.

Make sure:

Status = Published

A Draft article should not be expected to appear on the public site.

2. Check the slug

Make sure the Slug field contains a sensible URL value.

For example:

my-first-notionpress-article

Avoid spaces and unnecessarily complicated URLs.

If you change a slug after publication, remember that the article URL changes too.

3. Check the publication date

Confirm that the Published Date is present and valid.

If the article is supposed to be published now, use the current publication date rather than leaving the field empty.

4. Run the sync

Publishing the page in Notion does not by itself guarantee that the repository has the latest content.

Run:

npm run sync:notion

Watch the command output.

You want the sync process to complete without an authentication, API or content-conversion error.

5. Check the generated content

After syncing, check whether the article appears in the generated content directory.

If it does not, the problem is probably before the Astro build stage.

Check:

  • Notion token

  • Database ID

  • Database access

  • Status value

  • Required properties

  • Sync output

6. Check the Astro build

Run:

npm run build

If the build fails, read the first meaningful error rather than focusing only on the final line.

Common causes include:

  • Invalid frontmatter

  • Missing required fields

  • Invalid dates

  • Broken imports

  • Type errors

  • Invalid content

Fix the first real error and run the build again.

7. Check Cloudflare Pages

If the local build works but the live site is unchanged, inspect the Cloudflare Pages deployment.

Check:

  • Whether a new deployment was triggered

  • Whether the build succeeded

  • Whether the correct branch is connected

  • Whether the deployment is using the expected build command

  • Whether the deployment is serving the expected domain

If the repository contains the new article but Cloudflare has not deployed it, the problem is between GitHub and the deployment stage.

8. Check the URL directly

If the article exists but you cannot find it from the homepage, try opening its URL directly.

This helps distinguish a routing problem from a content-discovery problem.

If the direct URL works but the article is missing from a listing page, inspect the listing or filtering logic.

9. Check your browser cache

If the deployment succeeded but you still see an older page, try:

  • A hard refresh

  • A private browsing window

  • Another browser

Also check whether Cloudflare has already deployed the latest version.

10. Check images separately

If the article appears but its images do not, the publishing pipeline may be working correctly.

The problem may instead be the image source.

Remember that the MVP uses Notion-hosted image URLs. These can have limitations because the files are not copied into a permanent dedicated image store.

11. Use the pipeline to find the problem

The quickest diagnostic method is to ask:

Does it exist in Notion?
        ↓
Was it synced?
        ↓
Does it exist in the repository?
        ↓
Does Astro build?
        ↓
Did Cloudflare deploy?
        ↓
Does the live URL work?

Do not change five things at once.

Find the first stage where the expected result disappears. That is usually where the problem is.

12. Keep the troubleshooting mindset simple

NotionPress is intentionally built as a chain of small systems.

That is useful when something breaks because you can inspect each stage independently.

Instead of asking “Why is my article missing?”, ask:

At which stage did my article stop moving through the pipeline?

That question will usually get you to the answer much faster.