RankOne-Umbraco-SEO-Tool
RankOne-Umbraco-SEO-Tool copied to clipboard
Focus Keyword not working
After installing a new instance of RankOne SEO package in an Umbraco 7.6.4 installation - I'm finding that the focuskeyword never gets set. I've tried adding my own field to the node with an alias of 'focusKeyword', and I've also tried using the Dashboard property editor and using the cog wheel to set the keyword but after saving and publishing, the keyword field of the Dashboard property editor still says "The focus keyword for this page is not set. You can add a focus keyword by opening the settings dialog on the top of this screen."
Thanks for reporting, I'll take a look at it
I've tried to reproduce the problem (and discovered some new bugs) but I couldn't reproduce this. Did you install the package through the package repo or through nuget?
Also did you update to the latest version? I've fixes a bug with the focus keyword a version (or maybe 2?) back
@markwemekamp I've installed this through the package repo when I experienced the issue. And I've verified that the version installed was 0.3.8 which looks to be the latest.
Can you check the browser console or the Umbraco logs for any errors?
@markwemekamp I actually uninstalled this yesterday as I was getting many 404 errors through the umbraco notification service when browsing the backoffice for the RankOne AnalyzeNode and Get All Pages - but after reinstalling through nuget the keywords work now. The other issue I'm seeing on the dashboard is that HTML size isn't displaying -https://puu.sh/xilrD/9f559a3e01.png and the meta description seems to be showing conflicting bullet points - https://puu.sh/xilvv/4e7947abb8.png. Also when I try to refresh the dashboard in the content section, I get a 500 error for UpdateAllPages - stacktrace below:
{"Message":"An error has occurred.","ExceptionMessage":"Value cannot be null.\r\nParameter name: source","ExceptionType":"System.ArgumentNullException","StackTrace":" at System.Linq.Enumerable.Any[TSource](IEnumerable
1 source)\r\n at RankOne.Analyzers.Template.MetaDescriptionAnalyzer.Analyse(IPageData pageData)\r\n at RankOne.Summaries.BaseSummary.GetAnalysis()\r\n at RankOne.Services.PageAnalysisService.SetAnalyzerResults(PageAnalysis pageAnalysis, HtmlResult html)\r\n at RankOne.Services.PageAnalysisService.CreatePageAnalysis(IPublishedContent node, String focusKeyword)\r\n at RankOne.Services.AnalyzeService.CreateAnalysis(IPublishedContent node, String focusKeyword)\r\n at RankOne.Helpers.PageScoreNodeHelper.UpdatePageScore(PageScoreNode node)\r\n at RankOne.Helpers.PageScoreNodeHelper.GetPageHierarchy(IEnumerable1 nodeCollection, Boolean useCache)\r\n at RankOne.Helpers.PageScoreNodeHelper.GetPageHierarchy(IEnumerable
1 nodeCollection, Boolean useCache)\r\n at RankOne.Helpers.PageScoreNodeHelper.GetPageHierarchy(IEnumerable1 nodeCollection, Boolean useCache)\r\n at RankOne.Helpers.PageScoreNodeHelper.GetPageHierarchy(IEnumerable
1 nodeCollection, Boolean useCache)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__0.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__2.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__1.MoveNext()"}