What does Google say about SEO? /
Quick SEO Quiz

Test your SEO knowledge in 3 questions

Less than 30 seconds. Find out how much you really know about Google search.

🕒 ~30s 🎯 3 questions 📚 SEO Google

Official statement

For Google to index temporary sports event URLs (matches), the hash (#) must be removed from the URL. If these pages need to be discovered before or during the match, they must be available several days in advance. It is normal for them to return a 404 after the match; Google will then gradually remove them from the index.
20:23
🎥 Source video

Extracted from a Google Search Central video

⏱ 28:49 💬 EN 📅 01/07/2020 ✂ 23 statements
Watch on YouTube (20:23) →
Other statements from this video 22
  1. 0:33 Pourquoi Googlebot ignore-t-il vos cookies et comment adapter votre stratégie de contenu personnalisé ?
  2. 1:02 Googlebot crawle-t-il avec les cookies activés ou ignore-t-il votre contenu personnalisé ?
  3. 1:02 Peut-on rediriger les utilisateurs connectés vers des URLs différentes sans pénalité SEO ?
  4. 1:35 Changer de framework JavaScript fait-il chuter vos positions Google ?
  5. 1:35 Changer de framework JavaScript ruine-t-il vraiment votre SEO ?
  6. 4:46 Le HTML rendu suffit-il vraiment à garantir l'indexation du JavaScript ?
  7. 4:46 Comment vérifier si votre contenu JavaScript est réellement indexable par Google ?
  8. 5:48 Le contenu derrière login est-il vraiment invisible pour Google ?
  9. 5:48 Le contenu derrière un login est-il vraiment invisible pour Google ?
  10. 6:47 Faut-il vraiment rediriger Googlebot vers www pour contourner les erreurs CORB ?
  11. 8:42 Faut-il traiter Googlebot différemment des utilisateurs pour gérer les redirections ?
  12. 11:20 Faut-il vraiment masquer les bannières de consentement à Googlebot pour améliorer son crawl ?
  13. 11:20 Faut-il afficher les écrans de consentement à Googlebot au risque d'être pénalisé pour cloaking ?
  14. 14:00 Comment identifier précisément les éléments qui dégradent votre Cumulative Layout Shift ?
  15. 18:18 Pourquoi vos outils de test PageSpeed affichent-ils des scores LCP et FCP contradictoires ?
  16. 19:51 Pourquoi vos URLs avec hash (#) ne seront jamais indexées par Google ?
  17. 23:32 Le pré-rendu pour Googlebot : faut-il vraiment s'en passer ?
  18. 24:02 Faut-il vraiment désactiver JavaScript sur vos pages pré-rendues pour Googlebot ?
  19. 26:42 Le JSON-LD ralentit-il vraiment votre temps de chargement ?
  20. 26:42 Le balisage FAQ Schema est-il vraiment inutile pour vos pages produits ?
  21. 26:42 Le JSON-LD FAQ Schema ralentit-il vraiment votre site ?
  22. 26:42 Le balisage FAQ Schema nuit-il à votre taux de conversion ?
📅
Official statement from (5 years ago)
TL;DR

Google claims that URLs with hashes (#) cannot be indexed for temporary sports events like matches. The solution? Remove the hash and publish the pages several days before the event to allow for discovery and indexing. After the match, a 404 is acceptable: Google will gradually remove these pages from its index without any penalty.

What you need to understand

Why does Google block the indexing of URLs with hashes?

The issue is structural: fragments of URLs after the hash (#) are not sent to the server during an HTTP request. They only serve for client-side navigation in JavaScript. Googlebot, even though it executes JS, does not treat these fragments as distinct URLs to be indexed.

For sports event sites that dynamically generate match pages (e.g., site.com/match#12345), this poses a major problem. Google will only see one URL (the one before the hash) and will not be able to index each match individually. Splitt confirms what many have suspected: if you want these pages to appear in the SERPs, switch to a clean URL structure without hashes.

How long before the event should the pages be published?

Splitt mentions "several days in advance," but remains vague about the exact timeline. In practice, count at least 3 to 5 days for Googlebot to discover, crawl, and index these temporary URLs. If your site has a limited crawl budget or a low visit frequency, this timeline may extend.

The logic is simple: you need to give the engine time to crawl. If you publish a page 24 hours before the match, you risk it not being indexed in time. Submitting the URL via Search Console can speed up the process, but it’s not an absolute guarantee — especially for hundreds of simultaneous events.

What happens after the event ends?

Splitt confirms that it is normal to return a 404 after the match. There’s no need to redirect, keep ghost content, or turn the page into an archive. Google understands the temporary nature of these URLs and will gradually remove them from the index.

This approach avoids cluttering your index with thousands of outdated pages. But beware: "gradually" can mean several weeks. Don't panic if some pages remain in the results for a few days after the event — this is the expected behavior. If you want to speed up the removal, use the URL removal tool in Search Console, but this is generally not necessary.

  • Remove the hash (#) from your event URLs to allow individual indexing of each match
  • Publish the pages at least 3-5 days before the event to allow time for crawling and indexing
  • Accept the 404s after the event: Google will handle them naturally without penalties for your site
  • Monitor Search Console to ensure that temporary pages are discovered and indexed on time
  • Facilitate discovery by linking these pages from your calendar or homepage — don't rely solely on the sitemap

SEO Expert opinion

Is this recommendation consistent with field observations?

Yes, largely. It has been known for years that URLs with hashes pose indexing issues. This is not new, but Splitt officially confirms what SEOs for sports or event sites experience daily. Modern JS frameworks (React, Vue, Angular) often use hash routing to avoid server configuration — but at the cost of SEO.

What’s interesting is that Splitt admits to the acceptability of 404s post-event. Google has long been vague about handling temporary content. Here, we have clear validation: no need for soft 404s, complex redirects, or empty archive pages. A straightforward 404 is the recommended solution. [To be verified] remains the impact on crawl budget if you generate thousands of 404s each week — no quantified data provided.

What are the grey areas of this statement?

Splitt does not specify the exact indexing timeframe needed. "Several days" is vague — 2 days? 7 days? For a site with a tight crawl budget, this uncertainty can be costly in visibility. We would have liked more precise ranges depending on the type of site (large sports media vs. small amateur site).

Another missing point: what to do if the event changes date or is canceled? Should you keep the 404, redirect to a "canceled" page, or delete the URL? Nothing is mentioned. Also, no mention is made of using Event structured data for these temporary pages — which is crucial for sports rich results. We're left in the dark.

When does this rule not apply?

If your goal is not to index these pages individually, you can keep the hash without issue. For example, if you manage the display of hundreds of matches in real-time on a single page with JS filters, and you don't want to clutter the index with each match, the hash is an acceptable solution.

Similarly, if you use the hash solely for internal anchoring (e.g., site.com/calendar#basketball-section), it does not affect the indexing of the main page. The problem only pertains to sites that want to make the hash a distinct and indexable URL — which is technically impossible without server-side rewriting.

Warning: Migrating from hash URLs to clean URLs may require 301 redirects if the old URLs have been shared or linked. Do not leave these old URLs with a brutal 404 — you would lose the accumulated link juice.

Practical impact and recommendations

What should be done practically for a sports event site?

Start by auditing your current URL structure. If you’re using hashes to differentiate matches, plan a technical overhaul. Switch to a structure like /match/12345 or /events/2025-01-15/team-a-vs-team-b. This often involves revising the server-side routing (Node.js, PHP, etc.) and not just in JS.

Next, set up an automated publication schedule. If you have 50 matches a week, you cannot manually publish each page 5 days in advance. A script or a CMS configured to create the pages as soon as the sports schedule is known (often several weeks ahead) is essential. Integrate a system for automated minimal content generation (teams, date, time, venue) so that the page is crawlable immediately.

What mistakes to avoid during migration?

Do not leave your old hash URLs with 404s without redirects. If users or external sites have shared these links, you lose traffic and link juice. Set up 301 redirects to the new clean URLs — even if it's technically challenging (the server does not see the hash, it often requires passing through JS to redirect client-side, then consolidating to 301 server-side).

Another pitfall: publishing pages too late. Three days before a major match is already tight for a site with a low crawl budget. Aim for 5-7 days, or more for highly anticipated events. And don't rely solely on the sitemap — actively link these pages from your homepage or calendar to force quick discovery.

How to verify that everything works correctly?

Use Search Console to monitor the indexing of the new URLs. Check that the pages are discovered within 48 hours of publication. If not, submit them manually or reinforce the internal linking. Also, monitor 404 errors after events: they should normally appear in the reports, but without generating critical alerts.

Test with Google Search Console URL Inspection for a few typical URLs to validate that the rendering is correct, the content is extracted properly, and that no robots.txt or noindex blocking interferes. Finally, track the organic traffic to these temporary pages: if you don’t see impressions in the 3-4 days before the event, something is wrong.

  • Audit and restructure URLs to eliminate hashes
  • Automate page creation 5-7 days before each event
  • Set up 301 redirects from old hash URLs
  • Enhance internal linking to temporary pages for faster discovery
  • Monitor indexing via Search Console and adjust as necessary
  • Accept post-event 404s without corrective action — this is normal behavior
These technical optimizations — URL migration, automated publication, fine management of crawl budget — can quickly become complex to orchestrate alone, especially for sites with hundreds of monthly events. If you're short on internal resources or if your dev team is already overloaded, working with an SEO agency specializing in high-volume sites can save you precious time and avoid costly visibility errors.

❓ Frequently Asked Questions

Peut-on indexer une URL avec hash en utilisant le Push State d'History API ?
Oui, l'History API (pushState) permet de changer l'URL sans hash et de la rendre indexable. C'est la solution technique recommandée pour les SPAs qui veulent du SEO. Mais cela nécessite une configuration serveur adaptée pour servir la bonne page à chaque URL.
Combien de temps Google met-il pour retirer une page 404 de l'index ?
Cela varie entre quelques jours et plusieurs semaines selon le crawl budget du site. Google ne donne pas de délai fixe. Si vous êtes pressé, utilisez l'outil de suppression d'URL dans Search Console.
Faut-il utiliser un sitemap pour ces pages temporaires d'événements ?
C'est recommandé pour accélérer la découverte, surtout si votre site a un faible maillage interne. Mettez à jour le sitemap dès la publication des nouvelles URLs et soumettez-le dans Search Console.
Que faire si un événement est reporté ou annulé après publication de la page ?
Google ne donne pas de consigne officielle. Vous pouvez soit laisser le 404 (solution simple), soit rediriger vers une page d'annonce ou le calendrier général. Évitez de garder une page vide ou trompeuse.
Les données structurées Event doivent-elles être ajoutées sur ces pages temporaires ?
Oui, absolument. Elles sont cruciales pour apparaître dans les rich results sportifs et améliorer la visibilité. Incluez au minimum les propriétés startDate, location, performer (équipes), et eventStatus si l'événement est annulé.
🏷 Related Topics
Domain Age & History Crawl & Indexing AI & SEO Domain Name

🎥 From the same video 22

Other SEO insights extracted from this same Google Search Central video · duration 28 min · published on 01/07/2020

🎥 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.