wagtailseo.utils¶
- class wagtailseo.utils.StructDataEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶
Serializes data into LD+JSON format required for Structured Data.
- default(obj)¶
Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
- wagtailseo.utils.get_absolute_media_url(site: Site) str ¶
Returns an absolute base URL for media files.
This will normally be the site’s root URL, except for when MEDIA_URL already looks like a full URL (e.g. if media is stored and served from S3, a CDN, etc.). The return value can always be safely prefixed to an image URL.
- Parameters:
site (Site) – The site object from which the media is served.
- Return type:
str
- Returns:
The absolute base URL for media files of this site.
- wagtailseo.utils.get_struct_data_images(site: Site, image: AbstractImage) List[str] ¶
Google requires multiple different aspect ratios for certain structured data image fields. This will render the image in 1:1, 4:3, and 16:9 aspect ratios with very high resolution and return a list of URLs.
- Parameters:
site (Site) – The Wagtail Site this image belongs to.
image (Image) – An image descending from Wagtail AbstractImage model.
- Return type:
List[str]
- Returns:
A list of absolute image URLs.
- wagtailseo.utils.serialize_date(date: date | datetime | time) str ¶
Serializes a datetime or time into ISO 8601 format required for Open Graph and Structured Data.
- Parameters:
date (Union[date, datetime, time]) – The date object to serialize.
- Return type:
str
- Returns:
String-ified date.