Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Create a Custom Archives Page in WordPress

Do you want to create a custom archives page in WordPress?

WordPress comes with an archives widget that you can add to any widget-ready area, such as the sidebar. However, many successful websites use a stand-alone archives page to help visitors find what they’re looking for.

In this article, we will show you how you can create a custom archives page in WordPress.

How to create a custom archives page in WordPress

Why Create a Custom Archives Page in WordPress?

WordPress has an archives widget, but showing all of your content in a widget-ready area such as the sidebar can be overwhelming for visitors, especially if you have lots of posts. It can also make your site look messy and complicated, which isn’t a good user experience.

That’s why we use a custom archives page to show all our WPBeginner posts organized into years and months.

The WPBeginner custom archive

By creating a custom archives page in WordPress, you can help visitors find interesting content and encourage them to take a look at your older posts.

You can even add your site’s categories and tags to the custom archive page.

The WPBeginner custom archive

By helping visitors find interesting content, an archives page can increase your pageviews and reduce your bounce rate. In turn, this will send positive signals to the search engines and improve your WordPress SEO.

Most WordPress themes don’t have a custom archives page template. With that in mind, let’s take a look at how you can create a custom archives page in WordPress, no matter what theme you’re using.

Simply use the quick links below to jump straight to the method you want to use.

Method 1. Creating a Custom Archives Template Using the Block Editor

If you’re using a block theme, then the full site editor makes it easy to design a custom archives page template.

This method doesn’t work with every theme, so if you’re not using a block-based WordPress theme then we recommend using a page builder instead.

To start, simply create a new page or open an existing page that you want to use as your archive. Then, click on the ‘Page’ tab in the right-hand menu and click to expand the ‘Template’ section, if it isn’t already expanded.

Creating a custom archive template using FSE

WordPress will now show the current page’s template.

To create a custom archive template for this page, simply click on the ‘New’ link.

Creating a new block-based template

In the popup, type in a name for the template. The name is just for your reference so you can use anything you want.

Then, go ahead and click on ‘Create’ to launch the template editor.

Naming a WordPress custom archive template

 The template editor works similarly to the standard block editor.

To add blocks to your custom archives page, simply click on the blue ‘+’ button. You can then drag and drop to add blocks to your layout.

Adding blocks to the full site editor

Since we’re creating a custom archives page, you’ll typically want to start by adding an ‘Archives’ block. This block allows visitors to explore your posts based on the year, month, week, or day.

For example, the following image shows an ‘Archives’ block where the posts are organized into months.

How to add an archives block to a custom template

Clicking on any of these links will take the visitor to a new page showing all the posts published during this period.

To add an archive block, simply find it in the left-hand menu and then drag it onto your layout. After adding any block, it’s a good idea to look at its settings in the right-hand menu.

Configuring the archives WordPress block

To start, you may want to change how the posts are organized by opening the ‘Group by’ dropdown and choosing an option from the list.

For example, if you only have a small number of posts then it may make sense to show them by day. However, if you have lots of content then you’ll typically want to choose ‘Month’ or even ‘Year’ so you don’t overwhelm the visitor with a long list.

Grouping archived posts by date

WordPress shows the archived posts in a bullet point list by default, but you can also present them as a dropdown menu.

This can be useful if you have a very small amount of space and need to create a compact archive. To switch to a dropdown format, simply click on the ‘Display as dropdown’ slider to make it active.

Displaying posts as a dropdown menu

The Archive block can also show the total number of posts next to each heading.

This can help visitors decide which part of the archive they want to look at first.

Creating a custom archive page in WordPress

You may also want to add a list of categories so visitors can explore your posts based on their content and not just the date.

To add this block, simply click on the blue ‘+’ button and type in ‘Categories.’ When the right block appears, add it to your layout using drag and drop.

Displaying a particular category in a WordPress archive

Once again, you may want to make some changes to the block’s settings.

Similar to the archives block, you can add a post count to the list or show the categories as a dropdown menu rather than a bullet point list.

By default, this block shows all categories and subcategories in exactly the same way.

Categories and sub-categories on a custom archive page

You may prefer to show the child categories indented beneath their parent.

To make this change, just click to activate the ‘Show hierarchy’ toggle.

Showing the category hierarchy on a WordPress archive page

