SalesForce Community Cloud: SEO insights

The Salesforce Community Cloud is a content management system (CMS) specialized for support or community-focused websites. It is a powerful CMS that allows brands like NASAAncestryPlayStationIntel, and many others to share information in a concise and organized way for their communities.

A well-implemented CMS complements a website’s SEO. The CMS platform is a medium through which a business presents content to its users. However, the content reach and indexability through Google can be impacted by a CMS’s technical limitations. Content management systems’ ability to improve a website’s SEO depends on its capacity to support the implementation of SEO best practices.

One of our clients had come to us for help after they noticed their organic reach had dropped. They suspected their recently implemented CMS had something to do with it, so we decided to investigate further. To identify the concerning behavior, we conducted a technical audit of our client’s website, as well as five other sites that use Salesforce Community Cloud. We found the following issues, which are fairly standard but nothing too unusual.

SEO Issues in Salesforce Community Cloud

  1. Status codes served differently for user and user-agent: A page a user sees as a 200, gets picked up by Googlebot as a 302.
  2. No Canonicals: None of the pages we observed are using canonical tags, but Salesforce support indicates that it is possible to implement them.
  3. JavaScript Rendering: Pages using Salesforce Community Cloud are rendered in JavaScript, possibly slowing down the index rate of a website.
  4. Redirect Limits: We believe Salesforce Community Cloud has a limit on redirects. They do not have any public documentation stating that they do.

Although I wish I could share what client, and what websites I found this behavior in, I am not allowed. I was, however, able to find this behavior on OpenTable, which is a website that Salesforce publicly announces as using their platform. Let’s dig deeper as to why these issues are showing up on Salesforce and what we recommend your team does to handle them.

Status codes served differently for user and user-agent

Status codes represent the communication between a browser and a server. When a user submits a browser request, the site server is asked for information, and it returns a status code.

The behavior we noticed in websites with Salesforce Community Cloud was that our crawler was classifying most URLs with a 200 status code.

In theory, if a user would visit that page, the information would be visible, and the user can interact with the website. We clicked into some URLs to confirm that they were a 200 status code, and we identified misclassification on status codes. We got the “User” status code by opening up the link in our browser and found the status code with the Redirect Path extension for Chrome. To get the “Crawler” status code, we used the Mac Terminal. In Terminal we executed a curl command with additional filters, to get the status code and HTML source code as Googlebot.

Our Terminal command:

curl -v https://help.opentable.com/s/article/Account-Management-Incomplete-Reservation-History-1481744282490?language=en_US -H “User-Agent: Googlebot”

The following are examples of how URL status codes were different for the user and crawler.

Examples:

OpenTable Dinner Help

https://help.opentable.com/s/article/Account-Management-Incomplete-Reservation-History-1481744282490?language=en_US

Crawler: 200 Status Code

User: 302 Status Code

https://help.opentable.com/s/article/How-do-I-view-change-or-cancel-a-reservation-1505260327125?language=en_US

Crawler: 200 Status Code

User: 200 Status Code

No canonicals

Canonical tags are used to help Google identify which URL we want them to index. This is helpful when multiple URLs have the same information. Implementing the canonical tags helps Google identify and index the URL we want. These tags prevent Google from labeling multiple URLs as duplicate content.

The behavior we picked up on Salesforce Community Cloud was that out of the multiple websites we crawled only one was using canonical tags in three of its URLs. Supporting documents on Community Cloud’s page state that adding canonical tags is possible with the platform.

We recommend that those who are using Community Cloud implement canonical tags as soon as they know which URLs they want to be in the index.

JavaScript Rendered Page

The relationship between Googlebot and JavaScript has always been very uncertain. Recently Search Engine Journal published an article titled “JavaScript Indexing Delays Are Still an Issue for Google”. In this article, they test and confirm that Googlebot is still taking longer to index a page that is rendered using JavaScript. We recommend that if your page is using JavaScript the source code visible to the bot should include the links that are found within that page. This allows for the Googlebot to more efficiently crawl its way through your website.

The behavior we found on Salesforce Community Cloud is that all those using it have their pages rendered in JavaScript. It is often that tabs or actions a user may take are linked to by using a JSVoid(0) command. Another essential behavior we noticed was that the source code that is visible to the user does not contain the same information as the source code available to Googlebot. We can confirm that Salesforce Community Cloud was designed to be this way, and they are single-page applications according to Salesforce’s Blog on Lightning Communities.

While this does not mean that Google cannot index or crawl your site, it does mean it will take longer for new content to be indexed. At this point, there is not a lot that can be done, so either Salesforce optimizes their CMS to make HTML crawlable, or Google speeds up indexing JavaScript-rendered pages.

Redirect Limits

We have worked with clients in the past that have had a limited amount of redirects available when using Salesforce Community Cloud. Although we are not able to confirm this with current public Salesforce documentation, we were still able to find a solution for our client. They wanted to redirect all their previous links and met the threshold. Our recommendation to them was to use a CDN to manage the redirects beyond the limit.

If you are thinking of using Salesforce Community Cloud, we recommend making sure that they can redirect all of your current links.

In Conclusion

Salesforce Community Cloud is a great CMS allowing businesses to efficiently and quickly show content to their users. However, some of its behavior may significantly impact your site’s search performance. While the behaviors highlighted in this article are not necessarily bad, they are helpful to keep in mind when it comes to thinking about Googlebot crawling and indexing your site. For businesses interested in using Salesforce Community Cloud, I recommend asking questions around the common behaviors to a Salesforce Sales Representative and making sure that this CMS will work for your business.

If you have any questions about this behavior or want to know more, please don’t hesitate to reach out. This project would not have been possible without the support and collaboration of Lydia Gilbertson.