14+ years building on WordPress / Replies in under 5 hours
WordPress 9 min read · Updated July 2026

How to Create Pages in WordPress?

Photo of Ajay Khandal
Ajay Khandal
WordPress Developer
TL;DR

To create a page in WordPress: go to Pages → Add New, enter your title, add content with the block editor, then click Publish. Before creating pages, set Settings → Permalinks → Post name for clean URLs. Pages are for timeless content (About, Contact, Services) — not for blog posts or time-sensitive updates. Key settings: Parent Page sets the URL hierarchy (e.g. /about/team/), Template controls the layout, Visibility sets public/private/password access. Publishing a page doesn't add it to navigation — do that separately in Appearance → Menus.

Creating a page in WordPress takes less than a minute once you know where to go. But WordPress pages have more options than most beginners expect — parent pages, templates, visibility settings, scheduled publishing — and understanding what each one does helps you build a well-structured site from the start rather than untangling a mess of flat pages later.

This guide covers creating pages in both the modern block editor (Gutenberg) and the classic editor, explains every page setting panel, and covers the practical question of when to use the block editor versus a page builder like Elementor or Divi.

Pages vs. Posts: The Key Difference

WordPress treats pages and posts differently, and the distinction matters before you start creating anything.

  • Posts are chronological — they have publish dates, appear in your blog feed, and can be organised with categories and tags. Posts are for time-sensitive content: articles, news, announcements, tutorials.
  • Pages are static — they exist outside the blog feed, have no publish date, and don’t use categories or tags. Pages are for timeless content: About, Contact, Services, Privacy Policy, landing pages.

A post about a new service you’re launching is the wrong choice — a page is. A news update about that service lives in posts. If in doubt: would this still be relevant in two years with no date on it? If yes, use a page.

If your WordPress site is brand new, do this before creating pages — it saves you from renaming URLs later. Go to Settings → Permalinks in your WordPress admin and choose Post name. This gives pages clean URLs like yoursite.com/about/ instead of yoursite.com/?page_id=2.

Changing permalink structure after pages are live changes every URL on your site. Any existing links (from Google, other sites, bookmarks) break unless you set up redirects. Set it right before you build.

Creating a Page with the Block Editor

The block editor (Gutenberg) is the default editor in WordPress since version 5.0. If your site uses the classic editor via plugin, skip to the next section.

  1. In your WordPress admin sidebar, go to Pages → Add New Page (or hover over Pages and click “Add New” from the flyout menu).
  2. The editor opens with a blank page. Click the title area at the top and type your page title — for example, “About Us” or “Contact”.
  3. Click below the title (or press Enter after the title) to add your first block. The default is a paragraph block — start typing to add body text.
  4. To add a different block type (heading, image, list, button, columns), click the + button that appears between blocks, or type / to trigger the block inserter with a text search. For example, type /image to insert an image block.
  5. Once your content is ready, look at the right-hand sidebar. It has two tabs: Post (page-level settings) and Block (settings for the currently selected block). Make sure you’re on the Page tab (WordPress calls both posts and pages “Post” in the editor — it means the current document).
  6. Click Publish in the top-right corner to make the page live, or use the dropdown next to Publish to save as Draft or schedule for a future date.

After clicking Publish, WordPress will ask “Are you ready to publish?” with a summary of your settings. Review them and click Publish again to confirm.

Creating a Page with the Classic Editor

If you’ve installed the Classic Editor plugin (common on older sites or when a theme or plugin requires it):

  1. Go to Pages → Add New in the admin sidebar.
  2. Type your page title in the “Enter title here” field at the top.
  3. Click in the main editor area below and add your content. Switch between Visual (formatted preview) and Text (raw HTML) tabs in the editor toolbar as needed.
  4. On the right side, you’ll see the Publish metabox with Status, Visibility, and schedule options. Click Publish to go live immediately, or set a future date to schedule.

Page Settings Explained

Whether you’re using the block editor or classic editor, the page settings panels control how the page behaves and how it fits into your site structure. Here’s what each setting does.

Page Title and Permalink