Another option is to hide child categories completely by activating the ‘Show only top level categories’ toggle.

You may also want to add a tag cloud, which can help visitors find interesting related content. To do this, simply find ‘Tag Cloud’ in the left-hand menu and then drag it onto your layout.

Adding a tag cloud to the archive page

You can now select the block and configure it using the settings in the right-hand menu.

To start, the tag cloud has two styles: Default and Outline. You can switch between these by clicking on the buttons under ‘Styles.’

Styling your tag cloud

You can also use these settings to show the total number of posts next to each tag, and change the number of tags that are included in the cloud.

Despite the name, you can also show categories in the tag cloud. For example, you may prefer the styling of the tag cloud block compared to the categories block.

To show your site’s categories instead, simply open the ‘Taxonomy’ dropdown and then choose ‘Categories.’

Showing a category cloud on your WordPress website

Archives are designed to give visitors easy access to all your content.

However, you may also want to highlight your site’s most recent posts by adding a ‘Latest Posts’ block.

Showing a list of latest posts

By default, this block simply shows each post’s title, but you can add the author, publication date, and featured image.

Simply use the toggles in the right-hand menu to make these changes.

Showing your most recent posts on the archive page

You may also want to show the post excerpt, which can help visitors understand what each post is about.

To add the excerpts, go ahead and click to activate the ‘Post Content’ toggle.

How to show post content and excerpts on the custom archive page

After that, click to select the ‘Excerpt’ button.

By default, WordPress will show a maximum of 55 words in the excerpt. To show more or less words, simply use the ‘Max number of words in excerpt’ settings.

After you’ve done that, scroll to the ‘Sorting and filtering’ section.

Here, you can see that the block organizes posts from newest to oldest. You can change this by opening the ‘Order’ dropdown and choosing a different option, such as ‘A-Z.’

Organizing the latest posts on your WordPress archive page

In this section you can also choose to show posts from a particular author or category.

Finally, you can change how many posts WordPress shows in the block, either by typing a new number into the ‘Number of items’ section or by dragging the slider.

Changing the order of your latest posts

You can continue working on your archive page by adding more blocks and then configuring them in the right-hand menu. For example, you may want to add an Image block and show a custom logo or add a search bar so visitors can look for a particular post.

When you’re happy with how the template looks, click on the ‘Publish’ button and then click on the ‘Save’ button.

The page you created earlier will now be using the new archive template. You can either update or publish the page, and then visit your WordPress website to see the custom archive page live.

The block-based editor lets you create a simple custom archives page. However, it doesn’t work with every theme and you’re limited to the built-in WordPress blocks and tools.

If you want to create a completely custom archives page that works with any WordPress theme, then we recommend using a page builder instead.

SeedProd is the best drag-and-drop page builder for WordPress. It comes with more than 180 templates and ready-made blocks including a block that shows all of your website’s posts.

First, you need to install and activate SeedProd. For more details, see our step-by-step guide on how to install a WordPress plugin.

Note: There’s a free version of SeedProd that allows you to create custom pages if you’re on a tight budget and just getting started. However, for this guide we’ll be using SeedProd Pro since it has lots more templates and blocks.

After activating the plugin, SeedProd will ask for your license key.

Adding the SeedProd license key

You can find this information under your account on the SeedProd website. After entering the key, click on the ‘Verify Key’ button.

Once you’ve done that, go to SeedProd » Landing Pages and click on the ‘Add New Landing Page’ button.

Creating a new SeedProd page

You can now choose a template for the custom archives page.

SeedProd’s templates are organized into different campaign types like ‘lead,’ ‘squeeze,’ and ‘coming soon.’ You can click on the tabs at the top of the screen to filter the designs based on campaign type. 

SeedProd's professionally-designed templates

To preview any design, simply hover your mouse over that template.

Then, click on the magnifying glass icon that appears.

Previewing a SeedProd template

When you find a design that you like, click on ‘Choose This Template.’ We’re using the ‘Blank Template’ as it lets us start with a clean slate, but you can use any template you want.

Next, go ahead and type in a name for the custom page. SeedProd will automatically create a URL based on the page’s title, but you can change this URL if you want.

When you’re happy with the information you’ve entered, click on the ‘Save and Start Editing the Page’ button.

How to create a custom archive using SeedProd

