SeoToolkit is a SEO package for Umbraco 9, 10, 11, 12 & 13. This package features most functionalities needed for your SEO needs like meta fields, sitemap, robots.txt and much more.
MIT License
38
stars
28
forks
source link
When an item is not yet published, if the %CurrentUrl% fallback value is populated, the SEO Toolkit panel is not displayed #255
We discovered that if, on the Document Type, the fallback value for the Canonical URL includes the %CurrentUrl% value, then if we try to create a new post of that Document Type, then the SEO Toolkit pane is not visible.
It's resolved if the %CurrentUrl% is removed from the Canonical field in the Document Type.
Ideally, it would be possible to populate this field with the fallback on unpublished items so that the content editors can work on them.
Possibly unhandled rejection: {"data":{"ExceptionMessage":"Invalid URI: The format of the URI could not be determined.","ExceptionType":"System.UriFormatException, System.Private.Uri, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","StackTrace":" at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)\r\n at System.Uri..ctor(String uriString)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Common.Converters.SeoValueConverters.TextSeoValueConverter.Convert(Object value, IPublishedContent currentContent, String fieldAlias)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Providers.DefaultMetaTagsProvider.<>c__DisplayClass12_0.<Get>b__2(ISeoField it)\r\n at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()\r\n at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Providers.DefaultMetaTagsProvider.Get(IPublishedContent content, Boolean includeUserValues)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Services.MetaFieldsService.MetaFieldsService.Get(IPublishedContent content, Boolean includeUserValues)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Controllers.MetaFieldsController.Get(Int32 nodeId, String culture)\r\n at lambda_method5991(Closure , Object , Object[] )\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n--- End of stack trace from previous location ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"},"status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"backoffice/SeoToolkit/MetaFields/Get?nodeId=4023&culture=en-US","headers":{"Accept":"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest","X-UMB-XSRF-TOKEN":"CfDJ8HVFhC-wyDpOub7AM2BRBYpgD81t4NKiW4jt9_lx4aUDS61isVq4W1f8tT6tVFDPu_3ftEyjibWf0qfFsVYhDlO9Qtybiq9XUCrxv4t8qycYTdy9F5nQaRuxiJeNsqN_QGVpHqLLJTgFppxxaEiqNhHYM2PYB3i0PyHg_WYzEsDwmpeGBdtrCWMsDmTzINmXZA"}},"statusText":"Internal Server Error","xhrStatus":"complete"}
We discovered that if, on the Document Type, the fallback value for the Canonical URL includes the %CurrentUrl% value, then if we try to create a new post of that Document Type, then the SEO Toolkit pane is not visible.
It's resolved if the %CurrentUrl% is removed from the Canonical field in the Document Type.
Ideally, it would be possible to populate this field with the fallback on unpublished items so that the content editors can work on them.
Possibly unhandled rejection: {"data":{"ExceptionMessage":"Invalid URI: The format of the URI could not be determined.","ExceptionType":"System.UriFormatException, System.Private.Uri, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a","StackTrace":" at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind, UriCreationOptions& creationOptions)\r\n at System.Uri..ctor(String uriString)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Common.Converters.SeoValueConverters.TextSeoValueConverter.Convert(Object value, IPublishedContent currentContent, String fieldAlias)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Providers.DefaultMetaTagsProvider.<>c__DisplayClass12_0.<Get>b__2(ISeoField it)\r\n at System.Linq.Enumerable.SelectArrayIterator`2.MoveNext()\r\n at System.Linq.Enumerable.WhereEnumerableIterator`1.ToArray()\r\n at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Providers.DefaultMetaTagsProvider.Get(IPublishedContent content, Boolean includeUserValues)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Services.MetaFieldsService.MetaFieldsService.Get(IPublishedContent content, Boolean includeUserValues)\r\n at SeoToolkit.Umbraco.MetaFields.Core.Controllers.MetaFieldsController.Get(Int32 nodeId, String culture)\r\n at lambda_method5991(Closure , Object , Object[] )\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\r\n--- End of stack trace from previous location ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|26_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)"},"status":500,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"backoffice/SeoToolkit/MetaFields/Get?nodeId=4023&culture=en-US","headers":{"Accept":"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest","X-UMB-XSRF-TOKEN":"CfDJ8HVFhC-wyDpOub7AM2BRBYpgD81t4NKiW4jt9_lx4aUDS61isVq4W1f8tT6tVFDPu_3ftEyjibWf0qfFsVYhDlO9Qtybiq9XUCrxv4t8qycYTdy9F5nQaRuxiJeNsqN_QGVpHqLLJTgFppxxaEiqNhHYM2PYB3i0PyHg_WYzEsDwmpeGBdtrCWMsDmTzINmXZA"}},"statusText":"Internal Server Error","xhrStatus":"complete"}