Skip to content

Conversation

JakubMastalerz
Copy link
Collaborator

@JakubMastalerz JakubMastalerz commented Oct 16, 2025

Link to Ticket

Description of Changes Made

  • Added Organization schema markup to the homepage using JSON-LD
  • Updated logo URL to use higher resolution android-chrome-512x512.png following Google's recommendations
  • Implemented comprehensive test coverage for Organization JSON-LD functionality
  • Added social media links (Bluesky, LinkedIn, Instagram) to the Organization schema
  • Refactored JSON-LD tests to use direct template rendering for better reliability
  • Cleaned up test imports and improved code organization

How to Test

  1. Visit the homepage at /
  2. View page source and verify the Organization JSON-LD is present in the <head> section
  3. Check that the logo URL points to https://torchbox.com/android-chrome-512x512.png
  4. Verify social media links are included in the sameAs array
  5. Run the test suite: fab run-test to ensure all tests pass
  6. Validate the schema using Google's Rich Results Test tool

Screenshots

Expand to see more

The Organization JSON-LD appears in the page source as:

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Organization",
    "name": "Torchbox",
    "url": "https://torchbox.com/",
    "logo": "https://torchbox.com/android-chrome-512x512.png",
    "sameAs": [
        "https://bsky.app/profile/torchbox.com",
        "https://www.linkedin.com/company/torchbox",
        "https://www.instagram.com/torchboxltd/"
    ]
}
</script>

MR Checklist

  • Add a description of your pull request and instructions for the reviewer to verify your work.
  • If your pull request is for a specific ticket, link to it in the description.
  • Stay on point and keep it small so the merge request can be easily reviewed.
  • Tests and linting passes.

Unit tests

  • Added
  • Not required

Documentation

Browser testing

  • I have tested in the following browsers and environments (edit the list as required)
    • Latest version of Chrome on mac
    • Latest version of Firefox on mac
    • Latest version of Safari on mac
    • Safari on last two versions of iOS
    • Chrome on last two versions of Android
  • Not required

Data protection

  • Not relevant
  • This adds new sources of PII and documents it and modifies Birdbath processors accordingly

Light and dark mode

  • I have tested the changes in both light and dark mode
  • The change is not relevant to dark and light mode

Accessibility

  • Automated WCAG 2.1 tests pass
  • HTML validation passes
  • Manual WCAG 2.1 tests completed
  • I have tested in a screen reader
  • I have tested in high-contrast mode
  • Any animations removed for prefers-reduced-motion
  • Not required

Sustainability

  • Images are optimised and lazy-loading used where appropriate
  • SVGs have been optimised
  • Performance and transfer of data considered
  • If JavaScript is needed alternatives have been considered
  • Not required

Pattern library

  • The pattern library component for this template displays correctly, and does not break parent templates
  • The styleguide is updated if relevant
  • Changes are not relevant the pattern library

@JakubMastalerz JakubMastalerz self-assigned this Oct 16, 2025
"@type": "Organization",
"name": "Torchbox",
"url": "https://torchbox.com/",
"logo": "https://torchbox.com/apple-touch-icon.png",
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what to go with here actually

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

switched in f5b769c

JakubMastalerz and others added 6 commits October 16, 2025 14:55
Tests were failing due to URL generation issues in test environment.
Direct template rendering bypasses Wagtail URL resolution problems
and provides more reliable test coverage for JSON-LD functionality.
Ensures Organization schema implementation is properly validated
with tests for structure, social links, logo URL, and template inclusion.
Prevents regression of homepage JSON-LD functionality.
Switched from apple-touch-icon.png (180x180) to android-chrome-512x512.png (512x512)
for better rich results display and Google's recommended higher resolution.

Follows Google PWA standards and provides better quality for search engine rich snippets.

Standards followed:
- Google PWA Manifest requirements: https://developers.google.com/web/fundamentals/web-app-manifest
- Schema.org Organization logo recommendations: https://schema.org/Organization
- Google Rich Results guidelines: https://developers.google.com/search/docs/appearance/structured-data/logo

The 512x512px resolution exceeds Google's minimum requirement of 112x112px
and follows PWA best practices for high-quality icon display.
- Move all imports to top of file
- Remove redundant imports from test methods
- Improve code organization and readability
- Add _extract_jsonld_by_type() helper to eliminate repetitive JSON-LD extraction
- Add _get_organization_jsonld() helper for cleaner test methods
- Reduce test_organization_jsonld_social_links from 30+ lines to 8 lines
- All tests still pass with same coverage
- Much more maintainable and readable
@kevinhowbrook
Copy link
Collaborator

I've upted the PR to include tests and a more 'standard' icon.

schematest

@kevinhowbrook kevinhowbrook marked this pull request as ready for review October 23, 2025 13:29
@kevinhowbrook kevinhowbrook changed the title WIP: Add Schema.org schemas to pages Adds Schema.org schemas to pages Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants