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 6 posts 71 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 3202 posts 8988 karma points
    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

  • Patrik 36 posts 78 karma points
    1 week ago
    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 3202 posts 8988 karma points
    1 week ago
    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 36 posts 78 karma points
    7 days ago
    Patrik
    0

    Thanks Richard, That did the trick!

Please Sign in or register to post replies

Write your reply to:

Draft