How to add an FAQ accordion to your Shopify store

An "accordion" is a great way to display the FAQ to your ecommerce store, since it allows the user to quickly and easily browse your FAQ without much scrolling. And luckily, it's simple and easy to add one to your store!

Demo

This is the first question

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin tincidunt cursus eros et porta. Sed a elit tellus. Vivamus imperdiet nunc non orci faucibus, a ornare metus ultrices. Nulla vitae sapien in sapien elementum convallis.

This is the second question

Cras varius faucibus bibendum. Curabitur sit amet arcu aliquam felis ultrices rutrum. Ut auctor neque augue, in egestas elit blandit pellentesque.

This is the third question

Suspendisse ac rutrum nibh. Praesent sit amet tempor neque. Donec sed tortor felis. Nunc eu eros urna. Nunc vulputate porta ligula id mattis. In tempus massa eu risus congue commodo. Phasellus quis sapien ac lorem suscipit feugiat.

I've made this video tutorial walking you through how to add this FAQ accordion to your Shopify store. The steps are also written below.

Step 1: Download the ZIP file of necessary assets.

Click the link above to download now. Unzip it, and then upload the 3 files inside to the "Assets" folder of your Shopify template editor. If you're not sure how to do this, watch the video above and I'll walk you through it.

Step 2: Create a new page template in your Shopify template editor

You can name it whatever you want, but I recommend something simple like "faq."

Step 3: Paste the following code at the very bottom of your new page template:

<script type="text/javascript" src="{{ 'jquery_accordion.js' | asset_url }}"></script>
<script type="text/javascript">
$(document).ready(function() {
$('.accordion').accordion({
defaultOpen: 'section1',
cookieName: 'accordion_nav'
});
});
</script>
<style>
.accordion {
margin: 0;
padding:10px;
border-top:#f0f0f0 1px solid;
background: #cccccc;
text-decoration:none;
color: #000;
font-size:1em;
position:relative;
}
.accordion-open {
background:#50b3da;
color: #fff;
}
.accordion-open span {
display:block;
position:absolute;
right:3px;
top:25%;
padding:10px;
}
.accordion-open span {
background:url('{{ 'minus.png' | asset_url }}') center center no-repeat;
}
.accordion-close span {
display:block;
position:absolute;
right:3px;
top:25%;
background:url('{{ 'plus.png' | asset_url }}') center center no-repeat;
padding:10px;
}
.faqpage div.container {
padding:0;
margin:0;
}
.faqpage div.container {
max-width:100%;
padding:5px 0;
}
.faqpage div.content {
background:#f0f0f0;
margin: 0;
padding:10px;
font-size:.9em;
line-height:1.5em;
}
.faqpage div.content ul {
padding:0;
margin:0;
padding:3px;
}
.faqpage div.content p {
padding:0;
margin:3px 0 10px;
padding:3px;
}
.faqpage div.content ul li {
list-style-position:inside;
line-height:25px;
}
</style>

IMPORTANT: On the new page template you just made, find a <div> tag above the {{ page.content }} tag. Add the class "faqpage" to this div. When finished, it should look something like this (if there are other words between the quotes already, that's fine--don't remove them):

<div class="faqpage">

If this is confusing, watch the video above.

Step 4: Create a new page called "FAQ." Save, then change the page to the new template.

Step 5: Paste the following code into the page:

<div class="accordion" id="section1">Question 1<span></span></div>
<div class="container">
<div class="content">
<p>This is the answer to question 1.</p>
</div>
</div>
<div class="accordion" id="section2">Question 2<span></span></div>
<div class="container">
<div class="content">
<p>This is the answer to question 2.</p>
</div>
</div>
<div class="accordion" id="section3">Question 3<span></span></div>
<div class="container">
<div class="content">
<p>This is the answer to question 3.</p>
</div>
</div>

Step 6: Edit the contents to your heart's content!

Need help?

If you need help installing this feature on your site, I recommend that you post a job on Storetasker. Storetasker is a platform that will connect you with vetted Shopify developers who can give you a reasonable quote for small store updates like this.

Get help from Storetasker

Note: The Storetasker link above is an affiliate link, which means that if you hire a developer to help you install this code, I'll receive a commission at no extra cost to you. If you choose to use this affiliate link, I'm grateful for your support!

Back to blog

87 comments

Hi Leighton,

Thank you for this fantastic tutorial. The accordion works like dream.
May I ask you if it is possible to link to an FAQ item from another page using <a href (e.g. example text) so that the accordion is open for the FAQ item that it links to?

Many thanks.

Evan

Hi Leighton,

Thanks for the tutorial. I just have one slight issue with the accordion. It seems when all accordions are collapsed, the accordions are only half the page width and some of the question text is missing off to the right. Once you click on a question and it expands everything becomes full width. This only happens on a desktop. You can see what I mean here: http://rawtek.myshopify.com/pages/faqs
Password is “testmode”

On a mobile phone the accordions are full width and the questions automatically take up multiple lines so that all the text is visible.

Do you know how to fix this?

Thanks

Nick L

Hi Leighton,

Your instructions have worked amazing on the desktop version of my site but the mobile version isn’t working well. When clicking on the PLUS sign, it doesn’t stay open and closes right back up again.

Not sure how to fix this, can you assist?
Will need a store password to get in as it is not launched yet so please write back to me and I’ll get back to you with the password right away

Thanks in advance!

Kim Teo

Hi Leighton,
Thanks a lot for this instruction but could you please tell me why I am getting ‘’contains illegal characters’’ warning when I try to upload the assets?
Kind regards,

Ibrahim

Hello Mr. Taylor,

First off, thank you in advance for any and all help you have given me so far while building websites for my clients. I had a question in regards to your FAQ accordion and how it functions in relation to the footer.

Essentially, I’ve got the FAQ accordion working properly, but the page that the accordion is on is having some layout issues. The problem is, is that since the content is hidden, but exists, on the page when someone lands on the page. The issue is that the footer now floats at the end of the content, and you can scroll way past the bottom of the page. I was just curious if you are able to fix the footer at the bottom of the page so that it doesn’t float up and down depending on the accordion clicked…

Thank you in advance for all your help!
- Matthew Farleo

Matthew Farleo

Leave a comment