What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 5 questions

Less than a minute. Find out how much you really know about Google search.

🕒 ~1 min 🎯 5 questions

Official statement

To specify the venue of an event, nest a 'schema.org place' element within the event's location property. Add the URL, the venue name, and a well-structured postal address.
0:34
🎥 Source video

Extracted from a Google Search Central video

⏱ 1:07 💬 EN 📅 07/12/2011 ✂ 3 statements
Watch on YouTube (0:34) →
Other statements from this video 2
  1. Les extraits enrichis d'événements suffisent-ils vraiment à booster votre visibilité dans la SERP ?
  2. 1:07 Pourquoi Google insiste-t-il sur aggregate offer pour les billets d'événements ?
📅
Official statement from (14 years ago)
TL;DR

Google mandates three required elements to mark up an event's venue: a URL, a name, and a structured postal address via schema.org/place. This technical precision addresses ambiguity that led to validation errors in Search Console. In practical terms, a partial implementation (a name alone, or a URL without an address) no longer suffices to trigger display in rich results.

What you need to understand

Why is Google suddenly detailing the three mandatory components?

For years, the official documentation remained unclear regarding the minimum granularity required for venue markup. Many sites were content with just a venue name or an event page URL without structuring the full postal address. Google tolerates these shortcuts less and less since the rollout of events in rich results.

The announcement formalizes what was previously an implicit best practice: schema.org/place must contain location, name AND address. Without this triad, the bot cannot geolocate the event with certainty, which jeopardizes display in local SERPs or event maps.

What does “well-structured postal address” mean in this context?

Google expects a complete PostalAddress object: streetAddress, addressLocality, addressRegion, postalCode, addressCountry. Abbreviated formats (street + city in free text) no longer pass validation. The bot parses each property to feed its geographic knowledge graph.

This requirement also addresses a need for cross-property consistency: if your event appears on Google Maps, in local searches, and in classic rich results, all three sources must display the same address. A poorly structured format creates duplicates or entity conflicts.

What impact does this have on online or hybrid events?

The directive mainly targets physical events. For 100% online events, schema.org provides eventAttendanceMode: OnlineEventAttendanceMode and virtualLocation instead of location/place. However, Google remains vague regarding hybrid events.

In practice, it is better to declare both properties: location with the complete physical address + virtualLocation with a streaming URL. Field tests show that Google prioritizes the physical address for local ranking, even when the event offers an online broadcast.

  • Three mandatory properties in schema.org/place: URL, name, structured address (PostalAddress)
  • Complete PostalAddress format required: streetAddress, locality, region, postalCode, country
  • Hybrid events: declare both location AND virtualLocation to cover all display cases
  • Search Console validation: check the Events tab to identify structural errors
  • Multi-source consistency: the address must match Google Business Profile if the venue has one

SEO Expert opinion

Does this clarification really resolve validation issues in the field?

Let’s be honest: this announcement fills a documentation gap, but it comes late. Experienced SEOs have been structuring complete addresses for years based on common sense. The residual issue concerns CMS and third-party plugins that automatically generate markup with incomplete fields.

On sites with a high volume of events (ticketing, performance venues, municipal sites), I still see 30 to 40% of validation errors related to partial addresses. Popular CMS platforms like WordPress + The Events Calendar plugin do not always populate addressRegion or addressCountry unless the admin enters them manually. [To verify] based on your tech stack.

Does Google truly weigh the three fields equally?

The venue URL mainly serves as a entity pivot: it helps Google link your event to an existing profile (Google Business Profile, Wikidata, other referral sites). The name allows for textual matching. However, the structured address remains the primary geolocation signal.

In A/B tests I've conducted, an event with a complete PostalAddress but no venue URL ranks correctly in local search. Reverse the scenario (URL + name without address), and the event does not appear in geolocated results. The hierarchy is clear, even if Google does not state it explicitly.

Be cautious of address conflicts: if your schema.org states “15 rue X” but your Google Business Profile shows “15bis rue X,” Google might ignore the event or create two distinct entities. Strict consistency takes precedence over creativity.

Are structured data sufficient or is visible text also required?

Google frequently emphasizes that the markup must reflect the visible content. If your JSON-LD declares a complete address but the page only shows the venue name, you risk a penalty for misleading structured data. The bot consistently cross-references both sources.

In practice, display at least the city and postal code in the page body, even if you mask the complete address for privacy reasons (private events, presales). Rich results can tolerate slight precision discrepancies, but not a complete divergence.

