Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Jesse Andrews 129 posts 499 karma points
    Apr 21, 2017 @ 17:42
    Jesse Andrews
    0

    SEO Checker throws "BrokenLinks" error when crawling linked in page

    Umbraco Version: 7.5.13

    SEO Checker Version: 1.9.4.1

    I'm encountering the following error when there is a link to a linked in company page (https://www.linkedin.com/company/impinj).

    2017-04-21 09:56:28,819 [P4980/D2/T25] ERROR SEOChecker.Core.Validation.SEOValidator - SEOChecker: Error during validating tag for document: 1052 using validator 'BrokenLinks'
    System.ArgumentNullException: Value cannot be null.
    Parameter name: format
       at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
       at SEOChecker.Validators.ContentValidators.Links.BrokenLinkValidator.Parse(ValidationResult result, IUmbracoDocument document, HtmlDocument htmlDocument, IContextInfo contextInfo)
       at SEOChecker.Core.Validation.SEOValidator.Validate(ValidationResult validationResult, IUmbracoDocument document, HtmlDocument htmlDocument, IContextInfo context)
    

    It's not a page that requires authentication, but it may be blocking crawlers to avoid affecting any metrics it's generating. I tried pointing it to https://www.linkedin.com/ and it didn't have any issues with that. This is a problem, as that company link appears on every page. Every time a page node is visited within umbraco, a new error is added to the trace log.

    SEO Checker needs a way to handle or ignore this error, as it can knock out a server if the trace logs aren't regularly pruned.

  • Richard Soeteman 3640 posts 11094 karma points MVP
    Apr 24, 2017 @ 05:05
    Richard Soeteman
    0

    Hi Jesse,

    It means that SEOChecker can't access the url indeed. Unfortunately there is no way to exclude url's at the moment.

    Best,

    Richard

  • von 61 posts 123 karma points
    Jun 20, 2018 @ 11:31
    von
    0

    Hi Richard, is this fixed on V2? I did not see this in the release notes.

  • Richard Soeteman 3640 posts 11094 karma points MVP
    Jun 21, 2018 @ 06:51
    Richard Soeteman
    0

    Yes, because it doesn''t use the preview data anymore.

  • von 61 posts 123 karma points
    Jun 21, 2018 @ 07:46
    von
    0

    Got it, will review. Thank you.

  • Kieron 150 posts 386 karma points
    Apr 29, 2019 @ 12:58
    Kieron
    0

    Hi Richard, is there still no way to handle this error?

    I am also seeing it with LinkedIn links on every page.

    Its appearing on every single item that our clients validate and slightly 'souring' the experience!

    Thanks :)

  • Richard Soeteman 3640 posts 11094 karma points MVP
    May 05, 2019 @ 10:45
    Richard Soeteman
    0

    Linkedin blocks my Crawler indeed. I will remove the check for Linkedin in a next version but for now just add it to the ignore list and it should not report again.

    Best,

    Richard

  • Patrik 37 posts 89 karma points
    May 18, 2017 @ 18:57
    Patrik
    0

    Hi, I'm also seeing this in my logs, however i don't have any outbound links in affected nodes. When inspecting the ajax calls made by SEOChecker when selecting a node in in the content tree, the /umbraco/backoffice/SEOChecker/SEOCheckerApi/Validate?id=XYZ takes a very long time to finish. What might be the reason for this method beeing so slow?

    Stumbled upon this in the logs as well:

    
     2017-05-18 07:30:54,283 [P27632/D2/T108] ERROR SEOChecker.HttpModules.UrlModule - SEOChecker: Error in PageNotFound Module
    umbraco.DataLayer.SqlHelperException: Umbraco Exception (DataLayer): SQL helper exception in ExecuteNonQuery ---> System.Data.SqlClient.SqlException: String or binary data would be truncated.
    The statement has been terminated.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(SqlConnection connection, CommandType commandType, String commandText, SqlParameter[] commandParameters)
       at Microsoft.ApplicationBlocks.Data.SqlHelper.ExecuteNonQuery(String connectionString, CommandType commandType, String commandText, SqlParameter[] commandParameters)
       at umbraco.DataLayer.SqlHelper`1.ExecuteNonQuery(String commandText, IParameter[] parameters)
       --- End of inner exception stack trace ---
       at umbraco.DataLayer.SqlHelper`1.ExecuteNonQuery(String commandText, IParameter[] parameters)
       at SEOChecker.Core.Repository.PageNotFound.PageNotFoundRepository.(Uri , Uri , Int32 , String , Boolean , ContentTypeEnum , Boolean , Boolean  , Boolean  )
       at SEOChecker.Core.Repository.PageNotFound.PageNotFoundRepository.Insert(Uri uri, Uri referer, ContentTypeEnum contentType)
       at SEOChecker.HttpModules.UrlModule.(Object , EventArgs )
    
    
  • Richard Soeteman 3640 posts 11094 karma points MVP
    May 19, 2017 @ 07:19
    Richard Soeteman
    0

    Hi,

    I think you have this issue because it tries to validate the previewpage and that fails because it needs to generate the preview first.

    If you add the following key top the web.config page it uses the published pages which is much faster.

    <add key="SEOChecker.DisablePreviewValidation" value="true"/>
    

    Hope this helps,

    Richard

  • Patrik 37 posts 89 karma points
    May 19, 2017 @ 13:26
    Patrik
    0

    Thanks Richard, That did the trick!

Please Sign in or register to post replies

Write your reply to:

Draft