The Subtle Art of Not Giving a F*ck

Mark Manson · 2016 · Want to Read

I want you to build the content architecture and CMS foundation of my personal WordPress website.

I have already imported a website template, but the template is not currently aligned with the website structure we are building. Do not redesign the template yet. The important task now is to build the correct WordPress structure underneath it so we can design the frontend later.

What we are building

This is a personal professional + intellectual website focused on:

Sustainable Development | Programme Support | Knowledge | Digital Innovation

The site will contain four major content areas:

  1. Work / Projects
  2. Articles
  3. Books
  4. Publications

Each section needs a listing/archive page and individual content pages with clean permalinks.

The architecture should support this:

  • /work/ → project listing
  • /work/project-name/ → individual project
  • /articles/ → article listing
  • /articles/article-name/ → individual article
  • /books/ → books listing
  • /books/book-name/ → individual book
  • /publications/ → publications listing
  • /publications/publication-name/ → individual publication

Also keep normal WordPress Pages for:

  • /
  • /about/
  • /contact/

Step 1: Audit first

Before making changes:

  • Inspect the active theme
  • Inspect the imported template
  • Inspect the page builder
  • Inspect all installed plugins
  • Check whether ACF, CPT UI or similar functionality already exists
  • Do not install duplicate plugins
  • Do not delete the imported template
  • Do not change the site’s visual design
  • Do not remove existing content

Use the existing setup wherever practical.

Step 2: Create the CPTs

Create these three Custom Post Types:

1. Projects / Work

Internal CPT can be projects, but the public URL must be:

/work/

Individual URLs:

/work/project-name/

Fields:

  • Organisation
  • Role
  • Start Date
  • End Date
  • Location
  • Project Type
  • Overview
  • My Contribution
  • Skills / Methods
  • Outcomes
  • Images
  • Related Articles
  • Related Publications

Project Types:

  • Sustainable Development
  • Programme Support
  • Knowledge Management
  • Digital Innovation
  • Communications
  • Research
  • Community / Development
  • Other

2. Books

CPT:

books

Archive:

/books/

Individual URL:

/books/book-name/

Fields:

  • Author
  • Cover
  • Publication Year
  • Date Read
  • Reading Status
  • Genre
  • My Thoughts
  • Key Ideas
  • What I Disagreed With
  • My Take
  • Related Articles
  • Related Books

Reading Status:

  • Reading
  • Read
  • Want to Read
  • Abandoned

Important: these pages are my reflections on books, not copies or AI-generated summaries of the books.


3. Publications

CPT:

publications

Archive:

/publications/

Individual URL:

/publications/publication-name/

Fields:

  • Authors
  • Publication Year
  • Status
  • Abstract
  • Keywords
  • DOI
  • External URL
  • PDF
  • Citation
  • Related Articles
  • Related Projects

Publication Status:

  • Preprint
  • Working Paper
  • Manuscript
  • Conference Paper
  • Published
  • Other

Be accurate about publication status. For example, an SSRN preprint should remain clearly labelled as a preprint.

Step 3: Articles

Use normal WordPress Posts for articles rather than creating an Article CPT.

The public archive should be:

/articles/

Individual URLs:

/articles/article-name/

Use categories or an appropriate taxonomy for article type if useful:

  • Articles
  • Essays
  • Thought Pieces
  • Notes
  • Reflections
  • Book Reflections

Also create a reusable Topics taxonomy.

Initial topics:

  • Sustainable Development
  • Governance
  • Institutions
  • Knowledge Management
  • Development
  • Environment
  • Technology
  • Education
  • Science
  • Philosophy
  • Society
  • Research

Do not create unnecessary taxonomies.

Step 4: Relationships

Set up relationships between content types where appropriate:

  • Books ↔ Articles
  • Books ↔ Books
  • Publications ↔ Articles
  • Projects ↔ Articles
  • Projects ↔ Publications

For example:

A book page should be able to show:

Related Articles

And an article about a book should be able to show:

Related Book

A project should be able to show related publications and articles.

Use ACF relationship/post object fields if ACF is available and appropriate.

Step 5: Demo content

Create a small amount of clearly identifiable demo content to test the system.

Create at least:

Projects

  1. Nature for Health
  2. One fictional/demo project clearly labelled as DEMO

Books

  1. The Subtle Art of Not Giving a Fuck
  2. One additional demo book

Articles

  1. One demo article
  2. One article connected to the demo book

Publications

  1. One demo publication marked Preprint

Use realistic structure, but do not invent fake professional achievements or claim that fictional projects/publications are real.

Clearly label fictional test content as DEMO.

The purpose is to verify that:

  • CPTs work
  • Fields save
  • Relationships work
  • Archives work
  • Individual pages work
  • Permalinks work

Step 6: Permalinks

Configure clean URLs with no dates or numeric IDs.

Required structure:

/work/project-name/

/articles/article-name/

/books/book-name/

/publications/publication-name/

Do not use:

/2026/09/article-name/

or

/?p=123

Set WordPress to use clean Post Name permalinks where appropriate.

Step 7: Archive/listing pages

Make sure these sections have working archive/listing pages:

  • /work/
  • /articles/
  • /books/
  • /publications/

They should eventually be capable of displaying cards/listings with information such as:

Books

  • Cover
  • Title
  • Author
  • Reading status
  • Date read

Articles

  • Title
  • Date
  • Topic/category
  • Excerpt

Projects

  • Project name
  • Organisation
  • Role
  • Dates
  • Project type

Publications

  • Title
  • Year
  • Status
  • Authors

Do not spend significant time styling these yet. Functionality first.

Step 8: Do NOT redesign

This is very important.

The imported template is only there as the current website foundation. It does not represent the final architecture or visual direction.

For now:

  • Do not redesign the homepage
  • Do not redesign headers
  • Do not redesign footers
  • Do not replace the template
  • Do not create elaborate layouts
  • Do not spend time on colours/fonts/animations
  • Do not create fake portfolio content

We will handle the frontend design after the CMS/content architecture is working.

Step 9: Test everything

After implementation, test:

  1. Create a project and confirm all fields save.
  2. Create a book and confirm all fields save.
  3. Create a publication and confirm all fields save.
  4. Create an article.
  5. Connect an article to a book.
  6. Connect a project to an article/publication.
  7. Confirm archive pages display the content.
  8. Confirm every individual permalink resolves.
  9. Confirm relationships display correctly.
  10. Confirm there are no obvious permalink conflicts.
  11. Confirm the existing imported template/content has not been unnecessarily destroyed.

Final report

When finished, give me a concise report containing:

  • Plugins used
  • CPTs created
  • Taxonomies created
  • Custom fields created
  • Relationships created
  • Demo content created
  • URL structure
  • What was tested successfully
  • Any conflicts/problems discovered

Do not redesign the site yet.

The goal of this phase is:

Build the engine first. Design the car later.