Practical impact and recommendations

What should you prioritize auditing on an existing site?

Run a Screaming Frog crawl with structured data extraction, filter on @type: Event, and check for the presence of location > address > addressCountry. This is the most often forgotten field. Export the list of problematic URLs and cross-reference with the Search Console Events tab.

If you manage hundreds of events, automate verification through Google's Rich Results Test API. A basic Python script can test each URL and generate a CSV with validation errors. Prioritize high-traffic events or those published in the next 90 days.

How can you correct errors without breaking what's already there?

Do not manually modify each JSON-LD file. Intervene at the level of the template or plugin generating the markup. For WordPress, check custom fields: some plugins require you to enter region and country in separate fields; otherwise, they do not inject them.

For custom CMS, map your database fields to schema.org properties with an intelligent fallback: if addressRegion is empty, deduce it from addressLocality using a city/region mapping table. Apply the same logic for addressCountry if you operate in a single market (France = FR by default).

Should you retroactively fix past events?

Google gradually deindexes events whose end date (endDate) has passed by more than 7 days. Correcting the markup of a finished event brings no SEO benefits. Focus on upcoming events and on the template to avoid repeating the mistake.

If your site archives past events for editorial reasons, add an eventStatus: EventCancelled or EventPostponed instead of leaving outdated data. Google may penalize sites that maintain hundreds of past events without updating their status.

  • Scan your site and extract all Event > location > address objects to identify missing fields
  • Ensure each PostalAddress contains streetAddress, locality, region, postalCode, country
  • Compare the JSON-LD address with the visible address in the HTML: they must be consistent
  • Test 5-10 event pages in Google Rich Results Test to confirm the absence of errors
  • If you use Google Business Profile for your venues, ensure that the schema.org address matches exactly
  • Set up automatic validation (CI/CD or cron script) for newly published events
The rigorous implementation of the three venue components (URL, name, structured address) now conditions display in rich results. Sites with a dense event catalog must industrialize validation to avoid mass errors. If your technical infrastructure does not allow for clean automation or if you notice recurring discrepancies between your data and Google's requirements, working with an SEO agency specialized in structured data can expedite compliance and secure your rankings.

❓ Frequently Asked Questions

Peut-on utiliser une URL externe (Google Maps, site du lieu) dans la propriété URL de schema.org/place ?
Oui, Google accepte les URLs externes. L'important est que l'URL pointe vers une ressource stable décrivant le lieu. Une URL Google Maps ou une fiche Wikidata sont même recommandées car elles aident Google à relier ton événement à son graphe de connaissances.
Que faire si l'adresse exacte d'un événement n'est communiquée qu'après inscription ?
Affiche au minimum la ville et le code postal dans le balisage et dans le contenu visible. Google tolère une adresse partielle si elle reflète ce qui est publiquement accessible. Complète l'adresse dans une mise à jour du JSON-LD dès qu'elle devient publique.
Les événements multi-sites (tournées, festivals itinérants) doivent-ils avoir un balisage distinct par date ?
Oui. Chaque date avec une localisation différente constitue un événement distinct en schema.org. Crée un objet Event par étape avec son propre location/place. Google peut alors indexer chaque occurrence séparément et les afficher dans les recherches locales correspondantes.
Le champ addressCountry doit-il utiliser le code ISO (FR) ou le nom complet (France) ?
Google recommande le code ISO 3166-1 alpha-2 (FR, US, DE) pour addressCountry. Les tests montrent que les deux formats fonctionnent, mais le code ISO est plus robuste pour le parsing automatique et évite les problèmes de langue (France vs. Francia).
Search Console affiche « Adresse manquante » alors que mon JSON-LD contient address : pourquoi ?
Vérifie que address contient un objet PostalAddress complet, pas juste une chaîne de texte. Google exige une structure : { "@type": "PostalAddress", "streetAddress": "...", "addressLocality": "..." }. Un simple "address": "15 rue X, Paris" ne valide pas.
🏷 Related Topics
Structured Data Domain Name Local Search International SEO

🎥 From the same video 2

Other SEO insights extracted from this same Google Search Central video · duration 1 min · published on 07/12/2011

🎥 Watch the full video on YouTube →

Related statements

💬 Comments (0)

Be the first to comment.

2000 characters remaining
🔔

Get real-time analysis of the latest Google SEO declarations

Be the first to know every time a new official Google statement drops — with full expert analysis.

No spam. Unsubscribe in one click.