# FootyChat Blog — Full Documentation > Football news, match analysis, live scores, AI-powered predictions, and betting tips covering 50+ leagues worldwide. ## About FootyChat is a real-time football platform with a companion blog that publishes: - Daily match predictions with AI-generated win probabilities, betting tips, and confidence ratings - Match previews and post-match analysis - Transfer news and rumour tracking - Live match commentary and updates - Competition-specific coverage (Premier League, La Liga, Champions League, Brasileirão, Serie A, Bundesliga, Ligue 1, Primeira Liga, and more) Content is updated daily. Match predictions are published before kickoff each day. ## Content Types ### Blog Posts (News & Analysis) Standard WordPress posts covering football news. Each post may include: - Match metadata (home/away teams, score, competition, venue, match date) - Competition taxonomy for filtering by league - Featured images optimized for social sharing (1200x630) - Reading time estimates - Related articles from the same category URL pattern: `/{year}/{month}/{day}/{slug}/` or `/{slug}/` ### Match Predictions (Prognostics) AI-powered daily predictions fetched from the FootyChat API. Not stored as WordPress posts — served dynamically. **Archive page**: `/prognostics` or `/prognostics?prog_date=YYYY-MM-DD` - Filterable by date, competition, confidence level - Searchable by team name - Sortable by time, confidence, or league **Single prediction page**: `/prognostics/{slug}` Each prediction includes: - **Teams**: Home and away team names - **Competition**: League or tournament name - **Kickoff time**: Match date and time - **Win probability**: Percentage distribution for home win, draw, and away win - **Over/Under 2.5**: Prediction for total goals (over or under 2.5) - **Both Teams to Score (BTTS)**: Yes or no prediction - **Correct score**: Predicted final score (e.g. 2-1) - **Confidence level**: High, medium, or low - **Best bet**: Recommended wager with reasoning - **Key stats**: Statistical highlights informing the prediction - **Full analysis**: Detailed markdown analysis of the match ### Match Analysis (Custom Post Type) Deep-dive analysis articles stored as `fc_analysis` custom post type. URL pattern: `/analysis/{slug}/` ### Match Data (Custom Post Type) Match data records stored as `fc_match` custom post type. URL pattern: `/match/{slug}/` ## Taxonomy ### Competition Hierarchical taxonomy (like categories) used to classify content by league/tournament. URL pattern: `/competition/{slug}/` Available competitions include: Premier League, La Liga, Champions League, Brasileirão, Serie A, Bundesliga, Ligue 1, Primeira Liga, Europa League, Copa Libertadores, and many more. ## Structured Data (JSON-LD) ### On Blog Posts ```json { "@type": "NewsArticle", "headline": "...", "description": "...", "datePublished": "ISO 8601", "dateModified": "ISO 8601", "author": { "@type": "Person", "name": "..." }, "publisher": { "@type": "Organization", "name": "FootyChat" }, "image": { "@type": "ImageObject", "url": "..." }, "articleSection": "category name", "wordCount": 1234 } ``` ### On Match Analysis Posts (additional) ```json { "@type": "AnalysisNewsArticle", "about": [ { "@type": "SportsTeam", "name": "Home Team" }, { "@type": "SportsTeam", "name": "Away Team" } ], "mentions": [ { "@type": "SportsOrganization", "name": "Competition" }, { "@type": "Place", "name": "Venue" } ], "speakable": { "@type": "SpeakableSpecification", "cssSelector": [".fc-post-hero__title", ".fc-post-content > p:first-of-type"] }, "isAccessibleForFree": true } ``` ### On Prediction Pages ```json { "@type": "SportsEvent", "name": "Home vs Away", "startDate": "ISO 8601", "homeTeam": { "@type": "SportsTeam", "name": "..." }, "awayTeam": { "@type": "SportsTeam", "name": "..." }, "superEvent": { "@type": "SportsEvent", "name": "Competition" } } ``` ### On Prediction Archives ```json { "@type": "CollectionPage", "mainEntity": { "@type": "ItemList", "itemListElement": [ { "@type": "ListItem", "position": 1, "item": { "@type": "SportsEvent" } } ] } } ``` ### On All Pages - **BreadcrumbList**: Navigation path - **WebSite** (homepage): SearchAction for sitelinks - **Organization** (homepage): Name, logo, social profiles ## REST API Endpoints Base: `/wp-json/footychat/v1` | Endpoint | Method | Description | Parameters | |----------|--------|-------------|------------| | `/prognostics` | GET | List predictions | date, competition, search, confidence, sort, page, per_page | | `/prognostics/{slug}` | GET | Single prediction | slug | | `/matches/live` | GET | Live matches | competition | | `/matches/today` | GET | Today's matches | date, competition, status, page, per_page | | `/metadata/competitions` | GET | Available leagues | date, type | ## External API The FootyChat platform API at `https://api.footychat.app/api`: - Live matches: `/rooms?filter=live&include=matchinfo` - Upcoming matches: `/rooms?filter=upcoming&include=matchinfo` - Day's matches: `/rooms/search?day=YYYY-MM-DD` - Competition matches: `/competitions/{name}/matches?limit=20` - Today's prognostics: `/social-posts/prognostics/today?date=YYYY-MM-DD` - Single prognostic: `/social-posts/prognostics/{slug}` ## Meta Tags All pages include: - `` — contextual per page type - `` — proper canonical URLs - `` — noindex on search results and paginated pages - Open Graph tags: og:title, og:description, og:image, og:url, og:type, og:site_name, og:locale - Twitter Card tags: summary_large_image format - Article meta: article:published_time, article:modified_time, article:author, article:section, article:tag - AI citation: meta name="author", meta name="publisher", meta name="content-type" ## Contact - App: https://footychat.app - Blog: https://blog.footychat.app