Schema Validator
Validate structured data (JSON-LD) against schema.org definitions.
fetch_html
def fetch_html(
url:str, # URL to fetch
timeout:int=10, # Request timeout in seconds
)->tuple[str, int]:
Fetch raw HTML from a live URL. Returns (html, status_code).
extract_schemas
def extract_schemas(
html:str
)->list[dict]:
Extract all schema blocks (JSON-LD + Microdata) from HTML.
extract_microdata_schemas
def extract_microdata_schemas(
html:str, # Raw HTML content
)->list[dict]:
Extract Microdata itemscope blocks from HTML as flat dicts.
extract_jsonld_schemas
def extract_jsonld_schemas(
html:str
)->list[dict]:
Extract all JSON-LD schema blocks from HTML. Returns list of parsed dicts.
validate_schema
def validate_schema(
schema_block:dict, # Dict with 'format' and 'raw' keys
)->dict:
Validate a single schema block against Google’s rich result spec.
validate_page
def validate_page(
url:str, # Live page URL to validate
timeout:int=10, # HTTP request timeout in seconds
)->dict:
Fetch a live URL and validate all schema.org markup found on the page.
validate_pages
def validate_pages(
urls:list[str], # List of page URLs to validate
timeout:int=10, # HTTP request timeout in seconds
)->list[dict]:
Validate schema markup for a list of URLs.