The page title becomes the <h1> heading visible on the page. The permalink (URL slug) is derived from the title automatically — “About Us” becomes /about-us/. You can edit the slug manually by clicking on it under the title in the block editor (or in the “Permalink” panel in the Document tab), which is useful when the auto-generated slug is too long or uses awkward words.

Keep slugs short, lowercase, and descriptive: /about/ not /about-us-and-our-company-story/. Once a page is indexed by search engines, changing the slug requires a redirect — change it before going live or not at all.

Page Attributes: Parent Page

WordPress pages can be hierarchical. An “About” page can have a “Team” child page, giving you URLs like /about/team/. To create this structure, set the Parent Page in the Page Attributes panel to the parent you want.

This doesn’t automatically create breadcrumbs or add the child page to navigation — those are separate. It just establishes the URL hierarchy. Common uses: service subpages (/services/web-design/), legal pages (/legal/privacy-policy/), or FAQ sections (/help/faq/).

Page Attributes: Template

Page templates are PHP files in your theme that control the layout for a specific page. Most themes include at least:

  • Default Template — the standard page layout (sidebar, no sidebar depending on theme)
  • Full Width — no sidebar, content spans the full width (common for landing pages)
  • Blank / Canvas — minimal wrapper, no header or footer (used by page builders for landing pages)

The templates available depend entirely on your theme. Custom templates can be created by a developer for pages with specialised layouts — a pricing table, a portfolio grid, a contact page with a map.

Page Attributes: Order

The Order number controls how pages are sorted in wp_list_pages() and similar theme functions that display sibling pages. Most sites don’t need to set this — it only matters if your theme uses page order for navigation output rather than a custom menu.

Featured Image

The featured image represents the page visually. Whether it appears on the page itself depends on your theme — some show it as a hero banner, some show it only in social sharing cards, some don’t display it at all. Set it regardless; it’s used for Open Graph meta tags (Facebook, LinkedIn previews) and social sharing even if it’s not visible on the page itself.

Visibility

Found in the Status & Visibility panel in the block editor (or the Publish metabox in classic editor):

  • Public — visible to everyone. Default.
  • Private — visible only to logged-in users with editor or administrator role. Useful for internal pages or content you’re building before it’s ready to show clients.
  • Password Protected — visitors are prompted to enter a password. Useful for sharing draft content with a client or for gating a resource without a full membership plugin.

Publish, Draft, and Schedule

  • Save Draft — saves the page but doesn’t make it public. Accessible only in the admin.
  • Publish — makes the page live immediately.
  • Schedule — set a future publish date/time. WordPress publishes automatically when the scheduled time passes (requires WP-Cron to be running, which it is by default on managed hosting).

Adding Pages to Your Navigation Menu

Publishing a page doesn’t automatically add it to your site’s navigation. To add a page to the menu:

  1. Go to Appearance → Menus in the admin sidebar (classic menu editor).
  2. Select or create the menu you want to edit.
  3. In the “Add menu items” panel on the left, expand Pages and check the page you just created.
  4. Click Add to Menu.
  5. Drag the item to the position you want.
  6. Click Save Menu.

If your theme uses the Full Site Editing (FSE) system (Twenty Twenty-Four and similar block themes), navigation is managed differently — through the Site Editor (Appearance → Editor) rather than Appearance → Menus.

Block Editor vs. Page Builder vs. Custom Template

Three tools can build WordPress pages, and the right choice depends on what the page needs to do.

  • Block editor (Gutenberg): Best for content-heavy pages — long-form text, headings, images, tables, embedded media. Fast, built-in, zero plugin overhead. Layout options are limited compared to a visual page builder but are steadily improving with block themes.
  • Page builder (Elementor, Divi, Beaver Builder): Best for visually complex layouts — hero sections, grid layouts, animated elements, contact forms, pricing tables. Adds plugin overhead (can affect page speed) but dramatically reduces the need for custom PHP. See the full comparison in page builders vs. custom code in WordPress.
  • Custom PHP template: Best when a page’s layout or data sources can’t be achieved with blocks or a page builder — a page that queries custom post types, a dynamic directory, a WooCommerce integration. Requires a developer but produces the leanest, most performant result.

Most small business sites start with the block editor or a page builder and only need custom templates for one or two specialised pages.