This will load the SeedProd page builder interface. It is a simple drag-and-drop builder that shows a live preview of your page to the right.

You will also see block settings on the left.

How to create a custom archive using SeedProd

To start, you’ll need to choose a layout, which will you organize your content into columns.

In the ‘Choose your layout’ section, simply click on the layout you want to use. You can choose any layout, but we’re using the full-screen layout in all our images.

Choosing a layout for your custom archive page

After choosing a layout, you can start adding blocks to the archives page.

The left-hand menu shows all the different blocks that you can drag onto your design. Since we’re creating a custom archive page, we’re going to add a Posts block.

In the left-hand menu, start typing ‘Posts’ into the search bar. When the right block appears, drag and drop it onto your layout.

Adding a 'Posts' block to a custom page using SeedProd

This block will now show the title for all your posts.

It also has a ‘Continue Reading’ link that visitors can click to read each post in full.

How to add posts to a custom archive page in WordPress

By default, this block shows all of your posts, but you can change this to only show posts that have a particular category or tag, or posts published by a specific author.

To make this change, simply click to select the ‘Posts’ bock in your layout and then use the settings in the left-hand menu. For example, in the following image we’re only showing posts from the ‘Marketing’ category.

Filtering your archive posts based on category

You can also change how the posts are organized in the block. For example, you might show posts based on when they were published, or how many comments they have.

To change the order of your posts, simply scroll to the ‘Order By’ box and then choose a new option. By default, SeedProd shows posts in ‘ASC’ order, which stands for ascending.

To arrange your posts in descending order instead, simply open the ‘Order’ dropdown and choose ‘DESC.’

Showing posts in descending order

After that, you can scroll to the ‘Layout’ section and change how the list of posts is displayed.

For example, you can split the posts into multiple columns by typing a new number into the ‘Columns’ field.

Creating a multiple column archive page

You can also change how many posts are included in the list, add or hide the post excerpts, and change the ‘Continue Reading’ text.

When you’re happy with how the list of posts looks, you can add more blocks to your archives page and then customize those blocks using the settings in the left-hand menu.

For example, you may want to encourage people to follow you on social media by adding a ‘Social Profiles’ block.

Adding social profiles to a custom page

When you’re happy with how the page is setup, it’s time to publish it by clicking the dropdown arrow next to ‘Save’ and then selecting ‘Publish.’

Your custom page will now go live on your WordPress blog.

Publishing your SeedProd custom archive page

To help visitors find it, you may want to add the archive page to your navigation menu or your website’s footer.

We hope that this article helped you create a custom archives page in WordPress. You can also go through our guide on the best social media plugins for WordPress and how to create email newsletter.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

