Database
Schemafy database structure
Database Structure
Schemafy creates a single custom table: wp_baseo_custom_schemas
| Column | Type | Description |
|---|---|---|
| id | BIGINT | Primary key |
| url | VARCHAR(500) | Page URL |
| schema_type | VARCHAR(100) | Schema.org type |
| schema_name | VARCHAR(200) | Descriptive name |
| schema_data | LONGTEXT | JSON-LD content |
| meta_title | TEXT | SEO meta title |
| meta_description | TEXT | SEO meta description |
| og_title | TEXT | Open Graph title |
| og_description | TEXT | Open Graph description |
| og_image | VARCHAR(500) | Open Graph image URL |
| og_type | VARCHAR(50) | Open Graph type |
| twitter_card | VARCHAR(50) | Twitter Card type |
| twitter_title | TEXT | Twitter title |
| twitter_description | TEXT | Twitter description |
| twitter_image | VARCHAR(500) | Twitter image URL |
| twitter_creator | VARCHAR(100) | Twitter handle |
| is_active | TINYINT(1) | Active status |
| created_at | DATETIME | Creation timestamp |
| created_by | BIGINT | WordPress user ID |
| updated_at | DATETIME | Last update timestamp |
How Injection Works
- When a visitor loads a page, Schemafy queries the database looking for schemas that match the current URL
- Active schemas are collected and formatted as JSON-LD
tags - The JSON-LD is injected into the page
at priority 5 - Meta tags are injected at priority 1
- Social media tags are injected at priority 2
This means schemas load before the main content, ensuring search engine crawlers detect them immediately.