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.
Why Create a Custom Archives Page in WordPress?
WordPress has an archives widget, but showing all 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.
You can even add your site’s categories and tags to the custom archive page.
In this way, you can help visitors find interesting content and encourage them to take a look at your older posts, which will increase your pageviews and reduce your bounce rate.
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 are 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 are 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. In the right-hand menu, click on the ‘Page’ tab and then select the link next to ‘Template.’ The exact link text may vary depending on the template you are currently using.
A popup will now appear with your current template.
Simply go ahead and click on the ‘New Template’ icon.
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.
The template editor works similarly to the standard WordPress 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.
Since we are creating a custom archives page, you will 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.
Clicking on any of these links will take the visitor to a new page showing all the posts published during that period.
To add an Archives 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.
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 will typically want to choose ‘Month’ or even ‘Year’ so that you don’t overwhelm visitors with a long list.
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.
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.
You may also want to add a list of categories so that visitors can explore your posts based on their content and not just the date. This can help visitors find interesting content, which will keep them on your website for longer and improve your WordPress SEO.
To add this block, simply click on the blue ‘+’ button and type in ‘Categories List.’ When the right block appears, add it to your layout using drag and drop.
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.
You may prefer to show the child categories indented beneath their parent.
To make this change, just click to activate the ‘Show hierarchy’ toggle.
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.
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 small circle icon and then choosing one of the options under ‘Styles.’
You can also use show the total number of posts next to each tag, and change the number of tags that are included in the cloud.
Simply click on the small cog icon and then make your changes in this section.
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.’
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.
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.
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.
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 fewer words, simply use the ‘Max number of words in excerpt’ settings.
After you have 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.’
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.
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 that visitors can look for a particular post.
When you are 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.
Method 2: Creating a Custom Archives Page Using Seedprod (Recommended)
The block-based editor lets you create a simple custom archives page. However, it doesn’t work with every theme, and you are 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 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 is 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 will be using SeedProd Pro since it has lots more templates and blocks.
After activating the plugin, SeedProd will ask for your 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 have done that, go to SeedProd » Landing Pages and click on the ‘Add New Landing Page’ button.
You can now choose a template for the custom archives page.
SeedProd’s templates are organized into different campaign types like lead squeeze, maintenance mode, and coming soon. You can click on the tabs at the top of the screen to filter the designs based on campaign type.
To preview any design, simply hover your mouse over that template.
Then, click on the magnifying glass icon that appears.
When you find a design that you like, click on ‘Choose This Template.’ We are 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.
For example, you may want to add some relevant keywords, as they can help search engines understand what this page is about.
For more information, please see our guide on how to do keyword research for your WordPress blog.
When you are happy with the information you have entered, click on the ‘Save and Start Editing the Page’ button.
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.
To start, you will 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 are using the full-screen layout in all our images.
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.
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.
By default, this block shows all 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’ block in your layout and then use the settings in the left-hand menu.
For example, in the following image, we are only showing posts from the ‘Marketing’ 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.’
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.
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 are 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.
When you’re happy with how the page is set up, 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.
To help visitors find the archive page, you may want to add it to your navigation menu or your website’s footer.
We hope that this article helped you create a custom archives page in WordPress. Next, you may want to see our expert picks for the best social media plugins for WordPress or our guide on how to create an 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.
Syed Balkhi says
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Martin says
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
WPBeginner Support says
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
Aileen says
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?
WPBeginner Support says
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
Rahul Lakra says
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!
WPBeginner Support says
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
Vijay Sundaram says
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
John Paul says
Is it possible to filter the archive to just one category of a post?
Woolker Cherenfant says
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
Woolker Cherenfant says
Never mind. I got it solved. Thanks.
—Woolker Cherenfant
WPBeginner Support says
Hi Woolker Cherenfant,
Unfortunately, its hard for us to detect any mistakes. We will recommend you to try the tutorial again and see if this helps.
Admin
Neil says
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…
WPBeginner Support says
Hi Neil,
Please see WordPress troubleshooting tips to figure out what caused this issue.
Admin
Subhash says
Dear Sir,
How to customize the look of default archive page. I want to add 2 sidebars instead of 1 sidebar. I am talking about this page https://www.wpbeginner.com/2017/06/
Thanks
WPBeginner Support says
Hi Subhash,
For that you’ll need to edit your theme’s date.php or archive.php template files and call your sidebars in the template file.
Admin
Subhash says
Hi Support Team,
Thanks for guidance about this.
Have a good day!
Regards
Subhash
Nyx says
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.
Dave Ward says
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?
Mohammad Kharoofa says
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!
Emma says
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
WPBeginner Support says
Hi Emma,
Please see our guide on the difference between self hosted WordPress.org vs free WordPress.com blog.
Admin
Andry says
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 !
Aaliya Thahseen says
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?
WPBeginner Support says
You can do that using an FTP Client. Your WordPress hosting provider will provide you login details.
Once connected to your site using FTP, you need to visit /wp-content/themes/ folder. There you need to open your theme folder and upload the file from your computer. See our guide on how to use FTP to upload files to WordPress.
Admin
Cely says
Hello, I’ve been done the steps of uploading the php on the theme folder. then I went back to my wordpress, the templave “archives” is still not there. could you please help me.
dwieyoko says
how to create search form and display search result on archive.php.. ?
Kyran Wallace says
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
Pete says
Hi, is there a way just to list certain categories i.e. exclude some categories from the list?
Thank you.
WPBeginner Support says
yes you can use wp_list_categories function like this.
1-click Use in WordPress
Replace 4,7 with the IDs of categories you want to remove.
Admin
loic says
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.
Avdhesh Arya says
Thanks so much! This has helped a lot in creating a custom Archives page for my website.
WPBeginner Staff says
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
<?php wp_list_categories('title_li=&style=none'); ?>
to display your categories with line breaks.Cara Zimmerman Seekell says
My categories look sort of all over the place, any idea why?
yasinatagun says
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 ?
Luca says
I would like to create an yearly/monthly archive of a specific category. Is it possible using with a filter for a specific category?
April says
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!
Essekia Paul says
If anyone is looking for an answer to this. The path is :
WordPress root folder -> wp-content -> themes -> Twenty Ten
Member At Blc says
I have added the archive page to my site but I only want to see the date / categories and archives in the members only section Is this possible?
Member At Blc says
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???
Avinash says
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.
Pawan Kesari says
Very helpful. I have just added archive page to my blog site
Question: Would this template file get deleted during theme upgrade?
WPBeginner Support says
Yes it will, it would be better to create the template file in a child theme.
Admin
Charlie says
Nice howto, but is there any way to manage something like this in a plugin?
Nicole says
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?
WPBeginner Support says
Your code was stripped by WordPress comments. This snippet should work:
1-click Use in WordPress
Admin
voltima says
Thanks a lot for a very easy to understand ‘how-to’.
Thomas says
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?
Archurst O. A says
Is there a way to show per day or week instead of the monthly archive style?
sameera says
Thanks. Grete work.
Nad' says
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
WPBeginner Support says
seems like a coding error in your template is breaking the template right after it displays your archives by date.
Admin
meki says
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.
Meki says
I do not have a page.php as well.
Meki says
any reply?
WPBeginner Support says
Meki, we are sorry but we are unable to understand the issue you are facing. As for page.php file you may be using a Theme Framework so your theme may not show a page.php file. Please contact your theme author and ask them which file you should use as the base for your custom page templates.
Craig Parker says
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.
Kelly says
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?
WPBeginner Support says
Yes this is the correct approach.
Admin
gary bvings says
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.
Maschil says
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?
WPBeginner Support says
It depends on where you copy pasted your CSS.
Admin
Kate Reid says
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!
nicole holgate says
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
Emily says
Ok I think I’ve figured out where to upload it, but now it’s not supporting my notepad file.
WPBeginner Support says
Make sure that your file name is page-archive.php and not page-archive.php.txt or page-archive.txt
Admin
Emily says
I do not understand where to upload my page-archive.php file. Where is the WordPress Theme folder?
Sheeba Yousuf says
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.
Chris Raymond says
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
WPBeginner Support says
the_excerpt will show a short snippet of the posts. the_content is used to display full posts. See this guide Full Post vs Summary (Excerpt) in WordPress Archive pages.
Admin
real name says
good work man …kepp it up
Atanas says
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…
WPBeginner Support says
Thesis is a theme framework you need to check Thesis Documentation to learn how to make these changes.
Admin
Saranya says
Great tutorial. It helped me a lot as a beginner. Thank you so much.
Syed Irfan says
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!