79 CommentsLeave a Reply

  1. Great article.

    I have maybe a silly question. Is there any SEO benefit if I have a custom archive page or even archive.php. in the theme folder?

    Or is it the same as creating a new page with url mydomain/archive and listing all my posts and pages based on the categories I want. This is what I would prefer.

    Thank you

    • Having a custom archive would not give an SEO benefit, it would be personal preference and you can use your second method if you wanted.

      Admin

  2. Hi–my site is using the Genesis framework an it has a child theme. I tried to implement the page-archive.php, but I skipped the part where I copy the page design from page.php and I’d hope it would work regardless.
    So when I tried implementing this, when I go to my Archive place, it gives an Internal error, ie. 505 and cannot find the page itself.
    How does this work with Genesis?

    • Adding a custom page template would be the same as with any other theme, it seems like there may be a problem with the code you’re using to create the archive page.

      Admin

  3. Firstly, Thank you so much. But I can’t see any sidebar in this page. In normal pages it is visible. I will be so happy if you can help me out to display sidebar here too. Thanks In advance!

    • For the sidebar, sadly that is theme specific for what needs to be added, if you reach out to your theme’s support they should be able to let you know how they have the sidebars added to the templates.

      Admin

  4. Hi,

    This was a great tutorial. However, the CSS code for the categories does not seem to work. It is shown as a list with categories and subcategories. Where do I embed the code that you have given in the style.css file? What is meant by make it appear inline? It would be great if you could help me resolve this?
    Regards,
    Vijay Sundaram

  5. Thank you for this helpful tutorial. I do follow along and have my custom archive page up. However, I still get the default WP archive under my custom settings. Could you please have a look and tell me what have I done wrong?

    Thanks for your kind reply.

    —Woolker Cherenfant

  6. I wonder if anyone can help?
    hopefully someone might be able to help with an unusual problem that I have noticed – and it appears to have been occurring since Nov 2017 or before…
    For example…
    this url has been generated/created and I don’t know how or why… it seems that with two categories if I take a ‘whole’ url and copy and paste that after the category part only url then it will resolve… (and has been indexed!)

    ie

    I think this has only happened with (archive) pages…

    To make matters worse these urls have been indexed by Google. I don’t know if a plugin has caused this or something else…

    Note the single ‘/’ in the second part of the url…

  7. Wonderful tutorial! Thanks so much.

    Quick, I hope, question: I used your instructions for adding “Adding a List of all Categories.” How can I get my list itself to show justified inside the space, instead of left aligned. Thanks for any help.

  8. This worked great, but I want to display an actual snippet of the archived pages instead of just a list. Is there a way to do that?

  9. Thanks for this useful article, I have one problem Add code to my theme’s style.css file, Where should I paste it exactly ? because I’ve tried to paste anywhere but nothing change!

  10. Can this be done with a free WordPress account, or do you need the customising options of one of the paid plans?

    Thanks if you can let me know :)

  11. Hi !

    I’m preparing a news site with WP theme but I have a GREAT question about archives, maybe you’d be able to give me your opinion thanks to your experience.
    The site must give a new version everyday (relating to the paper edition) and offer an archive page which allows to find the old editions as it was published the day ‘d’. Plugins in WP allow only to have articles by date, so we have a list of the old artilces for a specific date but not the whole edition (a complete copy of the site as it was published at a ‘d’ date). Do you know any plugin for WP to ‘make a copy’ of a site so it’d be possible to link every ‘copy-date’ with a date in the calendar table? or an archive plugin to have automaticly the old editions ? Is it possible to have a folder (in the WP repertory) which contains all the articles of an edition ? so I can link each folder to a date in my calendar table ?
    – Do you have in your favorite lists a good WP theme for newspaper ?
    Thanks in advance !

  12. Upload the page-archive.php in your WordPress themes folder, and you have created an Archives page template.

    I am having difficulty with this part. How do I upload the page-archive,php in the wordpress themes folder?

  13. Hi there

    This worked great for me! Thank you.

    One thing though, My list of archives will not show on mobile devices. I am currently running the WPTouch plugin for mobile users.

    Could you advise how to resolve this please?

    Thanks

  14. Hi, is there a way just to list certain categories i.e. exclude some categories from the list?
    Thank you.

    • yes you can use wp_list_categories function like this.

      <ul>
      <?php wp_list_categories('exclude=4,7&title_li='); ?>
      </ul>
      

      Replace 4,7 with the IDs of categories you want to remove.

      Admin

  15. Hello,

    I have registered different CPT.

    I have created a page template which list posts for a given CPT.

    I have put a query (query_posts(‘posts_per_page=-1&post_type=my_cpt_one’); before the loop.

    Than I have selected the page template when creating the page archive of the given CPT.

    How to use the same page template for each CPT?

    For example, I want three page archive named “my cpt one”, ‘my cpt two”, “my cpt three” which calls the same page template.

    Of course, i could use three page templates, but I’m looking for a way to use only one page template.

    My problem is to set in the query the post type slug.

    Is that possible?

    Cheers.

  16. That’s because template tag wp_list_categories generates a bulleted list of your categories by default. Child categories are displayed indented under their parent categories. You can use
    &lt?php wp_list_categories('title_li=&style=none'); ?> to display your categories with line breaks.

  17. Cant we make it without plugin? I just want to list my all of posts in one page. No matter there is 10000 posts or 2 post. i just want to list ?

  18. I would like to create an yearly/monthly archive of a specific category. Is it possible using with a filter for a specific category?

  19. I am looking high and low for my themes folder… I know a
    little more than basic for coding, but working with WordPress has been
    difficult for me trying to find everything. Maybe it is not compatible with
    what I have.

    I am trying to have a page on my blog for a list of Archived
    blog posts that looks like this: https://www.wpbeginner.com/archives/ with year,
    month, and categories. I have a lot of posts. I tried the plugin http://wordpress.org/plugins/archives/
    for Archives and created a page and added [archives] and all I got was a whole
    list of all my blog post titles. It was long.

    I found this post https://www.wpbeginner.com/wp-tutorials/how-to-create-an-archives-page-in-wordpress/
    but I cannot locate a themes folder in wordpress. Maybe I have the wrong set
    up?

    I am hosted with one of the outside WordPress recommended
    hosts using WordPress for my blog. My theme is Twenty Ten.

    If someone could help me get the result I am looking for,
    that would help me a lot. Thanks!

    • If anyone is looking for an answer to this. The path is :

      WordPress root folder -> wp-content -> themes -> Twenty Ten

  20. I have just added archive page to my site but want the posting pages, dates and categories hidden and only visible when you log in. My post pages currently show blocked but I see them in public view. Can these be hidden???

  21. Works Perfectly, When I tried to add &show_count=1 then the count breaks the category listing .. can you help with the css needed for the count to display properly.

  22. Very helpful. I have just added archive page to my blog site
    Question: Would this template file get deleted during theme upgrade?

  23. I love this tutorial! However, I want my tag cloud to be separated by commas. Here’s the code I used for the tag cloud (I don’t want the font sizes to change so I kept the smallest and largest at the same size)…

    Tags

    Any tips?

    • Your code was stripped by WordPress comments. This snippet should work:

      <?php
       $args = array(
          'smallest'                  => 8, 
          'largest'                   => 22,
          'separator'                 => ','
      );  
      wp_tag_cloud($args); 
      ?>
      

      Admin

  24. Hi, thanks for the great tutorial!

    I did set-up the list of all categories which looks perfect. The only problem I have is that if I add any content to that page, the list of all categories is always placed at the bottom. Is there a way how I can set it to the top of the page?

  25. Hello guys,
    First of all, thanks for this amazing website. I have used this post to create the archive but since yesterday the archive page is no longer working. I have not changed the code and now the only thing I see is By date. after that, I cannot see anything, not even the sidebar or the footer.
    My template is running locally as I am building it. Any idea what could have caused that?

    thanks

  26. I copied your given code but my site is not showing any kind of archives. Your code has an error. 0n line # 16 you are closing ?>php then starting html, which will simply print html on page. I activated plugin, corrected the code but still my page is empty. Let me correct, thanks.

  27. Awesome. I’ve got to bookmark it and come back, but an archves page is something I’ve been wondering about for a bit now.

  28. Great tutorial. Could you clarify something before I begin. I’m using a child theme. Should I add the page-archive.php file within the folder of the actual “theme files” or should I place it within the child-theme-folder? Likewise….Now we need to style this list, make it appear inline and improve their look. Add this to your theme’s style.css file. I’m going to assume I can add this within my child-theme as custom css; is that the correct approach?

  29. I’d like to combine the two archive display ideas above. I have two categories: Cars and Boats. I’d like to show the monthly archives ( with the Compact Archive plug-in) for each. What php do I use? Thanks.

  30. Great tutorial — thanks :) It has worked perfect!

    I copy and pasted the css provided into my css file and it did not change the look at all. Thoughts?

  31. Thanks so much for this really useful post. I’ve just started using a really minimal theme, so this custom archive page is perfect to help navigation. It’s looking good!

  32. Hi,

    Great plugin and easy to use.

    I am trying to use it for a custom posts archive page (only the custom posts to be listed in years, by month.

    Does this work with custom post types at all? Currently it is only listing regular post types.

    With thanks :)

    Nicole

  33. I do not understand where to upload my page-archive.php file. Where is the WordPress Theme folder?

  34. I have created Archives.php and when on the page i click on the archives i don’t get which template is the posts using (custom posts) ,its a mess actually. Could you please help.

  35. i see you are using the_content in the loop, but when you click on a month and see the posts, it is only showing a snippet. Is that controlled via another custom function? Could I instead use the_excerpt?

    TIA, very useful post

  36. Well… This post is quite useful but I got problem… I have Thesis 1.8 theme and I am not able to find page.php file in my theme folder …. Sad… Any ideas…

  37. Syed, you are doing a great job for the beginners, and I think its a great service specially for the very non skilled just like me. Masha Allah and JazakAllah!

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.