CtrlK
BlogDocsLog inGet started
Tessl Logo
PluginPublic

adobe/aem-eds-content-ops

Content operations skills for AEM Edge Delivery Services: page auditing, SEO optimization, AI search (GEO), WCAG accessibility, bulk metadata, structured data, sitemap validation, and content diffing. Complements the EDS development skills with operational tooling for content teams.

Quality

90%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

link-validation-details.mdskills/link-rot-scanner/references/

Link Validation Reference

HTTP Status Classification

When validating links, classify responses as follows:

StatusMeaningAction
200ValidNo action needed
301/302RedirectRecord final destination; update link to point directly there
404BrokenFlag for fix or removal
403ForbiddenMay be bot detection (external) or access-restricted (internal)
5xxServer errorMay be transient; flag for manual recheck
TimeoutNo responseUse 10s for internal, 15s for external

For redirect chains, follow all hops to the final destination. A 301 that resolves to a 404 is still a broken link.

EDS-Specific Link Handling

  • Check both /path and /path/ (EDS may serve content at either).
  • Fragment links (#section-name): verify the target exists by checking for a matching id attribute in .plain.html.
  • Links injected by JavaScript blocks at runtime will not appear in .plain.html. Note this limitation in the report and suggest checking the published page for JS-rendered links.

External Link Validation Rules

  • Timeout: 15 seconds (some external sites are slow).
  • Rate limiting: Wait 500ms between requests to the same external domain.
  • User-Agent: Use a descriptive header (e.g., EDS-LinkCheck/1.0).
  • Bot detection: Some sites block automated HEAD/GET requests or return false 403s. Flag these as "unable to verify" rather than "broken."

Priority Levels

PriorityCategoryRationale
P0Broken internal links (404)Fully within site owner's control; harms UX and SEO
P1Broken external links (404)External site changed or removed
P2Redirecting links (301/302)Works but wastes a round-trip; loses link equity
P3Insecure links (HTTP not HTTPS)Security and trust signal
P4Unable to verify (403/5xx/timeout)May or may not be broken; needs manual check
InfoAnchor issuesFragment target id not found on page

Troubleshooting

ProblemCauseSolution
Query index returns 404Site may not have a query index configuredFall back to sitemap.xml; if that also fails, ask for a manual page list
Query index is paginatedLarge site with many pagesFollow pagination (offset/limit parameters) until all pages are retrieved
External links return 403 but work in a browserBot detection or IP-based blockingMark as "unable to verify" and note that manual checking is required
Timeout on external linksSlow external server or network issuesUse 15-second timeout; report timeouts separately from confirmed broken links
.plain.html missing links that appear on the published pageLinks may be injected by JavaScript blocks at runtimeNote the limitation; suggest checking the published page for JS-rendered links
Too many links to check in one sessionVery large site with thousands of linksProcess in batches; prioritize internal links first, then external links for high-traffic pages

Implementation Instructions for Authors

  1. Open each source document in Google Docs or Word via da.live or SharePoint.
  2. Use find (Ctrl/Cmd+F) to locate the broken link's anchor text.
  3. Update the link URL to the suggested fix, or remove the link if no fix is available.
  4. For redirecting links, update the URL to the final destination.
  5. Preview changes on the .page or .live domain.
  6. Publish the updated pages.
  7. Re-run this skill to verify all fixes.

tile.json