Public repository hosting structured data (JSON-LD) for alanranger.com Squarespace pages.
lessons-schema.json → /beginners-photography-lessonsworkshops-schema.json → /photographic-workshops-near-meblog-schema.json → /blog-on-photographyAdd these script tags to your Squarespace page header code:
For Courses Page (/beginners-photography-lessons):
<!-- Lessons Schema -->
<script type="application/ld+json"
src="https://schema.alanranger.com/lessons-schema.json">
</script>
For Workshops Page (/photographic-workshops-near-me):
<!-- Workshops Schema -->
<script type="application/ld+json"
src="https://schema.alanranger.com/workshops-schema.json">
</script>
For Blog Index Page (/blog-on-photography):
<!-- Blog Index Schema -->
<script type="application/ld+json"
src="https://schema.alanranger.com/blog-schema.json">
</script>
Schema files are automatically synced from the local Event Schema Generator tool via GitHub Actions. When you export schema JSON files, they are automatically pushed to this repository and deployed to GitHub Pages.
Validate hosted JSON files with:
alanranger-schema/
├── lessons-schema.json
├── workshops-schema.json
├── blog-schema.json
├── .github/
│ └── workflows/
│ └── update-schema.yml
├── CNAME
└── README.md
Add a CNAME record at your DNS provider:
schema CNAME alanranger.github.io
Wait for DNS propagation (usually 5-30 minutes).
/photography-mentoring-online-assignments): reviews are pasted manually into Squarespace page header as a Service+Product #service node (Alan decision 2026-10-06). File photography-mentor-online-monthly-mentoring_schema.json is kept for generation/reference only — not listed in products-manifest.json./photography-services-near-me/2hr-private-photography-classes-2hr): page currently 404; schema file kept, excluded from manifest until the Squarespace product is restored. Reviews live on the four-pack product page.