Dynamic pages can add unique value to a site, though they might also cause problems with crawling and even indexing your pages. To avoid this, take a look at some of our suggestions on how to make dynamic pages more search engine friendly.
PLEASE! Before you read this article, take a look at our simple guide to a Quick SEO audit in under an hour. You can find and fix any issue stopping your website from ranking well in Google.
Dynamic pages and search engine bots
A dynamic page can be two things: Firstly a web page that displays different content every time it’s opened. A page might change with the time of day or depending on the user that is accessing it. Take your Facebook feed as an example of dynamic content. Or the search page of Twitter – the URL stays the same but the content changes.
The second example of a dynamic page is one that is generated by a user input, for example, if you’re on an e-commerce store and searching by filter, you can introduce lots of filters into the URL, for example:
If you use dynamic pages on your site, it’s important to know that some search engine spiders do not crawl dynamic pages as well as static pages. Your site might therefore not be indexed as well as it could be if the pages were static.
Google used to have a guideline telling site owners not to use ““&id=” as a parameter in your URLs” because they excluded these pages from their index altogether. However, times are changing and Google now indexes such pages, as well as having their own dynamic pages.
Ways to make dynamic pages SEO friendly
Though Google now does index dynamic pages, Googlebot still struggles to crawl these types of pages, so there are a few things you should do if you want to make your dynamic pages more search engine friendly.
1. Dynamic URLs with a high number of parameters are generally problematic for search engines, so it’s advisable to rewrite dynamic URLs into user-friendly clean URLs. A fixed URL, i.e. yourwebsite.com/latest-news/ is far better than yourcontent.com/index.php?=2017-01-11-news
2. Keeping the number of URL parameters to one or two makes it easier for search engine spiders to crawl your site, so limit this where possible.
If you have filters on your site (i.e. you’re an e-commerce store for example, make sure you set all filtered URLs with a canonical back to the main page and set these pages as ‘noindex,follow’. In the example below, all these pages should be canonicalized back to the URL: yourwebsite.com/store/jackets/
3. Only one version of any given page should be available to search engine spiders, so if you create static pages that are copies of your dynamic pages, this isn’t good practice. If you do however, ensure you notify Googlebot or other spiders that they are a copy by using a robots.txt file
4. Create sitemaps to help Google find your pages, this can be managed via Google Search Console.
Nowadays search engines are more sophisticated than ever before and so dynamic pages do get crawled, it just takes much longer for them to be fully indexed than static pages. Google understands that dynamic pages are of value, though if you are going to use them then you should make them easier to crawl where possible.
Best practice example
Let’s say you run a furniture store and sell your products online. You’ve got a homepage, category pages and product pages. You’ve also got the ability to search and filter. You’re adding and removing products on a regular basis. Plus, you update your blog regularly and bring that content into your product pages.
There are a lot of URLs, constantly changing content and thousands of filter variables.
However, this is a fairly normal set-up and nothing to be too worried about.
Tips for dynamic pages and SEO
1. Don’t spend a lot of time worrying about or optimising your homepage; make sure it’s clear, loads quickly and helps a user get to where they want to go.
2. Make sure you have as much static content on your category pages. For example, if you have a brand page and also a product-type page, let’s say: Tempur for the brand and Pillows for the product. Make sure you have relevant and optimised copy on these pages to balance out the fact that the products on these pages will mean the page content will always be changing. However thanks to your copy (including links to subcategories, Tempur pillows and Tempur mattresses for example), your page will be ‘less’ dynamic and more balanced.
3. Don’t focus on the pages generated when you filter. If people search and then filter, some platforms will generate loads of very similar URLs, which can hurt your SEO but only if you rely on these pages as landing pages. Make sure the string generated in the URL is as human-friendly as possible, i.e. brand=tempur&category=pillows rather than brand=98&category=292 and that these pages are set with a meta directive of ‘noindex,follow’.
4. Finally, focus on your product pages. These products will usually only be surfaced in search engine results pages when people are looking for that exact product. So, optimise-the-hell out of these pages. Make sure that you monitor your rankings because users clicking on your result are much more likely to be shown what they’re after and consequently buy your product.
5. Don’t have dynamic content for the sake of it. On your product page don’t have blog content there – you’re taking someone away from your product to read a blog – you might never see them again! Use your blog content to drive traffic to the pages on your site that drive more business. Don’t have your ‘money’ pages link to traffic driving pages.
Avoid dynamic URLs. For URL variations created by filters, use the meta directives shown above. Put as much useful static content on dynamic pages as possible. Remove as much redundant dynamic content from static pages as possible.
Before you go, please check out our Technical SEO audit service. We promise you, it’ll help your site leap up the rankings.
I am looking for a deeper understanding on how to get Google to not only index the pages but also to get them to rank high for certain keywords.
Given the example of a clothing store web site. I have a page with the following URL: http://www.greatclothes.com/footwear?type=xyz.
“xyz” can be sneakers, work boots, dress shoes, etc. We have php scripts that, based on the parameter in the url, generate the content. The content will always be the same for every user.
This technique allows us to manage the products in our database and have the content of the page updated automatically.
Since it is one HTML page in our back end (WordPress), how would we go about getting each page to be ranked for different keywords?
Hi Mark, thanks for your question.
Query strings aren’t an issue for Google and your example URL would work. However I would make the case for a better URL structure that doesn’t involve a query string.
If you have multiple query strings, i.e. &?type=xyz&size=9 then ensure you set the canonical in your header.
You can also tell Google to ignore specific query parameters in Google Webmaster Tools under Crawl > URL Parameters.
In order to give you a case-specific reply, I’d need to take a look at your website. All the best.
Hi Ben, Thanks for the reply.
The example I gave was just that, an example. I’d prefer not to get into the details of the page(s) here but would like to talk to you directly if possible.
The situation is that we are a WordPress based site and we have a set of pages where the “products” can change from time to time as well as the highlights of the products. Rather than having to use our tech team to update static pages we are storing the details in a database and plugging them into the page based on the parameter in the URL. For now there is only one parameter in the query string and each one will cause the page to generated specifically for that product. It will always generate the same page and it will not be duplicated on any other url.
Telling Google to ignore the parameter is not optimal, in my opinion, as it truly differentiates the page from other versions.
I have been getting push back from others in the company as they don’t see how we can get each of the individual pages to rank highly based on their own specific keywords or meta description.
Have the same problem with the query string: vehicle-listing/kia?year=2016. Nearly half of all the total of my links were indexed. e.g. Web pages
6,519 Submitted and only 802 were Indexed. Need your help!
I did a website analyzer of my site https://www.guideyourhealth.org and it said that my content SEO was low as in under 500 words per page. My blogs are between 800 and 1100 words, because Wix uses the blog as a dynamic page is it hindering my content average?
Unfortunately, Wix is your limiting factor – it’s not a great platform for SEO in general. Your blogs are probably fine, I don’t know what analyzer you used but any free tool isn’t worth your time.
The SEO audit challenge isn’t working… tried all possible variations!
Please help me. We have the same issue as the first comment (Mark Rosen). I don’t understand the reply, which was, “Query strings aren’t an issue for Google and your example URL would work. However I would make the case for a better URL structure that doesn’t involve a query string.”
1. When you say “your example URL would work”, how is this possible? It currently isn’t indexable.
2. When you suggest to “make the case for a better URL structure that doesn’t involve a query string”, what do you mean? (Do you mean “don’t use dynamic pages”?)
Really appreciate any help you can give me here.
Really informative, thanks for sharing this!
I have a website with dynamic content, its a news website, what should I do to make it more SEO friendly because my urls are always same but the content keep changing owlynews.com/newslist
I have one query for real estate kind of website we do have many search filters like Property type, area, price range, no of bedroom and much more we need to implement all type of search query concepts how user search if the filter is 4 + then url structure gets collapsed at that time what to do.
I have a concern, does google recommends to show different page content for user and bots.. .ideally as per Google pages should have same content for users & bots for both versions desktop and mobile… When i have a dynamic content the list of section will keep on changing on every refresh for all cases… which i assume is not as per google cloaking standards. For category and product i can have dynamic content cause i will be using more of static content there.. but can i have dynamic content for home page which will change everytime you hit the url.
Will a page with the URL as below be indexed?
That’s not an actual page tho but I just want to know if dynamic pages with an the I’d as part of the URL be indexed.
Is it bad or ok?
I have no idea how to fix my issue. In the SEO Basics dynamic page section I select Title, Subtitle and Image for keywords, search results and social and my “let search engines index this page” is active. I went to Google search console and did the URL inspection of one of my links. It says it was crawled but not indexed. There are no errors and explanation. So I resubmit it for indexing but I posted that article over a week ago so I don’t understand what else can I do to make Google index my page. My main static pages are fine but my dynamic pages just won’t get indexed. Resetyourworld.org. Can you help?