IndexingDocjoinerAnchorStatistics
Indexing DocjoinerLink SignalGoogleApi.ContentWarehouse.V1.Model.IndexingDocjoinerAnchorStatistics
SEO Analysis
AI GeneratedRelated to anchor text analysis and link signal processing. Anchor text—the clickable text in hyperlinks—has been a fundamental ranking signal since Google's inception. This model processes how link text is analyzed, stored, and weighted, affecting how Google understands what a page is about based on how other sites link to it.
Actionable Insights for SEOs
- Monitor for changes in rankings that may correlate with updates to this system
- Consider how your content strategy aligns with what this signal evaluates
- Audit your backlink profile for anchor text diversity and relevance
- Ensure internal linking uses descriptive, relevant anchor text
- Monitor for unnatural link patterns that could trigger penalties
Attributes
50penguinLastUpdateinteger(nilBEGIN: Penguin related fields. Timestamp when penguin scores were last updated. Measured in days since Jan. 1st 1995.
anchorCountinteger(nilbadbacklinksPenalizedboolean(nilWhether this doc is penalized by BadBackLinks, in which case we should not use improvanchor score in mustang ascorer.
penguinPenaltynumber(nilPage-level penguin penalty (0 = good, 1 = bad).
minHostHomePageLocalOutdegreeinteger(nilMinimum local outdegree of all anchor sources that are host home pages as well as on the same host as the current target URL.
droppedRedundantAnchorCountinteger(nilSum of anchors_dropped in the repeated group RedundantAnchorInfo, but can go higher if the latter reaches the cap of kMaxRecordsToKeep. (indexing/docjoiner/anchors/anchor-loader.cc), currently 10,000
nonLocalAnchorCountinteger(nilmediumCorpusAnchorCountinteger(nilpenguinEarlyAnchorProtectedboolean(nilDoc is protected by goodness of early anchors.
droppedHomepageAnchorCountinteger(nilredundantanchorinfoforphrasecapIndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.IndexingDocjoinerAnchorStatisticsRedundantAnchorInfoForPhraseCap.tforwardedOffdomainAnchorCountinteger(nildroppedNonLocalAnchorCountinteger(nilnilFull type: list(GoogleApi.ContentWarehouse.V1.Model.IndexingDocjoinerAnchorStatisticsPerDupStats.tonsiteAnchorCountinteger(nildroppedLocalAnchorCountinteger(nilpenguinTooManySourcesboolean(nilDoc not scored because it has too many anchor sources. END: Penguin related fields.
forwardedAnchorCountinteger(nilanchorSpamInfoIndexingDocjoinerAnchorSpamInfo →nilFull type: GoogleApi.ContentWarehouse.V1.Model.IndexingDocjoinerAnchorSpamInfo.tThis structure contains signals and penalties of AnchorSpamPenalizer. It replaces phrase_anchor_spam_info above, that is deprecated.
lowCorpusAnchorCountinteger(nillowCorpusOffdomainAnchorCountinteger(nilbaseAnchorCountinteger(nilminDomainHomePageLocalOutdegreeinteger(nilMinimum local outdegree of all anchor sources that are domain home pages as well as on the same domain as the current target URL.
skippedAccumulateinteger(nilA count of the number of times anchor accumulation has been skipped for this document. Note: Only used when canonical.
topPrOnsiteAnchorCountinteger(nilAccording to anchor quality bucket, anchor with pagrank > 51000 is the best anchor. anchors with pagerank < 47000 are all same.
pageMismatchTaggedAnchorsinteger(nilspamLog10Oddsnumber(nilThe log base 10 odds that this set of anchors exhibits spammy behavior. Computed in the AnchorLocalizer.
redundantanchorinfoIndexingDocjoinerAnchorStatisticsRedundantAnchorInfo →nilFull type: list(GoogleApi.ContentWarehouse.V1.Model.IndexingDocjoinerAnchorStatisticsRedundantAnchorInfo.tpageFromExpiredTaggedAnchorsinteger(nilSet in SignalPenalizer::FillInAnchorStatistics.
baseOffdomainAnchorCountinteger(nilphraseAnchorSpamInfoIndexingDocjoinerAnchorPhraseSpamInfo →nilFull type: GoogleApi.ContentWarehouse.V1.Model.IndexingDocjoinerAnchorPhraseSpamInfo.tFollowing signals identify spike of spammy anchor phrases. Anchors created during the spike are tagged with LINK_SPAM_PHRASE_SPIKE.
anchorPhraseCountinteger(nilThe number of unique anchor phrases. Capped by the constant kMaxAnchorPhraseCountInStats (=5000) defined in indexing/docjoiner/anchors/anchor-manager.cc.
ondomainAnchorCountinteger(niltotalDomainsAbovePhraseCapinteger(nilNumber of domains above per domain phrase cap. We see too many phrases in the domains.
totalDomainsSeeninteger(nilNumber of domains seen in total.
topPrOffdomainAnchorCountinteger(nilscannedAnchorCountinteger(nilThe total number of anchors being scanned from storage.
localAnchorCountinteger(nillinkBeforeSitechangeTaggedAnchorsinteger(nilglobalAnchorDeltainteger(nilMetric of number of changed global anchors computed as, size(union(previous, new) - intersection(previous, new)).
topPrOndomainAnchorCountinteger(nilmediumCorpusOffdomainAnchorCountinteger(niloffdomainAnchorCountinteger(niltotalDomainPhrasePairsSeenApproxinteger(nilNumber of domain/phrase pairs in total -- i.e. how many anchors we would have if the domain/phrase cutoff was set to 1 instead of 200. This is "approx" for large anchor clusters because there can be double counting when the LRU cache forgets about rare domain/phrase pairs.
skippedOrReusedReasonstringnilFull type: String.tReason to skip accumulate, when skipped, or Reason for reprocessing when not skipped.
anchorsWithDedupedImprovanchorsinteger(nilThe number of anchors for which some ImprovAnchors phrases have been removed due to duplication within source org.
fakeAnchorCountinteger(nilredundantAnchorForPhraseCapCountinteger(nilTotal anchor dropped due to exceed per domain phrase cap. Equals to sum of anchors_dropped in the repeated group RedundantAnchorInfoForPhraseCap, but can go higher if the latter reaches the cap of kMaxDomainsToKeepForPhraseCap (indexing/docjoiner/anchors/anchor-loader.h), currently 1000.
totalDomainPhrasePairsAboveLimitinteger(nilThe following should be equal to the size of the following repeated group, except that it can go higher than 10,000.
timestampinteger(nilWalltime of when anchors were accumulated last.