Semrush
Details an integration available for Semrush, built and maintained by Umbraco HQ.
Major | Minor/Patch |
---|---|
Version 8 | 8.5.4 |
Version 9 | 9.0.1 |
Version 10 | 10.0.0 |
Version 11 | 11.0.0 |
Once the package is installed, the integration is made available in the Umbraco backoffice as a Content App.
The Content App is available for all types of content items as well as for all user groups.
A keyword search can be initiated using a content field as a starting point, or by entering a custom phrase. The results can be filtered for different metrics across markets.
Administrators are provided with additional features for managing the connectivity with their organization's account with Semrush.
For more detail on the integration, its purpose, and how2 it was built, please see the accompanying blog post.
The easiest way to configure the integration is to make use of an application Umbraco has pre-configured with Semrush. With this in place, the authorization flow will go through a proxy website Umbraco maintains before redirecting back to your Umbraco backoffice.
From version 1.2.0, we introduced an alternate approach that requires a little more setup. It removes the need for relying on any services from Umbraco when using the integration.
To use this you need to setup your own app with Semrush and use an extended configuration like this:
Versions 9 and above
Version 8
appsettings.json
"Umbraco": {
"CMS": {
"Integrations": {
"SEO": {
"Semrush": {
"Settings": {
...
"UseUmbracoAuthorization": true/false
},
"OAuthSettings": {
"Ref": "[your ref number]",
"ClientId": "[your client id]",
"ClientSecret": "[your client secret]",
"RedirectUri": "https://[your website base URL]/umbraco/api/semrushauthorization/oauth",
"TokenEndpoint": "https://oauth.semrush.com/oauth2/access_token",
"Scopes": "user.id,domains.info,url.info,positiontracking.info"
}
}
}
}
}
}
web.config
<appSettings>
...
<add key="Umbraco.Cms.Integrations.SEO.Semrush.UseUmbracoAuthorization" value="true/false" />
<add key="Umbraco.Cms.Integrations.SEO.Semrush.ClientId" value="[your client id]" />
<add key="Umbraco.Cms.Integrations.SEO.Semrush.ClientSecret" value="[your client secret]" />
<add key="Umbraco.Cms.Integrations.SEO.Semrush.RedirectUri" value="https://[your website base URL]/umbraco/api/semrushauthorization/oauth" />
<add key="Umbraco.Cms.Integrations.SEO.Semrush.TokenEndpoint" value="https://oauth.semrush.com/oauth2/access_token" />
<add key="Umbraco.Cms.Integrations.SEO.Semrush.Scopes" value="user.id,domains.info,url.info,positiontracking.info" />
</appSettings>
The authorization mode is toggled by the
UseUmbracoAuthorization
flag, which by default is set to true
meaning that previous versions are not impacted.Authorization specific methods are exposed by the
ISemrushAuthorizationService
and implemented by two services:The used service is provided using the
AuthorizationImplementationFactory
method, depending on the type of authorization selected.If you are selecting your own authorization flow that uses the
AuthorizationService
, the redirect URL will be this one: /umbraco/api/semrushauthorization/oauth
, from SemrushAuthorizationController
. Please make sure to set to correct URL in the settings of the website and in the configuration of your Semrush app.The authorization controller uses the
window.postMessage
interface for cross-window communications when redirecting from the semrush authorization server.Last modified 24d ago