User generated content optimization for SEO - Case study
Our global community creates its own unique profile on our platform. It creates exponentially growing user generated content. At the start of our platform, we were under the assumption that Google would be able to rank these profile pages high. It turns out that more is needed for this. Below is a case study about the lessons learned to better optimize user-generated content for Search Engines.
Focus on high-quality user generated content
Not all users create valuable content that search engines can use to rank. They usually need help with this.
Provide high quality user generated content
Content must always be of good quality to rank. Most users need help with this.
Optimize the use of your crawl budget
Make a clear choice about which content you want to rank and which content you don't want to waste your crawl budget on.
Cluster user generated content
Make sure you can cluster as much of the same user generated content as possible to reinforce each other.
Keep your HTML clean and simple
HTML should always be clean and simple, but especially when it comes to unique user generated content.
Let the user contribute to your PA (Page Authority)
Make use of all means to let your users contribute to the PA of the page where they publish their content.
What is user generated content?
User generated content is information in the form of text, images, videos, or music published by a user on a platform or site. In our case, our users create a public profile that consists of:
- (Full) Name
- Profile photo
- (Profile) header photo
- Short description of what you are good at
- Hashtags related to your expertise
- Long description of what you do and what interests you
- Available days and times
- Mastery of languages
- Reviews of people
- Additional photos and videos
- Written articles
- Upcoming or given webinars
Our profile pages are similar to other platforms that mainly use user generated content such as:
LinkedIn where users can create a profile page to profile themselves in business
AirBNB where users can offer their house or part of it for rent
Tripadvisor where people can tell something about a location they have visited and offer services such as photo tours.
At the start, we took the above and other platforms as inspiration and proof that unique user generated content can be ranked within the different search engines. This proved to require more than we initially suspected.
Provide high-quality user generated content
In our case, we ask our community to fill in the most complete profile possible. We assumed that this is fun to do, and people like to present themselves as good and complete as possible. We made two wrong assumptions here.
No matter how intuitive your user interface is, most users need help creating their profile and have trouble telling something about themselves.
Rarely do users complete their profiles in one go. It requires multiple sessions and reminders.
After a few weeks of being live with our platform, the number of new users continued to grow, but the search engines ranked no profile. We were aware that the search engines would need time, but when there was no visible improvement after four months, we decided to analyze all profiles.
It turned out that only a few users had partially or fully filled in their profiles. And most of the users had not even filled in anything at all - or just a few details - and only created an account.
Help with creating profiles
We decided that we needed to make some improvements to create better user generated profiles.
Ask a lot of relevant onboarding questions that inspire new users to tell something about themselves.
Visually show the user how many percent of their profile is complete and what they can still add to their profile.
Send reminders by email and via in-App messaging with what is still missing in their profile and why it is important for them to add it.
Three months after the implementation of the above, we analyzed all profiles again and experienced a significant improvement in the profiles. In total, we achieved an increase of complete profiles of 62%, and the almost complete profiles had increased with 12%.
When comparing the previous period with the period after the implementation of the new onboarding, the differences were even more significant.
"High-quality content is relevant, coherent, and complete."
From passive to active onboarding
With passive onboarding, you leave it entirely up to the user to create content. The user has to understand the context in which the information is used and is not given any direction or clues as to what is or is not relevant.
An active onboarding gives suggestions as to what the user can contribute, has forgotten to fill in, how this is used, why information is important or not, and is given reminders.
As the graphs above show, active onboarding provides significantly better user generated content.
Optimize the use of your crawl budget
Each search engine has a certain budget that is spent on your site or platform to crawl. The spiders of the search engines that analyze your pages and content cost electricity and that electricity costs money.
Depending on several factors such as your DA (Domain Authority) and your PA (Page Authority), the spiders will spend longer or shorter time analyzing your pages and content.
We wanted all of our users' profile pages to be visible within the search results. Only 50% of these profile pages contain little or no content. In theory, it means that it would be impossible to rank them, while the spiders had to spend time on them every day.
Example: Suppose you have 1000 pages on your site with content of which only 100 pages are relevant. If you do nothing, the search engines will take the relevance of the average of all the pages. You devalue the relevance of the 100 relevant pages by making the other 900 pages equally important.
To start with, we have ranked each user profile on completeness. And from that, we said that profiles that do not meet at least the minimum requirements, we found less important for search engines.
Next, we chose from the following options to indicate to search engines which profiles are more relevant:
- You can indicate in links on your own platform that these do not need to be viewed ('no-follow tags').
- You can keep track of all links in robots.txt that you don't want to be indexed ('noindex').
- You can leave out unimportant links in the sitemap you provide to search engines.
- You can make it more difficult for search engines to find links in your site by not including them in your navigation or search results.
No-follow doesn't work within your own sites these days, so that wasn't necessary. And we didn't want to block our users in search results, so no user is in robots.txt.
We did choose to leave profiles that do not meet our minimum requirements out of the sitemap, and always show the incomplete profiles at the bottom of search results.
This way, we gave priority to the best profiles.
Clustered user generated content
When we had succeeded in creating better user generated profile pages and indicated to the search engines what we thought were relevant profiles, we hoped to rank better. However, after some time, there was hardly any improvement to be seen. The suspicion was that our diversity of offerings was too segmented to be of any relevance to the search engines.
Our community consisted - and still consists - of a great diversity of professionals and consumers offering their services and knowledge. These include language teachers, life coaches, gardeners, fashionistas, local guides, and so on.
Our idea was to create clusters but dynamically based on user generated content.
Clustered user generated content based on slugs
Each of these members has its own slug. For example: calltheone.com/en/name of the user
So the slug says nothing about the content of the profile other than what the user's name is. If someone in the search engine searches for "professional life coach", the slug does not contribute anything to the ranking.
In addition, Google, for example, prefers to display search results that are location-related. If someone searches on "life coach New York" it is not logical for google to show a life coach in Singapore.
It left us several choices.
- Cluster all users who know something about life coaching within a particular category. calltheone.com/en/life-coaches/name of the user.
- Cluster all users based on the profession they have filled in. calltheone.com/en/profession/name of the user.
- Cluster all users based on location. calltheone.com/en/location/name of the user.
- Cluster all users by location and profession they have. calltheone.com/en/profession/location/name of the user.
A variant of this is to replace - "name of the user" - with - "brief description of what someone does" -.
We chose calltheone.com/en/profession/location/brief description of what someone does.
The reason for this is that we are clustering everyone with the same profession within the same environment. (Search engines know which locations are close together).
Clustered user generated content based on landing pages
Our members fill in hashtags related to their offer and expertise. They are entirely free to fill in any hashtag they want. This made it possible to search on tens of thousands of hashtags, right from the beginning of our existence.
We wanted an easy way to cluster profiles based on hashtags. So that we could create landing pages for a cluster of related profiles. We, therefore, decided to choose between two options.
Automatic landing page for each hashtag. For example: calltheone.com/en/life-coaches, calltheone.com/en/life-coach, calltheone.com/en/life-coaching, etc.
Manually group similar hashtags under main hashtags. With a landing page for each main hashtag. For example: calltheone.com/en/life-coaches is a landing page for the main hashtag, which includes similar hashtags (life-coaches, life-coach, life-coaching).
Because the number of hashtags continues to grow exponentially, we chose option 2. Option 1 would eventually result in an infinite number of variants. All those variants provide little substantive value for search engines to rank on.
We decided to build a dashboard where arranged by the number of hashtags of the same name, and we could see how many profiles had the same and similarly named hashtags and manually cluster these based on number and importance.
Clustered user generated content based on hierarchy
After we had landing pages that could display a collection of profiles, it turned out that in many cases hundreds - and therefore very soon a multitude - of profiles were displayed. This could eventually lead to infinite scrolling.
Infinite scrolling involves two challenges.
- Which content do you show first to the user and the search engines?
- Loading everything in one go costs (too) much loading time. A significant ranking factor for all search engines.
At this moment there is already hierarchy on pages with profile clusters by the following rules:
First show the complete profiles of people who:
- be available at that time
- speak languages that you also speak
- be closest to you
Then show the most complete profiles of people who:
- are not yet available
- speak languages that you also speak
- be closest to you
Then show the most complete profiles based on:
- a number of other factors that are not necessarily relevant for this article.
The solution for infinite scrolling is simple: Paging with noindex. Paging can be done in two ways. One way is like Google does, by showing follow-up pages at the bottom of the page. The other way is to show a button with "load next page". We chose the latter. But this is not enough.
We blocked the less relevant search results on follow-up pages with noindex in robots.txt.
Clustered user generated content to be ranked with own content
The assumption was that clustered profiles would now also rank much better individually, but we decided to play it safe. By adding our own content in the form of articles to large clusters of profiles, search engines can better analyze what the profiles are about.
Landing pages with many profiles featured unique articles about the expertise they wanted to profile. For example, life coaches featured an article about what a life coach is, what they can do for you, and how they usually work.
It gives search engines a context of what the profiles are about and generates extra organic visitors through the content of the article. A win-win.
The result of clustered user generated content
We could clearly see in the ranking that clustering made a difference, and complete profiles finally became visible in some search results. But to rank within the top 10, more was needed.
Clean and simple HTML for SEO
The profile pages contain a lot of information that is not all equally important for search engines. For example, a search engine does not need to know when someone is available. Or what languages someone speaks.
From a technical point of view, our HTML was neat and tidy. What we didn't realize was that Google reads the code from top to bottom. What's on top is of more value to Google than what's on line 10,000 (if the number of lines of code should be that long).
Very relevant and irrelevant content was randomly added to our HTML code.
We have, therefore, made sure that all content on the page related to the profile and expertise is positioned at the top of the HTML as much as possible. All other content was moved to the bottom.
This made the HTML smaller and prioritized relevant content. Finally, we found out that from an SEO perspective, the tools and frameworks we used, such as Bootstrap, were a major obstacle to us. We rewrote the entire HTML and CSS from a minimalistic perspective.
Let user generated content users contribute to their own PA (Page Authority)
User generated profile pages really started to rank, and soon some of them did make it into the top 10 search results. To keep more profiles in the top 10, we didn't just want to increase our own DA (Domain Authority).
We also wanted to give our users tools to increase their own PA (Page Authority). Because the higher the authority that search engines grant, the faster and higher you rank.
Page Authority is not only determined based on content but also based on links and backlinks. The solution here was more than simple.
We added an input field for the user generated profile page where users could add links to their own website and social media channels. At the same time, we asked the community to post a backlink from their site, blog, and other channels to their own profile page.
Conclusion on how to optimize user generated for SEO
Every website is different, and no content is the same. Our biggest pitfall was that we thought search engines would rank user generated content just like that. Unfortunately, the SEO world works differently than we thought, and it is seldom or never a single factor on how to increase your ranking.
We still have a complete roadmap of improvements that will all contribute to better SEO optimization, but more about that in the next article.
If you have any questions about your user generated content search engine optimization, please contact Mindd. We are happy to share our knowledge. Face to face or via live video calling.