← Back to Blog

Every Unsplash Photo On Your Site Legally Needs Attribution

Every Unsplash Photo On Your Site Legally Needs Attribution

The Unsplash license says attribution is "appreciated but not required." Unsplash's terms of service say attribution is required for certain commercial uses. Pexels is clearer: attribution is required. Shutterstock: paid license with specific attribution rules. Getty: pay the license fee and follow the credit line exactly.

Legal risk aside, Google's image-rich-results program explicitly requires ImageObject.creditText or copyrightNotice in the page's JSON-LD for the image to qualify for the licensable-badge feature. Missing that = ineligible for the visual enhancement in SERPs.

Image Licensing + Credit Audit checks every <img> on a page for figcaption credit, ImageObject JSON-LD (with the four Google-required fields), C2PA manifest, and stock-source detection.

What the audit detects

  • Alt text present. Already covered by image-alt-audit, repeated here for completeness.
  • Figcaption credit. A <figcaption> within a <figure> that contains attribution.
  • ImageObject schema fields. creditText, copyrightNotice, license (URL), acquireLicensePage (URL). Google rich-results docs name these four as eligibility-critical.
  • C2PA manifest. Cryptographic provenance chain embedded in the image binary. The modern signal; most stock sites don't carry it yet, but provenance-aware platforms do.
  • Stock-source host detection. images.unsplash.com, pexels.com, shutterstock.com, gettyimages.com, istockphoto.com, adobe.stock.com, depositphotos.com, dreamstime.com.

For any image served from a stock host without visible figcaption credit or schema creditText, the audit flags "stock source without credit" — the legal-risk flag.

The three disposition options per flagged image

  1. Add the figcaption. Easiest fix. Wrap the <img> in <figure> with a <figcaption> containing "Photo by [Name] on Unsplash" (with link to photographer profile where possible).
  2. Add ImageObject schema. Emit JSON-LD with creditText, copyrightNotice, license URL, and acquireLicensePage URL. Enables the licensable-badge rich result.
  3. Swap to a license-clean image. Use the site's own photography, AI-generated imagery with C2PA, or CC0-licensed sources (Pixabay, Pexels CC0 selections).

Pick whichever matches the image's value to the article. For hero images worth licensing: schema. For decorative stock: swap to CC0.

Related reading

Fact-check notes and sources


The $20 Dollar Agency covers image hygiene as a deliverable. The audit is how you catch client sites shipping stock without credit.

← Back to Blog

Accessibility Options

Text Size
High Contrast
Reduce Motion
Reading Guide
Link Highlighting
Accessibility Statement

J.A. Watte is committed to ensuring digital accessibility for people with disabilities. This site conforms to WCAG 2.1 and 2.2 Level AA guidelines.

Measures Taken

  • Semantic HTML with proper heading hierarchy
  • ARIA labels and roles for interactive components
  • Color contrast ratios meeting WCAG AA (4.5:1)
  • Full keyboard navigation support
  • Skip navigation link
  • Visible focus indicators (3:1 contrast)
  • 44px minimum touch/click targets
  • Dark/light theme with system preference detection
  • Responsive design for all devices
  • Reduced motion support (CSS + toggle)
  • Text size customization (14px–20px)
  • Print stylesheet

Feedback

Contact: jwatte.com/contact

Full Accessibility StatementPrivacy Policy

Last updated: April 2026