Common Mistakes When Creating WordPress Pages

  • Building pages before setting pretty permalinks. Changing from ?page_id=2 to /about/ after the pages exist changes all your URLs. Set Settings → Permalinks → Post name before creating any pages.
  • Using posts for evergreen content. A “Services” post doesn’t belong in the blog feed and doesn’t make sense with a date. Create pages for content that isn’t time-sensitive.
  • Not setting a parent page for subpages. Creating “Team” as a top-level page instead of a child of “About” gives you /team/ instead of /about/team/. Restructuring later requires redirects.
  • Forgetting to add pages to the navigation menu. Publishing a page makes it exist and be indexable — it does not automatically add it to your site’s nav. Add it manually in Appearance → Menus.
  • Leaving the slug as a long auto-generated string. A page titled “Our Web Design and Development Services” gets a slug like /our-web-design-and-development-services/. Edit it to /services/web-design/ or similar before publishing.

After Creating Your Pages

Once your core pages are live, a few things are worth doing before you consider the site ready to launch. The WordPress post-launch checklist covers what to verify — SEO basics, security headers, caching, analytics — before pointing visitors to a new site.

If your site needs to serve content in more than one language, building a multilingual WordPress site without plugins covers how to extend your page structure to handle translated content without adding a heavyweight plugin to every page load.

Frequently asked questions

Pages are static, timeless content — About, Contact, Services, Privacy Policy. They exist outside the blog feed, have no publish date, and don't use categories or tags. Posts are chronological — they appear in your blog feed, are organised by date, and can be filtered by categories and tags. Use pages for content that will still be relevant in two years with no date on it. Use posts for news, articles, announcements, and anything time-sensitive.

Create the new page and then set its parent in the Page Attributes panel. In the block editor, open the Settings sidebar on the right, scroll to the Page tab, and find the 'Page Attributes' section — there's a 'Parent Page' dropdown. Select the parent page from that dropdown and publish. This gives the child page a URL like /parent/child/ automatically. Common examples: /about/team/, /services/web-design/, /legal/privacy-policy/. Setting a parent doesn't add the page to navigation — you still need to add it manually in Appearance → Menus.

Your permalink structure is set to 'Plain' mode. Go to Settings → Permalinks in the WordPress admin and choose 'Post name'. Save the settings (this regenerates your .htaccess rewrite rules). From that point, new pages will get clean URLs like /about/ or /contact/. Pages already created before the switch will also update to use clean URLs. Always set this before building a new site — changing it after pages are live and indexed changes all your URLs and breaks existing links unless you set up redirects.

Publishing a page does not automatically add it to your site's navigation. Go to Appearance → Menus, select the menu you want to edit (usually 'Primary Menu'), expand the Pages panel on the left, check the page you want to add, and click 'Add to Menu'. Drag it to the correct position and click Save Menu. If your theme uses Full Site Editing (block themes like Twenty Twenty-Four), navigation is managed in Appearance → Editor instead of Appearance → Menus.

A page template is a PHP file in your theme that controls the layout of a specific page. Most themes include a Default Template (standard layout with or without sidebar), Full Width (no sidebar, content spans the full container), and sometimes a Blank template (no header or footer, used for landing pages built with a page builder). You assign a template in the Page Attributes panel when editing a page. The templates available depend entirely on your active theme — custom templates can be added by a developer for pages that need a specialised layout.

Yes. When editing a page, click the date/time field in the Status & Visibility panel (block editor) or the Publish metabox (classic editor) and set a future date and time. WordPress will publish the page automatically at that time using WP-Cron. WP-Cron runs when someone visits your site, so on very low-traffic sites there can be a small delay between the scheduled time and actual publish. On managed WordPress hosting (WP Engine, Kinsta, Flywheel), WP-Cron typically runs reliably because the host triggers it on a real system schedule.

Photo of Ajay Khandal

Written by Ajay Khandal

I'm a freelance WordPress developer with 14+ years of experience building, fixing, and speeding up sites for businesses, agencies, and store owners across the US, UK, Europe, and Australia. I specialize in custom themes, WooCommerce, and performance — the kind of work that shows up as faster load times and fewer support tickets. No account managers, no outsourced tickets — you work directly with me, with replies typically inside 5 hours.

Work with me →